1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/usr/bin/env narwhal
var assert = require('test/assert');
var sandbox = require('sandbox').sandbox;
var fs = require('file');
[
'absolute',
'cyclic',
'exactExports',
'hasOwnProperty',
'method',
'missing',
'monkeys',
'nested',
'relative',
'transitive',
'determinism'
].forEach(function (testName) {
exports['test ' + testName] = function () {
var prefix = fs.path(module.id).resolve(testName).join('');
var done;
var print = function (message) {
assert.isFalse(/^FAIL/.test(message));
if (/^ERROR/.test(message))
throw new Error(message);
if (/^DONE/.test(message))
done = true;
};
sandbox(
'program',
system,
{
prefix: prefix,
loader: require.loader,
print: print
}
);
assert.isTrue(done, 'done');
};
});
if (module.id == require.main)
require('os').exit(require('test/runner').run(exports));
|