summaryrefslogtreecommitdiff
path: root/deps/npm/test/common-tap.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/common-tap.js')
-rw-r--r--deps/npm/test/common-tap.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/deps/npm/test/common-tap.js b/deps/npm/test/common-tap.js
index a13a0a7cde..d6d09ed9bc 100644
--- a/deps/npm/test/common-tap.js
+++ b/deps/npm/test/common-tap.js
@@ -1,2 +1,32 @@
+var spawn = require("child_process").spawn
+
var port = exports.port = 1337
exports.registry = "http://localhost:" + port
+process.env.npm_config_loglevel = "error"
+
+var bin = exports.bin = require.resolve("../bin/npm-cli.js")
+var once = require("once")
+exports.npm = function (cmd, opts, cb) {
+ cb = once(cb)
+ cmd = [bin].concat(cmd)
+ opts = opts || {}
+
+ var stdout = ""
+ , stderr = ""
+ , node = process.execPath
+ , child = spawn(node, cmd, opts)
+
+ if (child.stderr) child.stderr.on("data", function (chunk) {
+ stderr += chunk
+ })
+
+ if (child.stdout) child.stdout.on("data", function (chunk) {
+ stdout += chunk
+ })
+
+ child.on("error", cb)
+
+ child.on("close", function (code, signal) {
+ cb(null, code, stdout, stderr)
+ })
+}