From 6ef9f9dd71620b03f039823bb082cfbeb7200416 Mon Sep 17 00:00:00 2001 From: Robert Kowalski Date: Sun, 23 Feb 2014 00:03:59 +0100 Subject: Factor test-helper out of tests Bonus: - Fix test in `startstop.js` --- test/common-tap.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'test/common-tap.js') diff --git a/test/common-tap.js b/test/common-tap.js index a13a0a7cd..c4f3f613f 100644 --- a/test/common-tap.js +++ b/test/common-tap.js @@ -1,2 +1,34 @@ +var spawn = require('child_process').spawn + var port = exports.port = 1337 exports.registry = "http://localhost:" + port + +exports.run = run +function run (cmd, t, opts, cb) { + if (!opts) + opts = {} + if (!Array.isArray(cmd)) + throw new Error("cmd must be an Array") + if (!t || !t.end) + throw new Error("node-tap instance is missing") + + var c = "" + , e = "" + , node = process.execPath + , child = spawn(node, cmd, opts) + + child.stderr.on("data", function (chunk) { + e += chunk + }) + + child.stdout.on("data", function (chunk) { + c += chunk + }) + + child.stdout.on("end", function () { + if (cb) + cb(t, c, e, { cmd: cmd, opts: opts }) + else + t.end() + }) +} -- cgit v1.2.3