Implements nimble run. Fixes #614.
This commit is contained in:
parent
36c4a39674
commit
c834faf60e
5 changed files with 216 additions and 59 deletions
14
tests/run/run.nimble
Normal file
14
tests/run/run.nimble
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# Package
|
||||
|
||||
version = "0.1.0"
|
||||
author = "Dominik Picheta"
|
||||
description = "A new awesome nimble package"
|
||||
license = "MIT"
|
||||
srcDir = "src"
|
||||
bin = @["run"]
|
||||
|
||||
|
||||
|
||||
# Dependencies
|
||||
|
||||
requires "nim >= 0.20.0"
|
||||
4
tests/run/src/run.nim
Normal file
4
tests/run/src/run.nim
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import os
|
||||
|
||||
when isMainModule:
|
||||
echo("Testing `nimble run`: ", commandLineParams())
|
||||
|
|
@ -33,8 +33,8 @@ template cd*(dir: string, body: untyped) =
|
|||
|
||||
proc execNimble(args: varargs[string]): tuple[output: string, exitCode: int] =
|
||||
var quotedArgs = @args
|
||||
quotedArgs.insert("--nimbleDir:" & installDir)
|
||||
quotedArgs.insert(nimblePath)
|
||||
quotedArgs.add("--nimbleDir:" & installDir)
|
||||
quotedArgs = quotedArgs.map((x: string) => ("\"" & x & "\""))
|
||||
|
||||
let path {.used.} = getCurrentDir().parentDir() / "src"
|
||||
|
|
@ -49,6 +49,7 @@ proc execNimble(args: varargs[string]): tuple[output: string, exitCode: int] =
|
|||
cmd = "DYLD_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib " & cmd
|
||||
|
||||
result = execCmdEx(cmd)
|
||||
checkpoint(cmd)
|
||||
checkpoint(result.output)
|
||||
|
||||
proc execNimbleYes(args: varargs[string]): tuple[output: string, exitCode: int]=
|
||||
|
|
@ -882,6 +883,30 @@ test "Passing command line arguments to a task (#633)":
|
|||
check exitCode == QuitSuccess
|
||||
check output.contains("Got it")
|
||||
|
||||
suite "nimble run":
|
||||
test "Invalid binary":
|
||||
cd "run":
|
||||
var (output, exitCode) = execNimble(
|
||||
"--debug", # Flag to enable debug verbosity in Nimble
|
||||
"run", # Run command invokation
|
||||
"blahblah", # The command to run
|
||||
)
|
||||
check exitCode == QuitFailure
|
||||
check output.contains("Binary 'blahblah' is not defined in 'run' package.")
|
||||
|
||||
test "Parameters passed to executable":
|
||||
cd "run":
|
||||
var (output, exitCode) = execNimble(
|
||||
"--debug", # Flag to enable debug verbosity in Nimble
|
||||
"run", # Run command invokation
|
||||
"run", # The command to run
|
||||
"--debug", # First argument passed to the executed command
|
||||
"check" # Second argument passed to the executed command.
|
||||
)
|
||||
check exitCode == QuitSuccess
|
||||
check output.contains("tests/run/run --debug check")
|
||||
check output.contains("""Testing `nimble run`: @["--debug", "check"]""")
|
||||
|
||||
test "compilation without warnings":
|
||||
const buildDir = "./buildDir/"
|
||||
const filesToBuild = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue