Consider this test:
var test = require('tape')
test('...', function (t) {
throw new Error('hmm')
t.end()
})
Running this through tape-run like so will cause it to succeed.
$ browserify test.js | tape-run
TAP version 13
# ...
Error: hmm
at Test.<anonymous> (http://localhost:51270/bundle.js:11:9)
at Test.bound [as _cb] (http://localhost:51270/bundle.js:5237:32)
at Test.run (http://localhost:51270/bundle.js:5253:10)
at Test.bound [as run] (http://localhost:51270/bundle.js:5237:32)
at next (http://localhost:51270/bundle.js:5055:15)
at Item.run (http://localhost:51270/bundle.js:2566:14)
at drainQueue (http://localhost:51270/bundle.js:2536:42)
$ echo $?
0