diff options
author | Forrest L Norvell <forrest@npmjs.com> | 2015-04-17 01:12:21 -0700 |
---|---|---|
committer | Chris Dickinson <christopher.s.dickinson@gmail.com> | 2015-04-17 13:26:30 -0700 |
commit | 4870213f9e30e21dcbef19282d04cc40e04035cb (patch) | |
tree | fbf8bd696c4bc40b5c5b81a4bff567b30e864f30 /deps/npm/test/common-tap.js | |
parent | 49bb7ded2c78ea6b714b5e3640584ee37a1f6668 (diff) | |
download | android-node-v8-4870213f9e30e21dcbef19282d04cc40e04035cb.tar.gz android-node-v8-4870213f9e30e21dcbef19282d04cc40e04035cb.tar.bz2 android-node-v8-4870213f9e30e21dcbef19282d04cc40e04035cb.zip |
deps: upgrade npm to 2.8.3
Diffstat (limited to 'deps/npm/test/common-tap.js')
-rw-r--r-- | deps/npm/test/common-tap.js | 83 |
1 files changed, 61 insertions, 22 deletions
diff --git a/deps/npm/test/common-tap.js b/deps/npm/test/common-tap.js index b33d3cb165..3537df6876 100644 --- a/deps/npm/test/common-tap.js +++ b/deps/npm/test/common-tap.js @@ -1,18 +1,27 @@ -var spawn = require("child_process").spawn -var path = require("path") +// cheesy hackaround for test deps (read: nock) that rely on setImmediate +if (!global.setImmediate || !require('timers').setImmediate) { + require('timers').setImmediate = global.setImmediate = function () { + var args = [arguments[0], 0].concat([].slice.call(arguments, 1)) + setTimeout.apply(this, args) + } +} + +var spawn = require('child_process').spawn +var path = require('path') var port = exports.port = 1337 -exports.registry = "http://localhost:" + port -process.env.npm_config_loglevel = "error" +exports.registry = 'http://localhost:' + port +process.env.npm_config_loglevel = 'error' -var npm_config_cache = path.resolve(__dirname, "npm_cache") +var npm_config_cache = path.resolve(__dirname, 'npm_cache') process.env.npm_config_cache = exports.npm_config_cache = npm_config_cache -process.env.npm_config_userconfig = exports.npm_config_userconfig = path.join(__dirname, "fixtures", "config", "userconfig") -process.env.npm_config_globalconfig = exports.npm_config_globalconfig = path.join(__dirname, "fixtures", "config", "globalconfig") -process.env.random_env_var = "foo" +process.env.npm_config_userconfig = exports.npm_config_userconfig = path.join(__dirname, 'fixtures', 'config', 'userconfig') +process.env.npm_config_globalconfig = exports.npm_config_globalconfig = path.join(__dirname, 'fixtures', 'config', 'globalconfig') +process.env.random_env_var = 'foo' -var bin = exports.bin = require.resolve("../bin/npm-cli.js") -var once = require("once") +var bin = exports.bin = require.resolve('../bin/npm-cli.js') +var chain = require('slide').chain +var once = require('once') exports.npm = function (cmd, opts, cb) { cb = once(cb) @@ -24,23 +33,53 @@ exports.npm = function (cmd, opts, cb) { opts.env.npm_config_cache = npm_config_cache } - var stdout = "" - , stderr = "" - , node = process.execPath - , child = spawn(node, cmd, opts) + var stdout = '' + var stderr = '' + var node = process.execPath + var child = spawn(node, cmd, opts) - if (child.stderr) child.stderr.on("data", function (chunk) { - stderr += chunk - }) + if (child.stderr) { + child.stderr.on('data', function (chunk) { + stderr += chunk + }) + } - if (child.stdout) child.stdout.on("data", function (chunk) { - stdout += chunk - }) + if (child.stdout) { + child.stdout.on('data', function (chunk) { + stdout += chunk + }) + } - child.on("error", cb) + child.on('error', cb) - child.on("close", function (code) { + child.on('close', function (code) { cb(null, code, stdout, stderr) }) return child } + +exports.makeGitRepo = function (params, cb) { + // git must be called after npm.load because it uses config + var git = require('../lib/utils/git.js') + + var root = params.path || process.cwd() + var user = params.user || 'PhantomFaker' + var email = params.email || 'nope@not.real' + var added = params.added || ['package.json'] + var message = params.message || 'stub repo' + + var opts = { cwd: root, env: { PATH: process.env.PATH }} + var commands = [ + git.chainableExec(['init'], opts), + git.chainableExec(['config', 'user.name', user], opts), + git.chainableExec(['config', 'user.email', email], opts), + git.chainableExec(['add'].concat(added), opts), + git.chainableExec(['commit', '-m', message], opts) + ] + + if (Array.isArray(params.commands)) { + commands = commands.concat(params.commands) + } + + chain(commands, cb) +} |