Merge pull request #345 from samdmarshall/fix-srcdir-path-exception

Modifying how package install path is validated
This commit is contained in:
Dominik Picheta 2017-04-25 21:23:37 +02:00 committed by GitHub
commit 9e6db081db
4 changed files with 19 additions and 1 deletions

View file

@ -79,7 +79,14 @@ proc changeRoot*(origRoot, newRoot, path: string): string =
## newRoot: /home/test/
## path: /home/dom/bar/blah/2/foo.txt
## Return value -> /home/test/bar/blah/2/foo.txt
if path.startsWith(origRoot):
## The additional check of `path.samePaths(origRoot)` is necessary to prevent
## a regression, where by ending the `srcDir` defintion in a nimble file in a
## trailing separator would cause the `path.startsWith(origRoot)` evaluation to
## fail because of the value of `origRoot` would be longer than `path` due to
## the trailing separator. This would cause this method to throw during package
## installation.
if path.startsWith(origRoot) or path.samePaths(origRoot):
return newRoot / path[origRoot.len .. path.len-1]
else:
raise newException(ValueError,

View file

@ -0,0 +1,7 @@
# Package
version = "0.1.0"
author = "Samantha Marshall"
description = "test case to validate successful install when `srcDir` value ends in a directory separator"
license = "MIT"
srcDir = "src/"

View file

View file

@ -286,6 +286,10 @@ test "issue #206":
(output, exitCode) = execNimble("install", "-y")
check exitCode == QuitSuccess
test "issue #338":
cd "issue338":
check execNimble("install", "-y").exitCode == QuitSuccess
test "can list":
check execNimble("list").exitCode == QuitSuccess