diff --git a/bin/run.js b/bin/run.js index ff18fbcad..45dc5c968 100755 --- a/bin/run.js +++ b/bin/run.js @@ -822,9 +822,9 @@ const runBeforeAfter = (options, env, tap, processDB) => { if (options.before) { if (options.ts && tsNode && /\.tsx?$/.test(options.before)) { - beforeAfter(env, ['-r', tsNode, options.before]) + beforeAfter(env, ['-r', tsNode, ...options['node-arg'], options.before]) } else { - beforeAfter(env, [options.before]) + beforeAfter(env, [...options['node-arg'], options.before]) } } @@ -832,9 +832,9 @@ const runBeforeAfter = (options, env, tap, processDB) => { /* istanbul ignore next - run after istanbul's report */ signalExit(() => { if (options.ts && tsNode && /\.tsx?$/.test(options.after)) { - beforeAfter(env, ['-r', tsNode, options.after]) + beforeAfter(env, ['-r', tsNode, ...options['node-arg'], options.after]) } else { - beforeAfter(env, [options.after]) + beforeAfter(env, [...options['node-arg'], options.after]) } }, { alwaysLast: true }) } diff --git a/tap-snapshots/test/run/before-after.js.test.cjs b/tap-snapshots/test/run/before-after.js.test.cjs index eca1774d3..b6b8d1f0b 100644 --- a/tap-snapshots/test/run/before-after.js.test.cjs +++ b/tap-snapshots/test/run/before-after.js.test.cjs @@ -10,15 +10,18 @@ exports[`test/run/before-after.js TAP basic > stderr 1`] = ` ` exports[`test/run/before-after.js TAP basic > stdout 1`] = ` +this is fine slow TAP version 13 # Subtest: cli-tests/t1.js + this is fine ok 1 - this is fine 1..1 # {time} ok 1 - cli-tests/t1.js # {time} # Subtest: cli-tests/t2.js + this is fine # Subtest: sub ok 1 - this is fine 1..1 @@ -29,6 +32,7 @@ ok 1 - cli-tests/t1.js # {time} ok 2 - cli-tests/t2.js # {time} # Subtest: cli-tests/t3.js + this is fine # Subtest: sub not ok 1 - not fine --- @@ -54,6 +58,8 @@ ok 2 - cli-tests/t2.js # {time} not ok 3 - cli-tests/t3.js # {time} --- args: + - -r + - ./cli-tests/loggy.js - cli-tests/t3.js command: {NODE} cwd: {CWD} @@ -70,6 +76,7 @@ not ok 3 - cli-tests/t3.js # {time} 1..3 # failed 1 of 3 tests # {time} +this is fine ok ` diff --git a/test/run/before-after.js b/test/run/before-after.js index c4fe91e8e..87a3f0630 100644 --- a/test/run/before-after.js +++ b/test/run/before-after.js @@ -6,6 +6,9 @@ const { } = require('./') const ok = tmpfile(t, 'ok.js', `console.log('ok')`) +const loggy = tmpfile(t, 'loggy.js', ` + console.log('this is fine') +`) const fail = tmpfile(t, 'fail.js', ` throw new Error('fail') `) @@ -31,7 +34,7 @@ t.test('sub', async t => t.fail('not fine')) t.test('basic', t => { t.plan(3) - run([`--before=${slow}`, `--after=${ok}`, ok, slow, t1, t2, t3], {}, (er, o, e) => { + run([`--node-arg=-r`, `--node-arg=./${loggy}`, `--before=${slow}`, `--after=${ok}`, ok, slow, t1, t2, t3], {}, (er, o, e) => { t.ok(er, 'error') t.matchSnapshot(o, 'stdout') t.matchSnapshot(e, 'stderr')