diff options
Diffstat (limited to 'deps/npm/test/network/git-cache-locking.js')
-rw-r--r-- | deps/npm/test/network/git-cache-locking.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/deps/npm/test/network/git-cache-locking.js b/deps/npm/test/network/git-cache-locking.js new file mode 100644 index 0000000000..29ab5709b9 --- /dev/null +++ b/deps/npm/test/network/git-cache-locking.js @@ -0,0 +1,45 @@ +var test = require('tap').test +var common = require('../common-tap') +var path = require('path') +var rimraf = require('rimraf') +var mkdirp = require('mkdirp') +var pkg = path.resolve(__dirname, 'git-cache-locking') +var tmp = path.join(pkg, 'tmp') +var cache = path.join(pkg, 'cache') +var shallowClone = Object.assign || require('util')._extend + +test('setup', function (t) { + rimraf.sync(pkg) + mkdirp.sync(path.resolve(pkg, 'node_modules')) + t.end() +}) + +test('git-cache-locking: install a git dependency', function (t) { + // disable git integration tests on Travis. + if (process.env.TRAVIS) return t.end() + + var gitEnv = shallowClone({}, process.env) + gitEnv.npm_config_cache = cache + gitEnv.npm_config_tmp = tmp + gitEnv.npm_config_prefix = pkg + gitEnv.npm_config_global = 'false' + + // package c depends on a.git#master and b.git#master + // package b depends on a.git#master + common.npm([ + 'install', + 'git://github.com/nigelzor/npm-4503-c.git' + ], { + cwd: pkg, + env: gitEnv + }, function (err, code, stdout, stderr) { + if (err) throw err + t.equal(0, code, 'npm install should succeed') + t.end() + }) +}) + +test('cleanup', function (t) { + rimraf.sync(pkg) + t.end() +}) |