From fa706aeb59bb9627b0b6740a795241d6c76dfe91 Mon Sep 17 00:00:00 2001 From: James Halliday Date: Fri, 3 May 2013 19:23:09 -0700 Subject: [PATCH] fix harness test --- index.js | 40 +++++++++++++++++++++------------------- test/harness.js | 4 ++-- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/index.js b/index.js index 693a8c6f..228da70a 100644 --- a/index.js +++ b/index.js @@ -22,7 +22,8 @@ exports = module.exports = (function () { }; })(); -function createExitHarness () { +function createExitHarness (conf) { + if (!conf) conf = {}; var harness = createHarness(); var stream = harness.createStream(); stream.pipe(createDefaultStream()); @@ -30,24 +31,25 @@ function createExitHarness () { var ended = false; stream.on('end', function () { ended = true }); - if (process.exit && process._getActiveHandles) { - var iv = setInterval(function () { - if (process._getActiveHandles().length > 1) return; - - clearInterval(iv); - setTimeout(function () { - if (ended) return; - for (var i = 0; i < harness._tests.length; i++) { - var t = harness._tests[i]; - t._exit(); - } - }, 100); - - setTimeout(function () { - process.exit(harness._exitCode); - }, 105); - }); - } + if (conf.exit === false) return harness; + if (!process.exit || !process._getActiveHandles) return harness; + + var iv = setInterval(function () { + if (process._getActiveHandles().length > 1) return; + + clearInterval(iv); + setTimeout(function () { + if (ended) return; + for (var i = 0; i < harness._tests.length; i++) { + var t = harness._tests[i]; + t._exit(); + } + }, 100); + + setTimeout(function () { + process.exit(harness._exitCode); + }, 105); + }); return harness; } diff --git a/test/harness.js b/test/harness.js index 1acca4ed..f161d56c 100644 --- a/test/harness.js +++ b/test/harness.js @@ -1,5 +1,5 @@ -var test = require('../'); -var harness = test.createHarness({ exit : false }); +var test = require('tap').test; +var harness = require('../').createHarness({ exit: false }); // minimal write stream mockery var collector = {