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:
parent
3063aedb0c
commit
8b50009e9b
6 changed files with 100 additions and 28 deletions
|
@ -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,
|
||||
};
|
||||
};
|
||||
})();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue