run-tests-parallel
Install
To add to some other module: npm install --save run-tests-parallel
To run tests in a homemade test harness: npm install --save-dev run-tests-parallel
Usage
While using the node-tap
module.
run.js
let rtp = ;//or es2015 import//import rtp from 'run-tests-parallel'; ;
script1.js
let tap = ; tap;
script2.js
let tap = ; tap;
The output of running run.js
above should look something like this:
TAP version 13
...truncated for verbosity
# failed 1 test
# time=30.827ms
function: tap.test.t
stack: |
Test.tap.test.t (script2.js:4:7)
Object.<anonymous> (script2.js:3:5)
source: |
t.ok(false);
...
not ok 2 - test unfinished
---
stack: |
Object.<anonymous> (script2.js:3:5)
test: bla 2
at:
line: 3
column: 5
file: script2.js
function: Object.<anonymous>
source: |
tap.test('bla 2', t=>{
...
1..2
# failed 2 of 2 tests
not ok 2 - bla 2 # time=38.7ms
# failed 1 test
# time=47.011ms
1..2
The API
rtp([scripts,...], options = {})
Run a bunch of test scripts. rtp()
returns an object with two streams that looks like this:
//The stream that gets all the child output stdout //The stream that gets all the child error output stderr //print() is a convenience function for //setting the pipe to standard output { thisstdout; thisstderr; }
run-tests-parallel
with all of it's options, and default values.
;
options.argv
An array of cli arguments for all the scripts. The default of options.argv
is an empty array.
options.commandOpts
An object that is used as options to the child_process
spawn
function that spawns all the scripts.
In run-tests-parallel
stdio is automatically streamed to the main process io (terminal output). See options.stdio
next:
options.stdio
The default of options.stdio
is true. Set options.stdio
to false to prevent the automatic stream to process.stdout
, and process.stderr
.
options.tap
Tell run-tests-parallel
that it should expect TAP output from all the scripts. The default of options.tap
is false.
options.failFast
Tell run-tests-parallel
whether, or not it should make the main process fail when a child process errors out. When failFast
is set to false the main parent process will keep running even if a child errors out.
options.onError
options.onError
will be called when a child process errors out.
If options.failFast
is set to true options.onError
will be called before the main process exits.
About
run-tests-parallel
runs a series of scripts in parallel, and merges the streams of those scripts into a single stream for terminal output.