aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-child-process-spawnsync-timeout.js
blob: 207315c531afd016c31494a465728cde7bfadf8d (plain)
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
'use strict';
require('../common');
const assert = require('assert');

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

var TIMER = 200;
var SLEEP = 5000;

switch (process.argv[2]) {
  case 'child':
    setTimeout(function() {
      console.log('child fired');
      process.exit(1);
    }, SLEEP);
    break;
  default:
    var start = Date.now();
    var ret = spawnSync(process.execPath, [__filename, 'child'],
                        {timeout: TIMER});
    assert.strictEqual(ret.error.errno, 'ETIMEDOUT');
    console.log(ret);
    var end = Date.now() - start;
    assert(end < SLEEP);
    assert(ret.status > 128 || ret.signal);
    break;
}