* Fix #633 - pass CLI to tasks * Add test case
This commit is contained in:
parent
2243e3fbc2
commit
e39c57482a
3 changed files with 30 additions and 1 deletions
|
|
@ -40,10 +40,18 @@ proc execNimscript(nimsFile, projectDir, actionName: string, options: Options):
|
||||||
if not isScriptResultCopied:
|
if not isScriptResultCopied:
|
||||||
nimsFileCopied.removeFile()
|
nimsFileCopied.removeFile()
|
||||||
|
|
||||||
let
|
var
|
||||||
cmd = ("nim e --hints:off --verbosity:0 -p:" & (getTempDir() / "nimblecache").quoteShell &
|
cmd = ("nim e --hints:off --verbosity:0 -p:" & (getTempDir() / "nimblecache").quoteShell &
|
||||||
" " & nimsFileCopied.quoteShell & " " & outFile.quoteShell & " " & actionName).strip()
|
" " & nimsFileCopied.quoteShell & " " & outFile.quoteShell & " " & actionName).strip()
|
||||||
|
|
||||||
|
if options.action.typ == actionCustom and actionName != "printPkgInfo":
|
||||||
|
for i in options.action.arguments:
|
||||||
|
cmd &= " " & i.quoteShell()
|
||||||
|
for key, val in options.action.flags.pairs():
|
||||||
|
cmd &= " $#$#" % [if key.len == 1: "-" else: "--", key]
|
||||||
|
if val.len != 0:
|
||||||
|
cmd &= ":" & val.quoteShell()
|
||||||
|
|
||||||
displayDebug("Executing " & cmd)
|
displayDebug("Executing " & cmd)
|
||||||
|
|
||||||
result.exitCode = execCmd(cmd)
|
result.exitCode = execCmd(cmd)
|
||||||
|
|
|
||||||
16
tests/issue633/issue633.nimble
Normal file
16
tests/issue633/issue633.nimble
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Package
|
||||||
|
|
||||||
|
version = "0.1.0"
|
||||||
|
author = "GT"
|
||||||
|
description = "Package for ensuring that issue #633 is resolved."
|
||||||
|
license = "MIT"
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
requires "nim >= 0.19.6"
|
||||||
|
# to reproduce dependency 2 must be before 1
|
||||||
|
|
||||||
|
task testTask, "Test":
|
||||||
|
for i in 0 .. paramCount():
|
||||||
|
if paramStr(i) == "--testTask":
|
||||||
|
echo "Got it"
|
||||||
|
|
@ -864,3 +864,8 @@ test "do not install single dependency multiple times (#678)":
|
||||||
let (output, exitCode) = execNimble("install", "-y")
|
let (output, exitCode) = execNimble("install", "-y")
|
||||||
check exitCode == QuitSuccess
|
check exitCode == QuitSuccess
|
||||||
check output.find("issue678_dependency_1@0.1.0 already exists") == -1
|
check output.find("issue678_dependency_1@0.1.0 already exists") == -1
|
||||||
|
|
||||||
|
test "Passing command line arguments to a task (#633)":
|
||||||
|
cd "issue633":
|
||||||
|
var (output, exitCode) = execNimble("testTask --testTask")
|
||||||
|
check output.contains("Got it")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue