Add an unit test for #678
This is an unit test for the issue with multiple downloads and installs of the same dependency package. Related to #678
This commit is contained in:
parent
871e5c65d1
commit
8cf97e0e06
3 changed files with 47 additions and 0 deletions
12
tests/issue678/issue678.nimble
Normal file
12
tests/issue678/issue678.nimble
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Package
|
||||||
|
|
||||||
|
version = "0.1.0"
|
||||||
|
author = "Ivan Bobev"
|
||||||
|
description = "Package for ensuring that issue #678 is resolved."
|
||||||
|
license = "MIT"
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
requires "nim >= 0.19.6"
|
||||||
|
# to reproduce dependency 2 must be before 1
|
||||||
|
requires "issue678_dependency_2", "issue678_dependency_1"
|
||||||
19
tests/issue678/packages.json
Normal file
19
tests/issue678/packages.json
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "issue678_dependency_1",
|
||||||
|
"url": "https://github.com/bobeff/issue678?subdir=dependency_1",
|
||||||
|
"method": "git",
|
||||||
|
"tags": [ "test" ],
|
||||||
|
"description":
|
||||||
|
"Both first and second level dependency of the issue678 package.",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "issue678_dependency_2",
|
||||||
|
"url": "https://github.com/bobeff/issue678?subdir=dependency_2",
|
||||||
|
"method": "git",
|
||||||
|
"tags": [ "test" ],
|
||||||
|
"description": "First level dependency of the issue678 package.",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
@ -844,3 +844,19 @@ test "remove skips packages with revDeps (#504)":
|
||||||
test "pass options to the compiler with `nimble install`":
|
test "pass options to the compiler with `nimble install`":
|
||||||
cd "passNimFlags":
|
cd "passNimFlags":
|
||||||
check execNimble("install", "--passNim:-d:passNimIsWorking").exitCode == QuitSuccess
|
check execNimble("install", "--passNim:-d:passNimIsWorking").exitCode == QuitSuccess
|
||||||
|
|
||||||
|
test "do not install single dependency multiple times (#678)":
|
||||||
|
# for the test to be correct, the tested package and its dependencies must not
|
||||||
|
# exist in the local cache
|
||||||
|
removeDir("nimbleDir")
|
||||||
|
cd "issue678":
|
||||||
|
testRefresh():
|
||||||
|
writeFile(configFile, """
|
||||||
|
[PackageList]
|
||||||
|
name = "local"
|
||||||
|
path = "$1"
|
||||||
|
""".unindent % (getCurrentDir() / "packages.json").replace("\\", "\\\\"))
|
||||||
|
check execNimble(["refresh"]).exitCode == QuitSuccess
|
||||||
|
let (output, exitCode) = execNimble("install", "-y")
|
||||||
|
check exitCode == QuitSuccess
|
||||||
|
check output.find("issue678_dependency_1@0.1.0 already exists") == -1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue