mirror of
https://github.com/denoland/deno.git
synced 2024-12-27 09:39:08 -05:00
fix(runtime/testing): format aggregate errors (#12183)
This commit is contained in:
parent
b20a779f7b
commit
96530df7fb
4 changed files with 56 additions and 2 deletions
|
@ -180,3 +180,9 @@ itest!(shuffle_with_seed {
|
|||
exit_code: 0,
|
||||
output: "test/shuffle.out",
|
||||
});
|
||||
|
||||
itest!(aggregate_error {
|
||||
args: "test test/aggregate_error.ts",
|
||||
exit_code: 1,
|
||||
output: "test/aggregate_error.out",
|
||||
});
|
||||
|
|
24
cli/tests/testdata/test/aggregate_error.out
vendored
Normal file
24
cli/tests/testdata/test/aggregate_error.out
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
Check [WILDCARD]/testdata/test/aggregate_error.ts
|
||||
running 1 test from [WILDCARD]/testdata/test/aggregate_error.ts
|
||||
test aggregate ... FAILED ([WILDCARD])
|
||||
|
||||
failures:
|
||||
|
||||
aggregate
|
||||
AggregateError
|
||||
Error: Error 1
|
||||
at [WILDCARD]/testdata/test/aggregate_error.ts:2:18
|
||||
[WILDCARD]
|
||||
Error: Error 2
|
||||
at [WILDCARD]/testdata/test/aggregate_error.ts:3:18
|
||||
[WILDCARD]
|
||||
at [WILDCARD]/testdata/test/aggregate_error.ts:5:9
|
||||
at [WILDCARD]
|
||||
|
||||
failures:
|
||||
|
||||
aggregate
|
||||
|
||||
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out ([WILDCARD])
|
||||
|
||||
error: Test failed
|
6
cli/tests/testdata/test/aggregate_error.ts
vendored
Normal file
6
cli/tests/testdata/test/aggregate_error.ts
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
Deno.test("aggregate", function () {
|
||||
const error1 = new Error("Error 1");
|
||||
const error2 = new Error("Error 2");
|
||||
|
||||
throw new AggregateError([error1, error2]);
|
||||
});
|
|
@ -186,6 +186,23 @@ finishing test case.`;
|
|||
ArrayPrototypePush(tests, testDef);
|
||||
}
|
||||
|
||||
function formatFailure(error) {
|
||||
if (error.errors) {
|
||||
const message = error
|
||||
.errors
|
||||
.map((error) =>
|
||||
inspectArgs([error]).replace(/^(?!\s*$)/gm, " ".repeat(4))
|
||||
)
|
||||
.join("\n");
|
||||
|
||||
return {
|
||||
failed: error.name + "\n" + message + error.stack,
|
||||
};
|
||||
}
|
||||
|
||||
return { failed: inspectArgs([error]) };
|
||||
}
|
||||
|
||||
function createTestFilter(filter) {
|
||||
return (def) => {
|
||||
if (filter) {
|
||||
|
@ -213,10 +230,11 @@ finishing test case.`;
|
|||
|
||||
try {
|
||||
await fn();
|
||||
return "ok";
|
||||
} catch (error) {
|
||||
return { "failed": inspectArgs([error]) };
|
||||
return formatFailure(error);
|
||||
}
|
||||
|
||||
return "ok";
|
||||
}
|
||||
|
||||
function getTestOrigin() {
|
||||
|
|
Loading…
Reference in a new issue