From d8563caba714bc8abf22a464a2cbc0e29aeaf434 Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Fri, 30 Oct 2020 03:06:48 +0000 Subject: [PATCH] improve resilience against spurious time-outs (#4252) --- test/reduce.js | 2 +- test/ufuzz/index.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test/reduce.js b/test/reduce.js index ec1fb0bc..ab742af4 100644 --- a/test/reduce.js +++ b/test/reduce.js @@ -593,7 +593,7 @@ function is_error(result) { } function is_timed_out(result) { - return is_error(result) && /timed out/.test(result); + return is_error(result) && /timed out/.test(result.message); } function is_statement(node) { diff --git a/test/ufuzz/index.js b/test/ufuzz/index.js index 5f6a3de8..1ebc655b 100644 --- a/test/ufuzz/index.js +++ b/test/ufuzz/index.js @@ -1369,7 +1369,12 @@ for (var round = 1; round <= num_iterations; round++) { } } // ignore difference in error message caused by Temporal Dead Zone - if (!ok && errored) ok = uglify_result.name == "ReferenceError" && original_result.name == "ReferenceError"; + if (!ok && errored && uglify_result.name == "ReferenceError" && original_result.name == "ReferenceError") ok = true; + // ignore spurious time-outs + if (!ok && errored && /timed out/.test(original_result.message) && !/timed out/.test(uglify_result.message)) { + if (!orig_result[toplevel ? 3 : 2]) orig_result[toplevel ? 3 : 2] = sandbox.run_code(original_code, toplevel, 10000); + ok = sandbox.same_stdout(orig_result[toplevel ? 3 : 2], uglify_result); + } // ignore difference in error message caused by `in` // ignore difference in depth of termination caused by infinite recursion if (!ok) { -- 2.34.1