diff options
Diffstat (limited to 'tests/newconfig')
-rw-r--r-- | tests/newconfig/bar/config.nims | 0 | ||||
-rw-r--r-- | tests/newconfig/bar/mfoo.nim | 0 | ||||
-rw-r--r-- | tests/newconfig/bar/mfoo.nim.cfg | 0 | ||||
-rw-r--r-- | tests/newconfig/bar/mfoo.nims | 0 | ||||
-rw-r--r-- | tests/newconfig/bar/nim.cfg | 0 | ||||
-rw-r--r-- | tests/newconfig/foo2/mfoo2.customext | 2 | ||||
-rw-r--r-- | tests/newconfig/mconfigcheck.nims | 9 | ||||
-rw-r--r-- | tests/newconfig/mymath.nim | 4 | ||||
-rw-r--r-- | tests/newconfig/tfoo.nim | 13 | ||||
-rw-r--r-- | tests/newconfig/tfoo.nims | 108 |
10 files changed, 136 insertions, 0 deletions
diff --git a/tests/newconfig/bar/config.nims b/tests/newconfig/bar/config.nims new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/newconfig/bar/config.nims diff --git a/tests/newconfig/bar/mfoo.nim b/tests/newconfig/bar/mfoo.nim new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/newconfig/bar/mfoo.nim diff --git a/tests/newconfig/bar/mfoo.nim.cfg b/tests/newconfig/bar/mfoo.nim.cfg new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/newconfig/bar/mfoo.nim.cfg diff --git a/tests/newconfig/bar/mfoo.nims b/tests/newconfig/bar/mfoo.nims new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/newconfig/bar/mfoo.nims diff --git a/tests/newconfig/bar/nim.cfg b/tests/newconfig/bar/nim.cfg new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/tests/newconfig/bar/nim.cfg diff --git a/tests/newconfig/foo2/mfoo2.customext b/tests/newconfig/foo2/mfoo2.customext new file mode 100644 index 000000000..66c8b1d15 --- /dev/null +++ b/tests/newconfig/foo2/mfoo2.customext @@ -0,0 +1,2 @@ +doAssert defined(nimscript) +echo "123" diff --git a/tests/newconfig/mconfigcheck.nims b/tests/newconfig/mconfigcheck.nims new file mode 100644 index 000000000..8df6715f6 --- /dev/null +++ b/tests/newconfig/mconfigcheck.nims @@ -0,0 +1,9 @@ +mode = ScriptMode.Verbose +proc build() = + echo "building nim... " + exec "sleep 10" + exec "nonexistant command" + echo getCurrentDir() + +echo "hello" +build() diff --git a/tests/newconfig/mymath.nim b/tests/newconfig/mymath.nim new file mode 100644 index 000000000..5668b448b --- /dev/null +++ b/tests/newconfig/mymath.nim @@ -0,0 +1,4 @@ + + +proc ln*(x: float): float = + return 0.5 diff --git a/tests/newconfig/tfoo.nim b/tests/newconfig/tfoo.nim new file mode 100644 index 000000000..0c6ded470 --- /dev/null +++ b/tests/newconfig/tfoo.nim @@ -0,0 +1,13 @@ +discard """ + cmd: "nim default --hint:cc:off --hint:cc $file" + output: '''hello world! 0.5 true''' + nimout: '''[NimScript] exec: gcc -v''' +""" + +when not defined(definedefine): + {.fatal: "wrong nim script configuration".} + +import math, mfriends + +discard gen[int]() +echo "hello world! ", ln 2.0, " ", compileOption("opt", "speed") diff --git a/tests/newconfig/tfoo.nims b/tests/newconfig/tfoo.nims new file mode 100644 index 000000000..f22caaacd --- /dev/null +++ b/tests/newconfig/tfoo.nims @@ -0,0 +1,108 @@ + +mode = ScriptMode.Whatif + +exec "gcc -v" + +--define:release + +--forceBuild +--path: "../generics" + +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 |