diff options
author | Rebecca Turner <me@re-becca.org> | 2017-05-10 02:06:41 +0300 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2017-05-26 04:55:08 +0300 |
commit | 6c8f95c9478c5c93e64c55a99c10ab5d39fdfb60 (patch) | |
tree | 619ab7287b4cc214c29cfebf6e723121e620c2bd /test | |
parent | 1e6cbc14042c427100e0ae5cd1234f73f2dcc0cf (diff) |
common-tap: Make common.npm support returning promsies
Diffstat (limited to 'test')
-rw-r--r-- | test/common-tap.js | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/test/common-tap.js b/test/common-tap.js index 158829264..8d9c4a0d4 100644 --- a/test/common-tap.js +++ b/test/common-tap.js @@ -3,6 +3,7 @@ var fs = require('graceful-fs') var readCmdShim = require('read-cmd-shim') var isWindows = require('../lib/utils/is-windows.js') var extend = Object.assign || require('util')._extend +var Bluebird = require('bluebird') // cheesy hackaround for test deps (read: nock) that rely on setImmediate if (!global.setImmediate || !require('timers').setImmediate) { @@ -39,6 +40,14 @@ var once = require('once') var nodeBin = exports.nodeBin = process.env.npm_node_execpath || process.env.NODE || process.execPath exports.npm = function (cmd, opts, cb) { + if (!cb) { + var prom = new Bluebird((resolve, reject) => { + cb = function (err, code, stdout, stderr) { + if (err) return reject(err) + return resolve([code, stdout, stderr]) + } + }) + } cb = once(cb) cmd = [bin].concat(cmd) opts = extend({}, opts || {}) @@ -75,7 +84,7 @@ exports.npm = function (cmd, opts, cb) { child.on('close', function (code) { cb(null, code, stdout, stderr) }) - return child + return prom || child } exports.makeGitRepo = function (params, cb) { |