From 8a64b70efe9207f4eaad818780ab3088c91899fe Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 27 Jun 2019 16:36:47 -0700 Subject: [PATCH] test: fix flaky test-vm-timeout-escape-nexttick PR-URL: https://github.com/nodejs/node/pull/28461 Fixes: https://github.com/nodejs/node/issues/24120 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- test/known_issues/known_issues.status | 2 -- .../test-vm-timeout-escape-nexttick.js | 30 +++++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/test/known_issues/known_issues.status b/test/known_issues/known_issues.status index fbc4534cf6c26c..fdf2d86bcd52bf 100644 --- a/test/known_issues/known_issues.status +++ b/test/known_issues/known_issues.status @@ -22,5 +22,3 @@ test-vm-timeout-escape-promise: PASS,FLAKY [$system==aix] [$arch==arm] -# https://github.com/nodejs/node/issues/24120 -test-vm-timeout-escape-nexttick: PASS,FLAKY diff --git a/test/known_issues/test-vm-timeout-escape-nexttick.js b/test/known_issues/test-vm-timeout-escape-nexttick.js index 40937c96d91a69..c6967cd742f9f3 100644 --- a/test/known_issues/test-vm-timeout-escape-nexttick.js +++ b/test/known_issues/test-vm-timeout-escape-nexttick.js @@ -27,16 +27,20 @@ function loop() { } } -assert.throws(() => { - vm.runInNewContext( - 'nextTick(loop); loop();', - { - hrtime, - nextTick, - loop - }, - { timeout: common.platformTimeout(10) } - ); -}, { - code: 'ERR_SCRIPT_EXECUTION_TIMEOUT' -}); +// The bug won't happen 100% reliably so run the test a small number of times to +// make sure we catch it if the bug exists. +for (let i = 0; i < 4; i++) { + assert.throws(() => { + vm.runInNewContext( + 'nextTick(loop); loop();', + { + hrtime, + nextTick, + loop + }, + { timeout: common.platformTimeout(10) } + ); + }, { + code: 'ERR_SCRIPT_EXECUTION_TIMEOUT' + }); +}