details: https://github.com/nginx/njs/commit/524431e0a88f69988ca88b4095018a58b19f62b9 branches: master commit: 524431e0a88f69988ca88b4095018a58b19f62b9 user: Dmitry Volyntsev <xei...@nginx.com> date: Thu, 5 Dec 2024 16:09:38 -0800 description: Test262: collecting all tests results before exiting.
--- test/harness/runTsuite.js | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/test/harness/runTsuite.js b/test/harness/runTsuite.js index 8103f661..f7ec8f48 100644 --- a/test/harness/runTsuite.js +++ b/test/harness/runTsuite.js @@ -19,6 +19,17 @@ async function run(tlist) { return false; } + function map(ts) { + return ts.tests.map(t => { + try { + return ts.T(ts.prepare_args(t, ts.opts)); + + } catch (e) { + return Promise.reject(e); + } + }); + } + for (let k = 0; k < tlist.length; k++) { let ts = tlist[k]; @@ -26,12 +37,19 @@ async function run(tlist) { continue; } - let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts)))); - let r = results.map((r, i) => validate(ts.tests, r, i)); + let results = await Promise.allSettled(map(ts)); + let r = results.map((r, i) => { r.passed = validate(ts.tests, r, i); return r; }); + + let passed = r.filter(r => r.passed).length; + if (passed != ts.tests.length) { + r.forEach((r, i) => { + if (!r.passed) { + console.log(` ${JSON.stringify(ts.tests[i])}\n with reason: ${r.reason}`); + } + }) - r.forEach((v, i) => { - assert.sameValue(v, true, `FAILED ${ts.name}: ${JSON.stringify(ts.tests[i])}\n with reason: ${results[i].reason}`); - }) + console.log(`${ts.name} FAILED: [${passed}/${ts.tests.length}]`); + } } } _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel