]> git.kaiwu.me - njs.git/commitdiff
Test262: collecting all tests results before exiting.
authorDmitry Volyntsev <xeioex@nginx.com>
Fri, 6 Dec 2024 00:09:38 +0000 (16:09 -0800)
committerDmitry Volyntsev <xeioexception@gmail.com>
Wed, 18 Dec 2024 23:44:35 +0000 (15:44 -0800)
test/harness/runTsuite.js

index 8103f6614df14108eba5246b973664196696ed2d..f7ec8f487db012bab0434eac2cfccb86a556ef38 100644 (file)
@@ -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}]`);
+        }
     }
 }