aboutsummaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/test/network/registry.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/npm/test/network/registry.js')
-rw-r--r--deps/node/deps/npm/test/network/registry.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/deps/node/deps/npm/test/network/registry.js b/deps/node/deps/npm/test/network/registry.js
new file mode 100644
index 00000000..3dbe23ff
--- /dev/null
+++ b/deps/node/deps/npm/test/network/registry.js
@@ -0,0 +1,72 @@
+// Run all the tests in the `npm-registry-couchapp` suite
+// This verifies that the server-side stuff still works.
+
+var common = require('../common-tap')
+var test = require('tap').test
+
+var npmExec = require.resolve('../../bin/npm-cli.js')
+var path = require('path')
+var ca = path.resolve(__dirname, '../../node_modules/npm-registry-couchapp')
+
+var which = require('which')
+
+var v = process.versions.node.split('.').map(function (n) { return parseInt(n, 10) })
+if (v[0] === 0 && v[1] < 10) {
+ console.error(
+ 'WARNING: need a recent Node for npm-registry-couchapp tests to run, have',
+ process.versions.node
+ )
+} else {
+ which('couchdb', function (er) {
+ if (er) {
+ console.error('WARNING: need couch to run test: ' + er.message)
+ } else {
+ runTests()
+ }
+ })
+}
+
+function runTests () {
+ var env = Object.assign({ TAP: 1 }, process.env)
+ env.npm = npmExec
+ // TODO: fix tap and / or nyc to handle nested invocations properly
+ env.COVERALLS_REPO_TOKEN = ''
+
+ var opts = {
+ cwd: ca,
+ stdio: 'inherit'
+ }
+ common.npm(['install'], opts, function (err, code) {
+ if (err) { throw err }
+ if (code) {
+ return test('need install to work', function (t) {
+ t.fail('install failed with: ' + code)
+ t.end()
+ })
+ } else {
+ opts = {
+ cwd: ca,
+ env: env,
+ stdio: 'inherit'
+ }
+ common.npm(['test', '--', '-Rtap', '--no-coverage'], opts, function (err, code) {
+ if (err) { throw err }
+ if (code) {
+ return test('need test to work', function (t) {
+ t.fail('test failed with: ' + code)
+ t.end()
+ })
+ }
+ opts = {
+ cwd: ca,
+ env: env,
+ stdio: 'inherit'
+ }
+ common.npm(['prune', '--production'], opts, function (err, code) {
+ if (err) { throw err }
+ process.exit(code || 0)
+ })
+ })
+ }
+ })
+}