Skip to content

Commit

Permalink
test: run faster and cleanup after run
Browse files Browse the repository at this point in the history
PR-URL: #8848
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Matthew Loring <mattloring@google.com>
Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
  • Loading branch information
geek authored and jasnell committed Oct 10, 2016
1 parent 8ec9582 commit 74c772c
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions test/fixtures/tick-processor-base.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const path = require('path');
common.refreshTmpDir();

const LOG_FILE = path.join(common.tmpDir, 'tick-processor.log');
const RETRY_TIMEOUT = 750;
const RETRY_TIMEOUT = 150;

function runTest(test) {
const proc = cp.spawn(process.execPath, [
Expand All @@ -16,7 +16,7 @@ function runTest(test) {
'--prof',
'-pe', test.code
], {
stdio: [ null, 'pipe', 'inherit' ]
stdio: [ 'ignore', 'pipe', 'inherit' ]
});

let ticks = '';
Expand All @@ -37,19 +37,25 @@ function match(pattern, parent, ticks) {
'--call-graph-size=10',
LOG_FILE
], {
stdio: [ null, 'pipe', 'inherit' ]
stdio: [ 'ignore', 'pipe', 'inherit' ]
});

let out = '';
proc.stdout.on('data', chunk => out += chunk);
proc.stdout.on('end', () => {
// Retry after timeout
if (!pattern.test(out))
return setTimeout(() => match(pattern, parent, ticks), RETRY_TIMEOUT);
proc.stdout.once('end', () => {
proc.once('exit', () => {
fs.unlinkSync(LOG_FILE);

parent.kill('SIGTERM');
// Retry after timeout
if (!pattern.test(out))
return setTimeout(() => match(pattern, parent, ticks), RETRY_TIMEOUT);

fs.unlinkSync(LOG_FILE);
parent.stdout.removeAllListeners();
parent.kill();
});

proc.stdout.removeAllListeners();
proc.kill();
});
}

Expand Down

0 comments on commit 74c772c

Please sign in to comment.