|
2 | 2 |
|
3 | 3 | const os = require('os');
|
4 | 4 | const fs = require('fs');
|
| 5 | +const child_process = require("child_process"); |
5 | 6 | const rimrafSync = require('rimraf').sync;
|
6 | 7 |
|
7 | 8 | function assertExec(cmd, desc) {
|
8 | 9 | desc = desc || 'Run ' + cmd;
|
9 | 10 | return new Promise((resolve, reject) => {
|
10 | 11 | let stderr = '';
|
11 | 12 | let stdout = '';
|
12 |
| - // console.log(`Executing: ${cmd}`); |
13 |
| - const bin = jake.createExec([cmd]); |
14 |
| - bin.addListener('error', (msg, code) => |
| 13 | + const bin = child_process.exec(cmd); |
| 14 | + bin.on('error', (msg, code) => |
15 | 15 | reject(Error(desc + ' FAIL. ' + stderr))
|
16 | 16 | );
|
17 |
| - bin.addListener('cmdEnd', (cmd) => resolve({ cmd, stdout, stderr })); |
18 |
| - bin.addListener('stdout', (data) => (stdout += data.toString())); |
19 |
| - bin.addListener('stderr', (data) => (stderr += data.toString())); |
20 |
| - bin.run(); |
| 17 | + bin.on('cmdEnd', (cmd) => resolve({ cmd, stdout, stderr })); |
| 18 | + bin.on('stdout', (data) => (stdout += data.toString())); |
| 19 | + bin.on('stderr', (data) => (stderr += data.toString())); |
21 | 20 | });
|
22 | 21 | }
|
23 | 22 |
|
24 | 23 | function assertExecError(cmd, desc) {
|
25 | 24 | desc = desc || 'Run ' + cmd;
|
26 | 25 | return new Promise((resolve, reject) => {
|
27 | 26 | let stderr = '';
|
28 |
| - // console.log(`Executing: ${cmd}`); |
29 |
| - const bin = jake.createExec([cmd]); |
30 |
| - bin.addListener('error', (msg, code) => { |
| 27 | + const bin = child_process.exec(cmd); |
| 28 | + bin.on('error', (msg, code) => { |
31 | 29 | resolve(stderr);
|
32 | 30 | });
|
33 |
| - bin.addListener('cmdEnd', () => { |
| 31 | + bin.on('cmdEnd', () => { |
34 | 32 | throw new Error('Error was expected, but none thrown');
|
35 | 33 | });
|
36 |
| - bin.addListener('stderr', (data) => (stderr += data.toString())); |
37 |
| - bin.run(); |
| 34 | + bin.on('stderr', (data) => (stderr += data.toString())); |
38 | 35 | });
|
39 | 36 | }
|
40 | 37 |
|
|
0 commit comments