X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fgit-npmignore.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fgit-npmignore.js;h=5e915a706faea7bcb924440a25455172dfddbd83;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/git-npmignore.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/git-npmignore.js new file mode 100644 index 00000000..5e915a70 --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/git-npmignore.js @@ -0,0 +1,173 @@ +var cat = require("graceful-fs").writeFileSync +var exec = require("child_process").exec +var readdir = require("graceful-fs").readdirSync +var resolve = require("path").resolve + +var mkdirp = require("mkdirp") +var rimraf = require("rimraf") +var test = require("tap").test +var tmpdir = require("osenv").tmpdir +var which = require("which") + +var common = require("../common-tap.js") + +var pkg = resolve(__dirname, "git-npmignore") +var dep = resolve(pkg, "deps", "gitch") +var packname = "gitch-1.0.0.tgz" +var packed = resolve(pkg, packname) +var modules = resolve(pkg, "node_modules") +var installed = resolve(modules, "gitch") +var expected = [ + "a.js", + "package.json", + ".npmignore" +].sort() + +var EXEC_OPTS = { + cwd : pkg +} + +var gitignore = "node_modules/\n" +var npmignore = "t.js\n" + +var a = "console.log('hi');" +var t = "require('tap').test(function (t) { t.pass('I am a test!'); t.end(); });" +var fixture = { + "name" : "gitch", + "version" : "1.0.0", + "private" : true, + "main" : "a.js" +} + + +test("setup", function (t) { + setup(function (er) { + t.ifError(er, "setup ran OK") + + t.end() + }) +}) + +test("npm pack directly from directory", function (t) { + packInstallTest(dep, t) +}) + +test("npm pack via git", function (t) { + packInstallTest("git+file://"+dep, t) +}) + +test("cleanup", function (t) { + cleanup() + + t.end() +}) + +function packInstallTest (spec, t) { + common.npm( + [ + "--loglevel", "silent", + "pack", spec + ], + EXEC_OPTS, + function (err, code, stdout, stderr) { + t.ifError(err, "npm pack ran without error") + t.notOk(code, "npm pack exited cleanly") + t.notOk(stderr, "npm pack ran silently") + t.equal(stdout.trim(), packname, "got expected package name") + + common.npm( + [ + "--loglevel", "silent", + "install", packed + ], + EXEC_OPTS, + function (err, code, stdout, stderr) { + t.ifError(err, "npm install ran without error") + t.notOk(code, "npm install exited cleanly") + t.notOk(stderr, "npm install ran silently") + + var actual = readdir(installed).sort() + t.same(actual, expected, "no unexpected files in packed directory") + + rimraf(packed, function () { + t.end() + }) + } + ) + } + ) +} + +function cleanup () { + process.chdir(tmpdir()) + rimraf.sync(pkg) +} + +function setup (cb) { + cleanup() + + mkdirp.sync(modules) + mkdirp.sync(dep) + + process.chdir(dep) + + cat(resolve(dep, ".npmignore"), npmignore) + cat(resolve(dep, ".gitignore"), gitignore) + cat(resolve(dep, "a.js"), a) + cat(resolve(dep, "t.js"), t) + cat(resolve(dep, "package.json"), JSON.stringify(fixture)) + + common.npm( + [ + "--loglevel", "silent", + "cache", "clean" + ], + EXEC_OPTS, + function (er, code, _, stderr) { + if (er) return cb(er) + if (code) return cb(new Error("npm cache nonzero exit: "+code)) + if (stderr) return cb(new Error("npm cache clean error: "+stderr)) + + which("git", function found (er, git) { + if (er) return cb(er) + + exec(git+" init", init) + + function init (er, _, stderr) { + if (er) return cb(er) + if (stderr) return cb(new Error("git init error: "+stderr)) + + exec(git+" config user.name 'Phantom Faker'", user) + } + + function user (er, _, stderr) { + if (er) return cb(er) + if (stderr) return cb(new Error("git config error: "+stderr)) + + exec(git+" config user.email nope@not.real", email) + } + + function email (er, _, stderr) { + if (er) return cb(er) + if (stderr) return cb(new Error("git config error: "+stderr)) + + exec(git+" add .", addAll) + } + + function addAll (er, _, stderr) { + if (er) return cb(er) + if (stderr) return cb(new Error("git add . error: "+stderr)) + + exec(git+" commit -m boot", commit) + } + + function commit (er, _, stderr) { + if (er) return cb(er) + if (stderr) return cb(new Error("git commit error: "+stderr)) + + cb() + } + }) + } + ) +}