UNPKG

1.38 kBJavaScriptView Raw
1#!/usr/bin/env node
2
3var assert = require('../lib/assert').getAssertModule();
4var exec = require('child_process').exec;
5
6var sprintf = require('sprintf').sprintf;
7var async = require('async');
8
9var cwd = process.cwd();
10var cmd1 = sprintf('%s/bin/whiskey --tests %s/example/test-scope-leaks.js ' +
11 '--sequential --scope-leaks --timeout 2000', cwd, cwd);
12
13var cmd2 = sprintf('%s/bin/whiskey --tests %s/example/test-scope-leaks.js ' +
14 '--concurrency 100 --scope-leaks --timeout 2000', cwd, cwd);
15
16async.series([
17 function testSequentialMode(callback) {
18 exec(cmd1, function(err, stdout, stderr) {
19 try {
20 assert.match(stdout, /leaked variables/i);
21 assert.match(stdout, /test_scope_leaks_on_success: a, b, c[^,]/i);
22 assert.match(stdout, /test_scope_leaks_on_failure: d[^,]/i);
23 }
24 catch (err2) {
25 callback(err2);
26 return;
27 }
28
29 callback();
30 });
31 },
32
33 function testParallelMode(callback) {
34 exec(cmd2, function(err, stdout, stderr) {
35 try {
36 assert.match(stdout, /leaked variables/i);
37 assert.match(stdout, /test-scope-leaks\.js:/i);
38 }
39 catch (err2) {
40 callback(err2);
41 return;
42 }
43
44 callback();
45 });
46 }],
47
48 function(err) {
49 if (err) {
50 process.exit(3);
51 }
52 else {
53 process.exit(0);
54 }
55 });