1.0.0 • Published 9 years ago
tap-bail v1.0.0
tap-bail
Abort TAP test runners on the first failing assertion.
  Similar to mocha's --bail.
Example
With tap-bail:
$ make test | tap-bail
TAP version 13
# test.js
# TAP version 13
# success
not ok 1 (unnamed assert)
  ---
    file:   /Users/julian/pro/tap-bail/test.js
    line:   5
    column: 5
    stack:
      - getCaller (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-assert.js:418:17)
      - Function.assert (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-assert.js:21:16)
      - Test._testAssert [as ok] (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-test.js:87:16)
      - Test.src (/Users/julian/pro/tap-bail/test.js:5:5)
      - Test.EventEmitter.emit (events.js:117:20)
      - Test.emit (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-test.js:104:8)
      - GlobalHarness.Harness.process (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-harness.js:87:13)
      - process._tickCallback (node.js:415:13)
      - Function.Module.runMain (module.js:499:11)
      - startup (node.js:119:16)
  ...Without tap-bail:
$ make test
TAP version 13
# test.js
# TAP version 13
# success
not ok 1 (unnamed assert)
  ---
    file:   /Users/julian/pro/tap-bail/test.js
    line:   5
    column: 5
    stack:
      - getCaller (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-assert.js:418:17)
      - Function.assert (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-assert.js:21:16)
      - Test._testAssert [as ok] (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-test.js:87:16)
      - Test.src (/Users/julian/pro/tap-bail/test.js:5:5)
      - Test.EventEmitter.emit (events.js:117:20)
      - Test.emit (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-test.js:104:8)
      - GlobalHarness.Harness.process (/Users/julian/pro/tap-bail/node_modules/tap/lib/tap-harness.js:87:13)
      - process._tickCallback (node.js:415:13)
      - Function.Module.runMain (module.js:499:11)
      - startup (node.js:119:16)
  ...
ok 2 should be equal
ok 3 should be equal
# fail
ok 4 should be equal
ok 5 (unnamed assert)
# tests 5
# pass  4
# fail  1
ok 6 ./test.js
1..6
# tests 6
# pass  5
# fail  1
make: *** [test] Error 1Compatibility
Since all tap-bail needs is TAP output it works with any language and any TAP producing library.
  When using the node tap module, be sure to pass --tap in order not to
  get the abbreviated output:
$ tap --tap test.js | tap-bailInstallation
$ npm install -g tap-bailLicense
MIT
