Skip to content

Commit

Permalink
test: speed up test-child-process-spawnsync.js
Browse files Browse the repository at this point in the history
There's a bunch of stuff in test-child-process-spawnsync.js that seems
designed to test that it is in fact blocking/synchronous. However, that
code really just tests the OS sleep command. Change `sleep 1` to `sleep
0` and shave about one second off the test run.`

We check the return status to confirm the command is successful. The
tests in this file in general would not work if spawnSync() were
asynchronous. That includes this one, as a return status would not be
available if the command where asynchronous.

PR-URL: #2542
Reviewed-By: Colin Ihrig <[email protected]>
  • Loading branch information
Trott authored and rvagg committed Aug 26, 2015
1 parent d2ffecb commit a96cc31
Showing 1 changed file with 3 additions and 14 deletions.
17 changes: 3 additions & 14 deletions test/parallel/test-child-process-spawnsync.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,10 @@ var assert = require('assert');

var spawnSync = require('child_process').spawnSync;

var TIMER = 100;
var SLEEP = 1000;

setTimeout(function() {
assert.ok(stop, 'timer should not fire before process exits');
}, TIMER);

console.log('sleep started');
var start = process.hrtime();
var ret = spawnSync('sleep', ['1']);
var stop = process.hrtime(start);
// Echo does different things on Windows and Unix, but in both cases, it does
// more-or-less nothing if there are no parameters
var ret = spawnSync('sleep', ['0']);
assert.strictEqual(ret.status, 0, 'exit status should be zero');
console.log('sleep exited', stop);
assert.strictEqual(stop[0], 1,
'sleep should not take longer or less than 1 second');

// Error test when command does not exist
var ret_err = spawnSync('command_does_not_exist', ['bar']).error;
Expand Down

0 comments on commit a96cc31

Please sign in to comment.