let fname = params.args[0];
if (fname[0] == '@') {
- let gen = `build/test/fs_test_${Math.round(Math.random() * 1000000)}`;
+ let gen = `${test_dir}/fs_test_${Math.round(Math.random() * 1000000)}`;
params.args = params.args.map(v => v);
params.args[0] = gen + fname.slice(1);
}
}
let realpath_tests = () => [
- { args: ["build/test/.."],
- check: (data) => data.endsWith("build") },
- { args: ["build/test/", {encoding:'buffer'}],
+ { args: ["test/fs/.."],
+ check: (data) => data.endsWith("test") },
+ { args: ["test/fs/ascii", {encoding:'buffer'}],
check: (data) => data instanceof Buffer },
];
return true;
} },
- { args: ["build/"],
+ { args: ["test/fs/ascii"],
check: (st) => contains(Object.keys(st),
[ "atime", "atimeMs", "birthtime", "birthtimeMs",
"blksize", "blocks", "ctime", "ctimeMs", "dev",
"gid", "ino", "mode", "mtime", "mtimeMs","nlink",
"rdev", "size", "uid" ]) },
- { args: ["build/"],
+ { args: ["test/fs/ascii"],
check: (st) => Object.keys(st).every(p => {
let v = st[p];
if (p == 'atime' || p == 'ctime' || p == 'mtime' || p == 'birthtime') {
return true;
}) },
- { args: ["build/"],
+ { args: ["test/fs/ascii"],
check: (st) => ['atime', 'birthtime', 'ctime', 'mtime'].every(p => {
let date = st[p].valueOf();
let num = st[p + 'Ms'];
return true;
}) },
- { args: ["build/"],
+ { args: [test_dir],
check: (st) => ['isBlockDevice',
'isCharacterDevice',
'isDirectory',
flags: [async]
---*/
-var fname = 'build/test/fs_promises_01';
+var fname = `${test_dir}/fs_promises_01`;
let stages = [];
flags: [async]
---*/
-var fname = 'build/test/fs_promises_02';
+var fname = `${test_dir}/fs_promises_02`;
var testSync = new Promise((resolve, reject) => {
var failed = false;
flags: [async]
---*/
-var fname = 'build/test/fs_promises_03';
+var fname = `${test_dir}/fs_promises_03`;
var testSync = () => new Promise((resolve, reject) => {
try {
flags: [async]
---*/
-var dname = 'build/test/';
-var fname = dname + 'fs_promises_04';
-var fname_utf8 = dname + 'fs_promises_αβγ_04';
-var lname = dname + 'fs_promises_04_lnk';
+var fname = `${test_dir}/fs_promises_04`;
+var fname_utf8 = `${test_dir}/fs_promises_αβγ_04`;
+var lname = `${test_dir}/fs_promises_lnk_04`;
var testSync = () => new Promise((resolve, reject) => {
try {
flags: [async]
---*/
-var rname = 'build/test/';
-var dname = rname + 'fs_promises_05';
-var dname_utf8 = rname + 'fs_promises_αβγ_05';
+var dname = `${test_dir}/fs_promises_05`;
+var dname_utf8 = `${test_dir}/fs_promises_αβγ_05`;
var fname = (d) => d + '/fs_promises_05_file';
var testSync = () => new Promise((resolve, reject) => {
flags: [async]
---*/
-var dname = 'build/test/';
+var dname = `${test_dir}/`;
var fname = (d) => d + '/fs_promises_06_file';
var fname_utf8 = (d) => d + '/fs_promises_αβγ_06';
.then(() => {
stages.push("renameSync");
})
+.catch((e) => {
+ console.log('test fs.renameSync failed', JSON.stringify(e));
+})
.then(testCallback)
.then(() => {
flags: [async]
---*/
-var dname = 'build/test/fs_promises_07';
-var dname_utf8 = 'build/test/fs_promises_αβγ_07';
+var dname = `${test_dir}/fs_promises_07`;
+var dname_utf8 = `${test_dir}/fs_promises_αβγ_07`;
var fname = (d) => d + '/fs_promises_07_file';
var lname = (d) => d + '/fs_promises_07_link';
var cname = (d) => d + '/fs_promises_αβγ_07_dir';
flags: [async]
---*/
-var dname = 'build/test/fs_promises_αβγ_08/';
+var dname = `${test_dir}/fs_promises_αβγ_08/`;
var path = 'one/two/three/αβγ';
var wipePath = (root, path, nofail) => {
flags: [async]
---*/
-var root = 'build/test/';
+var root = test_dir;
var dname = 'fs_promises_αβγ_09/';
var lname = 'fs_promises_αβγ_09_lnk';
var path = 'one/two/three/αβγ';
function has_fs() {
return fs;
}
+
+let test_dir = process.env && process.env['NJS_TEST_DIR'] || 'build';
+test_dir = `${test_dir}/test`;
default: "$NJS_TEST_DIR"
--verbose=YES enables verbose output, \
default: "$NJS_TEST_VERBOSE"
- --leave=YES disables removing of "$NJS_TEST_DIR", \
-default: "$NJS_TEST_LEAVE"
END
running $njs_test $njs_log
END
- if /bin/sh -c "($NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
+ if /bin/sh -c "(NJS_TEST_DIR=$NJS_TEST_DIR $NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then
njs_success=yes
else
njs_success=no