aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tmp/test/base.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-11-03 01:33:53 +0100
commitd1291f67551c58168af43698a359cb5ddfd266b0 (patch)
tree55a13ed29fe1915e3f42f1b1b7038dafa2e975a7 /node_modules/tmp/test/base.js
parentd0a0695fb5d34996850723f7d4b1b59c3df909c2 (diff)
downloadwallet-core-d1291f67551c58168af43698a359cb5ddfd266b0.tar.xz
node_modules
Diffstat (limited to 'node_modules/tmp/test/base.js')
-rw-r--r--node_modules/tmp/test/base.js74
1 files changed, 74 insertions, 0 deletions
diff --git a/node_modules/tmp/test/base.js b/node_modules/tmp/test/base.js
new file mode 100644
index 000000000..498d8fb3b
--- /dev/null
+++ b/node_modules/tmp/test/base.js
@@ -0,0 +1,74 @@
+var
+ assert = require('assert'),
+ path = require('path'),
+ exec = require('child_process').exec;
+
+function _spawnTestWithError(testFile, params, cb) {
+ _spawnTest(true, testFile, params, cb);
+}
+
+function _spawnTestWithoutError(testFile, params, cb) {
+ _spawnTest(false, testFile, params, cb);
+}
+
+function _spawnTest(passError, testFile, params, cb) {
+ var
+ filename,
+ node_path = process.argv[0],
+ command = [ node_path, path.join(__dirname, testFile) ].concat(params).join(' ');
+
+ exec(command, function _execDone(err, stdout, stderr) {
+ if (passError) {
+ if (err) {
+ return cb(err);
+ } else if (stderr.length > 0) {
+ return cb(stderr.toString());
+ }
+ }
+
+ return cb(null, stdout.toString());
+ });
+}
+
+function _testStat(stat, mode) {
+ assert.equal(stat.uid, process.getuid(), 'should have the same UID');
+ assert.equal(stat.gid, process.getgid(), 'should have the same GUID');
+ assert.equal(stat.mode, mode);
+}
+
+function _testPrefix(prefix) {
+ return function _testPrefixGenerated(err, name, fd) {
+ assert.equal(path.basename(name).slice(0, prefix.length), prefix, 'should have the provided prefix');
+ };
+}
+
+function _testPostfix(postfix) {
+ return function _testPostfixGenerated(err, name, fd) {
+ assert.equal(name.slice(name.length - postfix.length, name.length), postfix, 'should have the provided postfix');
+ };
+}
+
+function _testKeep(type, keep, cb) {
+ _spawnTestWithError('keep.js', [ type, keep ], cb);
+}
+
+function _testGraceful(type, graceful, cb) {
+ _spawnTestWithoutError('graceful.js', [ type, graceful ], cb);
+}
+
+function _assertName(err, name) {
+ assert.isString(name);
+ assert.isNotZero(name.length);
+}
+
+function _testUnsafeCleanup(unsafe, cb) {
+ _spawnTestWithoutError('unsafe.js', [ 'dir', unsafe ], cb);
+}
+
+module.exports.testStat = _testStat;
+module.exports.testPrefix = _testPrefix;
+module.exports.testPostfix = _testPostfix;
+module.exports.testKeep = _testKeep;
+module.exports.testGraceful = _testGraceful;
+module.exports.assertName = _assertName;
+module.exports.testUnsafeCleanup = _testUnsafeCleanup;