mode = ScriptMode.Whatif
exec "gcc -v"
--define:release
--forceBuild
--path: "../friends"
warning("uninit", off)
block: # supported syntaxes for hint,warning,switch
--hint:processing
hint("processing", on)
hint("processing", off)
switch("hint", "processing")
switch("hint", "processing:on")
switch("hint", "processing:off")
switch("hint", "[processing]")
switch("hint", "[processing]:on")
switch("hint", "[processing]:off") # leave it off
--warning:UnusedImport
switch("warning", "UnusedImport:off")
switch("warning", "UnusedImport:on")
switch("warning", "[UnusedImport]:off")
switch("warning", "[UnusedImport]:on")
switch("warning", "[UnusedImport]")
switch("warning", "UnusedImport") # leave it on
#--verbosity:2
patchFile("stdlib", "math", "mymath")
task listDirs, "lists every subdirectory":
for x in listDirs("."):
echo "DIR ", x
task default, "default target":
--define: definedefine
setCommand "c"
# bug #6327
doAssert(existsEnv("dummy") == false)
# issue #7283
putEnv("dummy", "myval")
doAssert(existsEnv("dummy"))
doAssert(getEnv("dummy") == "myval")
delEnv("dummy")
doAssert(existsEnv("dummy") == false)
# issue #7393
let wd = getCurrentDir()
cd("..")
doAssert wd != getCurrentDir()
cd(wd)
doAssert wd == getCurrentDir()
when false:
# this doesn't work in a 'koch testintall' environment
doAssert findExe("nim") != ""
# general tests
mode = ScriptMode.Verbose
doAssert getCommand() == "c"
setCommand("cpp")
doAssert getCommand() == "cpp"
setCommand("c")
doAssert cmpic("HeLLO", "hello") == 0
doAssert fileExists("tests/newconfig/tfoo.nims") == true
doAssert dirExists("tests") == true
doAssert fileExists("tests/newconfig/tfoo.nims") == true
doAssert dirExists("tests") == true
discard selfExe()
when defined(windows):
doAssert toExe("nim") == "nim.exe"
doAssert toDll("nim") == "nim.dll"
else:
doAssert toExe("nim") == "nim"
doAssert toDll("nim") == "libnim.so"
rmDir("tempXYZ")
doAssertRaises(OSError):
rmDir("tempXYZ", checkDir = true)
doAssert dirExists("tempXYZ") == false
mkDir("tempXYZ")
doAssert dirExists("tempXYZ") == true
doAssert fileExists("tempXYZ/koch.nim") == false
when false:
# this doesn't work in a 'koch testintall' environment
cpFile("koch.nim", "tempXYZ/koch.nim")
doAssert fileExists("tempXYZ/koch.nim") == true
cpDir("nimsuggest", "tempXYZ/.")
doAssert dirExists("tempXYZ/tests") == true
doAssert fileExists("tempXYZ/nimsuggest.nim") == true
rmFile("tempXYZ/koch.nim")
doAssert fileExists("tempXYZ/koch.nim") == false
rmDir("tempXYZ")
doAssert dirExists("tempXYZ") == false