summaryrefslogtreecommitdiff
path: root/tests/wpt/wpt.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/wpt.ts')
-rwxr-xr-xtests/wpt/wpt.ts32
1 files changed, 25 insertions, 7 deletions
diff --git a/tests/wpt/wpt.ts b/tests/wpt/wpt.ts
index c42ff51e6..b13a10cf4 100755
--- a/tests/wpt/wpt.ts
+++ b/tests/wpt/wpt.ts
@@ -18,6 +18,7 @@ import {
checkPy3Available,
escapeLoneSurrogates,
Expectation,
+ EXPECTATION_PATH,
generateRunInfo,
getExpectation,
getExpectFailForCase,
@@ -30,6 +31,7 @@ import {
noIgnore,
quiet,
rest,
+ runGitDiff,
runPy,
updateManifest,
wptreport,
@@ -256,7 +258,16 @@ async function run() {
await Deno.writeTextFile(wptreport, JSON.stringify(report) + "\n");
}
+ const newExpectations = newExpectation(results);
+ const tmp = Deno.makeTempFileSync();
+ saveExpectation(newExpectations, tmp);
+
const code = reportFinal(results, endTime - startTime);
+
+ // Run git diff to see what changed
+ await runGitDiff([EXPECTATION_PATH, tmp]);
+ Deno.removeSync(tmp);
+
Deno.exit(code);
}
@@ -390,6 +401,19 @@ async function update() {
await Deno.writeTextFile(json, JSON.stringify(results) + "\n");
}
+ const newExpectations = newExpectation(results);
+ saveExpectation(newExpectations);
+
+ reportFinal(results, endTime - startTime);
+
+ console.log(blue("Updated expectation.json to match reality."));
+
+ Deno.exit(0);
+}
+
+function newExpectation(
+ results: { test: TestToRun; result: TestResult }[],
+): Expectation {
const resultTests: Record<
string,
{ passed: string[]; failed: string[]; testSucceeded: boolean }
@@ -431,13 +455,7 @@ async function update() {
);
}
- saveExpectation(currentExpectation);
-
- reportFinal(results, endTime - startTime);
-
- console.log(blue("Updated expectation.json to match reality."));
-
- Deno.exit(0);
+ return currentExpectation;
}
function insertExpectation(