1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:27:46 +00:00

LibTest: Provide detailed per-file JSON output with --per-file

This makes test-js style runners dump out output in the same format as
libjs-test262's per-file output.
This commit is contained in:
Ali Mohammad Pur 2022-03-08 07:09:41 +03:30 committed by Linus Groh
parent 3063aedb0c
commit 8b50009e9b
6 changed files with 100 additions and 28 deletions

View file

@ -536,6 +536,7 @@ class ExpectationError extends Error {
__TestResults__[suiteMessage][defaultSuiteMessage] = {
result: "fail",
details: String(e),
duration: 0,
};
}
suiteMessage = defaultSuiteMessage;
@ -549,19 +550,25 @@ class ExpectationError extends Error {
suite[message] = {
result: "fail",
details: "Another test with the same message did already run",
duration: 0,
};
return;
}
const now = () => Temporal.Now.instant().epochNanoseconds;
const start = now();
const time_us = () => Number(BigInt.asIntN(53, (now() - start) / 1000n));
try {
callback();
suite[message] = {
result: "pass",
duration: time_us(),
};
} catch (e) {
suite[message] = {
result: "fail",
details: String(e),
duration: time_us(),
};
}
};
@ -577,12 +584,14 @@ class ExpectationError extends Error {
suite[message] = {
result: "fail",
details: "Another test with the same message did already run",
duration: 0,
};
return;
}
suite[message] = {
result: "skip",
duration: 0,
};
};
})();