Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/utils/tests/iojs/program.js
diff options
context:
space:
mode:
Diffstat (limited to 'utils/tests/iojs/program.js')
-rwxr-xr-xutils/tests/iojs/program.js27
1 files changed, 18 insertions, 9 deletions
diff --git a/utils/tests/iojs/program.js b/utils/tests/iojs/program.js
index 99e01ce..7e64b91 100755
--- a/utils/tests/iojs/program.js
+++ b/utils/tests/iojs/program.js
@@ -1,5 +1,6 @@
#!/usr/bin/env narwhal
+var assert = require('test/assert');
var sandbox = require('sandbox').sandbox;
var fs = require('file');
@@ -16,23 +17,31 @@ var fs = require('file');
'transitive',
'determinism'
].forEach(function (testName) {
- print('BEGIN: ' + testName);
- try {
+ 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,
- debug: true
+ print: print
}
);
- } catch (exception) {
- print('ERROR ' + (exception.message || exception));
- }
- print('END: ' + testName);
- print('');
+ assert.isTrue(done, 'done');
+ };
});
+if (module.id == require.main)
+ require('os').exit(require('test/runner').run(exports));
+