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`":
|
||||
cd "passNimFlags":
|
||||
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