diff options
author | Timothee Cour <timothee.cour2@gmail.com> | 2020-06-27 07:51:17 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-27 16:51:17 +0200 |
commit | 90808877c54a3822a978124f39f470ea95e37d4d (patch) | |
tree | 1d972fd87d549629297fb4cd220c54bcaf7f6229 /tests/osproc | |
parent | fdb37400cba234938a27cf158b6f4cf3ac57d689 (diff) | |
download | Nim-90808877c54a3822a978124f39f470ea95e37d4d.tar.gz |
testament: generic N-fold batching: windows CI 37mn=>16m (#14823)
* testament: run CI faster thanks to batching * move ta_in, tstdin into existing tosproc * move ta_out,tafalse,texitcode,tstderr into existing tosproc * joinable osproc * move tstdout into existing tosproc * spec: batchable; fix tests * fixup
Diffstat (limited to 'tests/osproc')
-rw-r--r-- | tests/osproc/ta_in.nim | 9 | ||||
-rw-r--r-- | tests/osproc/ta_out.nim | 33 | ||||
-rw-r--r-- | tests/osproc/tafalse.nim | 7 | ||||
-rw-r--r-- | tests/osproc/texecps.nim | 4 | ||||
-rw-r--r-- | tests/osproc/texitcode.nim | 26 | ||||
-rw-r--r-- | tests/osproc/tstderr.nim | 37 | ||||
-rw-r--r-- | tests/osproc/tstdin.nim | 17 | ||||
-rw-r--r-- | tests/osproc/tstdout.nim | 31 |
8 files changed, 4 insertions, 160 deletions
diff --git a/tests/osproc/ta_in.nim b/tests/osproc/ta_in.nim deleted file mode 100644 index fb294ec14..000000000 --- a/tests/osproc/ta_in.nim +++ /dev/null @@ -1,9 +0,0 @@ -discard """ -action: compile -""" - -# This file is prefixed with an "a", because other tests -# depend on it and it must be compiled first. -import strutils -let x = stdin.readLine() -echo x.parseInt + 5 diff --git a/tests/osproc/ta_out.nim b/tests/osproc/ta_out.nim deleted file mode 100644 index 01b78eb11..000000000 --- a/tests/osproc/ta_out.nim +++ /dev/null @@ -1,33 +0,0 @@ -discard """ -output: ''' -start ta_out -to stdout -to stdout -to stderr -to stderr -to stdout -to stdout -end ta_out -''' -""" - -echo "start ta_out" - -# This file is prefixed with an "a", because other tests -# depend on it and it must be compiled first. -stdout.writeLine("to stdout") -stdout.flushFile() -stdout.writeLine("to stdout") -stdout.flushFile() - -stderr.writeLine("to stderr") -stderr.flushFile() -stderr.writeLine("to stderr") -stderr.flushFile() - -stdout.writeLine("to stdout") -stdout.flushFile() -stdout.writeLine("to stdout") -stdout.flushFile() - -echo "end ta_out" diff --git a/tests/osproc/tafalse.nim b/tests/osproc/tafalse.nim deleted file mode 100644 index 05a0bfce9..000000000 --- a/tests/osproc/tafalse.nim +++ /dev/null @@ -1,7 +0,0 @@ -discard """ -exitcode: 1 -""" - -# 'tafalse.nim' to ensure it is compiled before texitcode.nim -import system -quit(QuitFailure) diff --git a/tests/osproc/texecps.nim b/tests/osproc/texecps.nim index 10715fa0f..b818fe8eb 100644 --- a/tests/osproc/texecps.nim +++ b/tests/osproc/texecps.nim @@ -1,3 +1,7 @@ +discard """ +joinable: false +""" + import osproc, streams, strutils, os const NumberOfProcesses = 13 diff --git a/tests/osproc/texitcode.nim b/tests/osproc/texitcode.nim deleted file mode 100644 index 0b05ca3cb..000000000 --- a/tests/osproc/texitcode.nim +++ /dev/null @@ -1,26 +0,0 @@ -discard """ - output: "" -""" - -import osproc, os - -const filename = when defined(Windows): "tafalse.exe" else: "tafalse" -let dir = getCurrentDir() / "tests" / "osproc" -doAssert fileExists(dir / filename) - -var p = startProcess(filename, dir) -doAssert(waitForExit(p) == QuitFailure) - -p = startProcess(filename, dir) -var running = true -while running: - running = running(p) -doAssert(waitForExit(p) == QuitFailure) - -# make sure that first call to running() after process exit returns false -p = startProcess(filename, dir) -for j in 0..<30: # refs #13449 - os.sleep(50) - if not running(p): break -doAssert(not running(p)) -doAssert(waitForExit(p) == QuitFailure) # avoid zombies diff --git a/tests/osproc/tstderr.nim b/tests/osproc/tstderr.nim deleted file mode 100644 index 55b11eba5..000000000 --- a/tests/osproc/tstderr.nim +++ /dev/null @@ -1,37 +0,0 @@ -discard """ - output: ''' -start tstderr --------------------------------------- -to stderr -to stderr --------------------------------------- -''' -""" - -echo "start tstderr" - -import osproc, os, streams - -const filename = "ta_out".addFileExt(ExeExt) - -doAssert fileExists(getCurrentDir() / "tests" / "osproc" / filename) - -var p = startProcess(filename, getCurrentDir() / "tests" / "osproc", - options={}) - -try: - let stdoutStream = p.outputStream - let stderrStream = p.errorStream - var x = newStringOfCap(120) - var output = "" - while stderrStream.readLine(x.TaintedString): - output.add(x & "\n") - - echo "--------------------------------------" - stdout.flushFile() - stderr.write output - stderr.flushFile() - echo "--------------------------------------" - stdout.flushFile() -finally: - p.close() diff --git a/tests/osproc/tstdin.nim b/tests/osproc/tstdin.nim deleted file mode 100644 index 8579680ab..000000000 --- a/tests/osproc/tstdin.nim +++ /dev/null @@ -1,17 +0,0 @@ -discard """ - output: "10" -""" -import osproc, os, streams - -const filename = when defined(Windows): "ta_in.exe" else: "ta_in" - -doAssert fileExists(getCurrentDir() / "tests" / "osproc" / filename) - -var p = startProcess(filename, getCurrentDir() / "tests" / "osproc") -p.inputStream.write("5\n") -p.inputStream.flush() - -var line = "" - -while p.outputStream.readLine(line.TaintedString): - echo line diff --git a/tests/osproc/tstdout.nim b/tests/osproc/tstdout.nim deleted file mode 100644 index e3ed3986a..000000000 --- a/tests/osproc/tstdout.nim +++ /dev/null @@ -1,31 +0,0 @@ -discard """ - output: '''-------------------------------------- -start ta_out -to stdout -to stdout -to stderr -to stderr -to stdout -to stdout -end ta_out --------------------------------------- -''' -""" -import osproc, os, streams - -const filename = when defined(Windows): "ta_out.exe" else: "ta_out" - -doAssert fileExists(getCurrentDir() / "tests" / "osproc" / filename) - -var p = startProcess(filename, getCurrentDir() / "tests" / "osproc", - options={poStdErrToStdOut}) - -let outputStream = p.outputStream -var x = newStringOfCap(120) -var output = "" -while outputStream.readLine(x.TaintedString): - output.add(x & "\n") - -echo "--------------------------------------" -stdout.write output -echo "--------------------------------------" |