warpo 3.1.0 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/debug_server/debugPath.d.ts +1 -0
- package/dist/debug_server/debugPath.js +10 -0
- package/dist/debug_server/debugPath.js.map +1 -0
- package/dist/debug_server/debugSession.d.ts +60 -2
- package/dist/debug_server/debugSession.js +883 -40
- package/dist/debug_server/debugSession.js.map +1 -1
- package/dist/debug_server/debugger.d.ts +30 -2
- package/dist/debug_server/debuggerWasmModule.d.ts +58 -3
- package/dist/debug_server/debuggerWasmModule.js +222 -14
- package/dist/debug_server/debuggerWasmModule.js.map +1 -1
- package/dist/debug_server/nodeDebugger.d.ts +37 -3
- package/dist/debug_server/nodeDebugger.js +590 -59
- package/dist/debug_server/nodeDebugger.js.map +1 -1
- package/dist/debug_server/tests/debugSession.test.js +1015 -26
- package/dist/debug_server/tests/debugSession.test.js.map +1 -1
- package/dist/debug_server/tests/launcher.js +1 -0
- package/dist/debug_server/tests/launcher.js.map +1 -1
- package/dist/debug_server/tests/testModule/debugger_array.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_array.js +9 -0
- package/dist/debug_server/tests/testModule/debugger_array.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_array_buffer.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_array_buffer.js +12 -0
- package/dist/debug_server/tests/testModule/debugger_array_buffer.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_basic.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_basic.js +9 -1
- package/dist/debug_server/tests/testModule/debugger_basic.js.map +1 -1
- package/dist/debug_server/tests/testModule/debugger_callee.d.ts +10 -0
- package/dist/debug_server/tests/testModule/debugger_callee.js +106 -0
- package/dist/debug_server/tests/testModule/debugger_callee.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_caller.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_caller.js +7 -0
- package/dist/debug_server/tests/testModule/debugger_caller.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_class.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_class.js +39 -0
- package/dist/debug_server/tests/testModule/debugger_class.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_class_array.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_class_array.js +15 -0
- package/dist/debug_server/tests/testModule/debugger_class_array.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure.js +48 -0
- package/dist/debug_server/tests/testModule/debugger_closure.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure_if.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_closure_if.js +16 -0
- package/dist/debug_server/tests/testModule/debugger_closure_if.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_global.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_global.js +11 -0
- package/dist/debug_server/tests/testModule/debugger_global.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_map.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_map.js +22 -0
- package/dist/debug_server/tests/testModule/debugger_map.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_scopes.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_scopes.js +22 -0
- package/dist/debug_server/tests/testModule/debugger_scopes.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_set.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_set.js +23 -0
- package/dist/debug_server/tests/testModule/debugger_set.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_static_array.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_static_array.js +21 -0
- package/dist/debug_server/tests/testModule/debugger_static_array.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_string.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_string.js +16 -0
- package/dist/debug_server/tests/testModule/debugger_string.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_trap.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_trap.js +9 -0
- package/dist/debug_server/tests/testModule/debugger_trap.js.map +1 -0
- package/dist/debug_server/tests/testModule/debugger_tuple.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_tuple.js +15 -0
- package/dist/debug_server/tests/testModule/debugger_tuple.js.map +1 -0
- package/dist/debug_server/tests/testModule/import_failure.d.ts +1 -0
- package/dist/debug_server/tests/testModule/import_failure.js +4 -0
- package/dist/debug_server/tests/testModule/import_failure.js.map +1 -0
- package/dist/debug_server/tests/testModule/unittest_debug.case.js +10 -0
- package/dist/debug_server/tests/testModule/unittest_debug.case.js.map +1 -0
- package/dist/debug_server/tests/testModule/unittest_debug.d.ts +1 -0
- package/dist/debug_server/tests/testModule/unittest_debug.js +6 -0
- package/dist/debug_server/tests/testModule/unittest_debug.js.map +1 -0
- package/dist/debug_server/wasmEntry.js +32 -12
- package/dist/debug_server/wasmEntry.js.map +1 -1
- package/dist/dwarf/classDebugInfo.d.ts +45 -0
- package/dist/dwarf/classDebugInfo.js +292 -0
- package/dist/dwarf/classDebugInfo.js.map +1 -0
- package/dist/{heap_analyzer/src → dwarf}/dwarfParser.js +2 -0
- package/dist/dwarf/dwarfParser.js.map +1 -0
- package/dist/dwarf/functionDebugInfo.d.ts +63 -0
- package/dist/dwarf/functionDebugInfo.js +377 -0
- package/dist/dwarf/functionDebugInfo.js.map +1 -0
- package/dist/dwarf/tests/fixtures/functionDebugInfo.d.ts +3 -0
- package/dist/dwarf/tests/fixtures/functionDebugInfo.js +24 -0
- package/dist/dwarf/tests/fixtures/functionDebugInfo.js.map +1 -0
- package/dist/dwarf/tests/functionDebugInfo.test.d.ts +1 -0
- package/dist/dwarf/tests/functionDebugInfo.test.js +102 -0
- package/dist/dwarf/tests/functionDebugInfo.test.js.map +1 -0
- package/dist/heap_analyzer/cli.d.ts +1 -0
- package/dist/heap_analyzer/cli.js +172 -0
- package/dist/heap_analyzer/cli.js.map +1 -0
- package/dist/heap_analyzer/src/constants.js +2 -1
- package/dist/heap_analyzer/src/constants.js.map +1 -1
- package/dist/heap_analyzer/src/debugInfoResolver.d.ts +4 -15
- package/dist/heap_analyzer/src/debugInfoResolver.js +20 -231
- package/dist/heap_analyzer/src/debugInfoResolver.js.map +1 -1
- package/dist/heap_analyzer/src/dominator.js +4 -1
- package/dist/heap_analyzer/src/dominator.js.map +1 -1
- package/dist/heap_analyzer/src/referenceScanner.js +7 -7
- package/dist/heap_analyzer/src/referenceScanner.js.map +1 -1
- package/dist/heap_analyzer/src/retainedSize.js +2 -0
- package/dist/heap_analyzer/src/retainedSize.js.map +1 -1
- package/dist/heap_analyzer/src/snapshot.js +1 -1
- package/dist/heap_analyzer/src/snapshot.js.map +1 -1
- package/dist/heap_analyzer/src/{tlsf.js → tlsfBlockWalker.js} +4 -3
- package/dist/heap_analyzer/src/tlsfBlockWalker.js.map +1 -0
- package/dist/heap_analyzer/src/types.d.ts +3 -32
- package/dist/heap_analyzer/src/types.js +1 -8
- package/dist/heap_analyzer/src/types.js.map +1 -1
- package/dist/heap_analyzer/tests/debugInfoResolver.test.js +1 -1
- package/dist/heap_analyzer/tests/debugInfoResolver.test.js.map +1 -1
- package/dist/heap_analyzer/tests/dwarfParser.test.js +57 -40
- package/dist/heap_analyzer/tests/dwarfParser.test.js.map +1 -1
- package/dist/heap_analyzer/tests/roots.test.js +1 -1
- package/dist/heap_analyzer/tests/roots.test.js.map +1 -1
- package/dist/heap_analyzer/tests/snapshot.test.js +4 -4
- package/dist/heap_analyzer/tests/testHelper.js +4 -7
- package/dist/heap_analyzer/tests/testHelper.js.map +1 -1
- package/dist/heap_analyzer/tests/tlsfBlockWalker.test.d.ts +1 -0
- package/dist/heap_analyzer/tests/{tlsf.test.js → tlsfBlockWalker.test.js} +2 -2
- package/dist/heap_analyzer/tests/tlsfBlockWalker.test.js.map +1 -0
- package/dist/heap_analyzer/tests/wasmExecutor.d.ts +2 -2
- package/dist/heap_analyzer/tests/wasmExecutor.js +5 -5
- package/dist/heap_analyzer/tests/wasmExecutor.js.map +1 -1
- package/dist/runtime/objectLayout.d.ts +10 -0
- package/dist/runtime/objectLayout.js +13 -0
- package/dist/runtime/objectLayout.js.map +1 -0
- package/dist/scripts/lib.d.ts +1 -0
- package/dist/scripts/lib.js +86 -22
- package/dist/scripts/lib.js.map +1 -1
- package/dist/test_runner/cli.d.ts +0 -1
- package/dist/test_runner/cli.js +37 -19
- package/dist/test_runner/cli.js.map +1 -1
- package/dist/test_runner/config.d.ts +3 -0
- package/dist/test_runner/config.js +8 -0
- package/dist/test_runner/config.js.map +1 -0
- package/dist/test_runner/core/analyze.js +12 -3
- package/dist/test_runner/core/analyze.js.map +1 -1
- package/dist/test_runner/core/compile.js +1 -4
- package/dist/test_runner/core/compile.js.map +1 -1
- package/dist/test_runner/core/execute.js +20 -3
- package/dist/test_runner/core/execute.js.map +1 -1
- package/dist/test_runner/executionResult.js +10 -8
- package/dist/test_runner/executionResult.js.map +1 -1
- package/dist/test_runner/generator/table-generator/index.js +4 -2
- package/dist/test_runner/generator/table-generator/index.js.map +1 -1
- package/dist/test_runner/parser/index.js +6 -5
- package/dist/test_runner/parser/index.js.map +1 -1
- package/dist/test_runner/parser/singleFileAnalysis.js +7 -4
- package/dist/test_runner/parser/singleFileAnalysis.js.map +1 -1
- package/dist/test_runner/parser/singleFunctionAnalysis.js +1 -1
- package/dist/test_runner/parser/singleFunctionAnalysis.js.map +1 -1
- package/dist/test_runner/utils/errorTraceHandler.js +2 -1
- package/dist/test_runner/utils/errorTraceHandler.js.map +1 -1
- package/dist/test_runner/utils/index.js +9 -2
- package/dist/test_runner/utils/index.js.map +1 -1
- package/dist/test_runner/utils/interface.js +2 -1
- package/dist/test_runner/utils/interface.js.map +1 -1
- package/dist/test_runner/utils/pathResolver.js +9 -7
- package/dist/test_runner/utils/pathResolver.js.map +1 -1
- package/dist/test_runner/utils/wasm.js +16 -8
- package/dist/test_runner/utils/wasm.js.map +1 -1
- package/dist/trace_visualizer.d.ts +2 -0
- package/dist/trace_visualizer.js +18 -0
- package/dist/trace_visualizer.js.map +1 -0
- package/dist/warpo.js +2 -1
- package/dist/warpo.js.map +1 -1
- package/package.json +10 -5
- package/dist/heap_analyzer/src/dwarfParser.js.map +0 -1
- package/dist/heap_analyzer/src/tlsf.js.map +0 -1
- package/dist/heap_analyzer/tests/tlsf.test.js.map +0 -1
- /package/dist/{heap_analyzer/tests/tlsf.test.d.ts → debug_server/tests/testModule/unittest_debug.case.d.ts} +0 -0
- /package/dist/{heap_analyzer/src → dwarf}/dwarfParser.d.ts +0 -0
- /package/dist/heap_analyzer/src/{tlsf.d.ts → tlsfBlockWalker.d.ts} +0 -0
package/dist/test_runner/cli.js
CHANGED
|
@@ -1,13 +1,30 @@
|
|
|
1
|
-
#!/usr/bin/env -S node --experimental-wasi-unstable-preview1
|
|
2
1
|
// Copyright (C) 2025 wasm-ecosystem
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
3
|
import chalk from "chalk";
|
|
5
4
|
import fs from "fs-extra";
|
|
6
5
|
import { resolve } from "node:path";
|
|
7
|
-
import { pathToFileURL } from "node:url";
|
|
8
6
|
import { Command } from "commander";
|
|
9
7
|
import { validateArgument, start } from "./index.js";
|
|
8
|
+
import { loadConfig } from "./config.js";
|
|
10
9
|
import { Repository } from "./utils/name.js";
|
|
10
|
+
function parseCollectCoverage(optionValue, fallback, enabledByDefault) {
|
|
11
|
+
if (optionValue === "false") {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (optionValue === "true") {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return fallback ?? enabledByDefault;
|
|
18
|
+
}
|
|
19
|
+
function formatUnknownError(error) {
|
|
20
|
+
if (error instanceof Error) {
|
|
21
|
+
return error.stack ?? error.message;
|
|
22
|
+
}
|
|
23
|
+
if (typeof error === "string") {
|
|
24
|
+
return error;
|
|
25
|
+
}
|
|
26
|
+
return "unknown error";
|
|
27
|
+
}
|
|
11
28
|
function createProgram() {
|
|
12
29
|
const program = new Command();
|
|
13
30
|
program
|
|
@@ -26,34 +43,32 @@ export async function runFromCliArgs(args) {
|
|
|
26
43
|
const program = createProgram();
|
|
27
44
|
program.parse(args, { from: "user" });
|
|
28
45
|
const options = program.opts();
|
|
29
|
-
const configPath = resolve(".", options
|
|
46
|
+
const configPath = resolve(".", options.config);
|
|
30
47
|
if (!fs.pathExistsSync(configPath)) {
|
|
31
48
|
console.error(chalk.redBright("Miss config file") + "\n");
|
|
32
49
|
console.error(program.helpInformation());
|
|
33
50
|
return 3;
|
|
34
51
|
}
|
|
35
|
-
const config =
|
|
52
|
+
const config = await loadConfig(configPath);
|
|
36
53
|
const includes = config.include;
|
|
37
54
|
if (includes === undefined) {
|
|
38
55
|
console.error(chalk.redBright("Miss include in config file") + "\n");
|
|
39
56
|
return 3;
|
|
40
57
|
}
|
|
41
|
-
const excludes = config.exclude
|
|
58
|
+
const excludes = config.exclude ?? [];
|
|
42
59
|
validateArgument(includes, excludes);
|
|
43
|
-
const testFiles = options
|
|
44
|
-
const onlyFailures = options
|
|
45
|
-
const testNamePattern = options
|
|
60
|
+
const testFiles = options.testFiles ?? null;
|
|
61
|
+
const onlyFailures = options.onlyFailures || false;
|
|
62
|
+
const testNamePattern = options.testNamePattern ?? null;
|
|
46
63
|
if (onlyFailures && testNamePattern !== null) {
|
|
47
64
|
console.error(chalk.redBright("Cannot use --onlyFailures and --testNamePattern together") + "\n");
|
|
48
65
|
return 3;
|
|
49
66
|
}
|
|
50
67
|
// if enabled testcase or testNamePattern or onlyFailures, disable collectCoverage by default
|
|
51
|
-
const collectCoverage = (options
|
|
52
|
-
config.collectCoverage ??
|
|
53
|
-
(testFiles === null && options["testNamePattern"] === undefined && !onlyFailures);
|
|
68
|
+
const collectCoverage = parseCollectCoverage(options.collectCoverage, config.collectCoverage, testFiles === null && options.testNamePattern === undefined && !onlyFailures);
|
|
54
69
|
const entryFiles = config.entryFiles ?? null;
|
|
55
|
-
const warnLimitValue = options
|
|
56
|
-
const errorLimitValue = options
|
|
70
|
+
const warnLimitValue = options.coverageLimit?.at(1);
|
|
71
|
+
const errorLimitValue = options.coverageLimit?.at(0);
|
|
57
72
|
const testOption = {
|
|
58
73
|
includes,
|
|
59
74
|
excludes,
|
|
@@ -62,11 +77,13 @@ export async function runFromCliArgs(args) {
|
|
|
62
77
|
testNamePattern,
|
|
63
78
|
collectCoverage,
|
|
64
79
|
onlyFailures,
|
|
65
|
-
flags: config.flags
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
mode: options["mode"] || config.mode || "table",
|
|
80
|
+
flags: config.flags ?? "",
|
|
81
|
+
outputFolder: options.output ?? config.output ?? "coverage",
|
|
82
|
+
mode: options.mode ?? config.mode ?? "table",
|
|
69
83
|
};
|
|
84
|
+
if (config.imports !== undefined) {
|
|
85
|
+
testOption.imports = config.imports;
|
|
86
|
+
}
|
|
70
87
|
if (warnLimitValue !== undefined) {
|
|
71
88
|
testOption.warnLimit = Number(warnLimitValue);
|
|
72
89
|
}
|
|
@@ -76,8 +93,9 @@ export async function runFromCliArgs(args) {
|
|
|
76
93
|
try {
|
|
77
94
|
return await start(testOption);
|
|
78
95
|
}
|
|
79
|
-
catch (
|
|
80
|
-
|
|
96
|
+
catch (error) {
|
|
97
|
+
const message = formatUnknownError(error);
|
|
98
|
+
console.error(chalk.redBright("framework crash, error message: ") + chalk.yellowBright(message) + "\n");
|
|
81
99
|
console.error(`please submit an issue at ${Repository}/issues`);
|
|
82
100
|
return 255;
|
|
83
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../tools/test_runner/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../tools/test_runner/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (C) 2026 wasm-ecosystem
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
export async function loadConfig(configPath) {
|
|
5
|
+
const configModule = (await import(pathToFileURL(configPath).href));
|
|
6
|
+
return configModule.default;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../tools/test_runner/config.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAA8B,CAAC;IACjG,OAAO,YAAY,CAAC,OAAO,CAAC;AAC9B,CAAC"}
|
|
@@ -5,6 +5,15 @@ import ignore from "ignore";
|
|
|
5
5
|
import { join, relative, resolve } from "node:path";
|
|
6
6
|
import { getIncludeFiles } from "../utils/pathResolver.js";
|
|
7
7
|
import assert from "node:assert";
|
|
8
|
+
function createRegexFilter(regexPattern) {
|
|
9
|
+
return (fullTestName) => regexPattern.test(fullTestName);
|
|
10
|
+
}
|
|
11
|
+
function createFailedNameFilter(failedTestNames) {
|
|
12
|
+
return (fullTestName) => failedTestNames.includes(fullTestName);
|
|
13
|
+
}
|
|
14
|
+
function acceptAllTests() {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
8
17
|
export function analyze({ includes, excludes, testNamePattern, testFiles, entryFiles }, failedTestNames) {
|
|
9
18
|
const testCodePaths = testFiles ?? getRelatedFiles(includes, excludes, (path) => path.endsWith(".test.ts"));
|
|
10
19
|
const sourceCodePaths = getRelatedFiles(includes, excludes, (path) => path.endsWith(".ts") && !path.endsWith(".test.ts"));
|
|
@@ -28,12 +37,12 @@ function getFilterByName(testNamePattern, failedTestNames) {
|
|
|
28
37
|
assert(!(testNamePattern !== null && failedTestNames.length > 0), "Cannot use testNamePattern and failedTestNames together");
|
|
29
38
|
if (testNamePattern !== null) {
|
|
30
39
|
const regexPattern = new RegExp(testNamePattern);
|
|
31
|
-
return (
|
|
40
|
+
return createRegexFilter(regexPattern);
|
|
32
41
|
}
|
|
33
42
|
if (failedTestNames.length > 0) {
|
|
34
|
-
return (
|
|
43
|
+
return createFailedNameFilter(failedTestNames);
|
|
35
44
|
}
|
|
36
|
-
return
|
|
45
|
+
return acceptAllTests;
|
|
37
46
|
}
|
|
38
47
|
// a. include in config
|
|
39
48
|
// b. exclude in config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../tools/test_runner/core/analyze.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,MAAM,MAAM,aAAa,CAAC;AAWjC,MAAM,UAAU,OAAO,CACrB,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAiB,EAC7E,eAAyB;IAEzB,MAAM,aAAa,GAAG,SAAS,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACpH,MAAM,eAAe,GAAG,eAAe,CACrC,QAAQ,EACR,QAAQ,EACR,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrE,CAAC;IACF,OAAO;QACL,mDAAmD;QACnD,4DAA4D;QAC5D,aAAa,EAAE,aAAa;QAC5B,6CAA6C;QAC7C,eAAe,EAAE,eAAe;QAChC,UAAU,EAAE,UAAU,IAAI,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC;QAClE,YAAY,EAAE,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAkB,EAAE,eAAyB;IAClE,2CAA2C;IAC3C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,eAAe,CAAC,eAA8B,EAAE,eAAyB;IAChF,MAAM,CACJ,CAAC,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,EACzD,yDAAyD,CAC1D,CAAC;IACF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../tools/test_runner/core/analyze.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join
|
|
1
|
+
import { join } from "node:path";
|
|
2
2
|
import { compileImpl } from "./compiler.js";
|
|
3
3
|
import { WebAssemblyModule } from "../utils/wasm.js";
|
|
4
4
|
export async function compile(testCodePaths, entryFiles, option) {
|
|
@@ -12,9 +12,6 @@ export async function compile(testCodePaths, entryFiles, option) {
|
|
|
12
12
|
});
|
|
13
13
|
return ret;
|
|
14
14
|
}
|
|
15
|
-
function getNewPath(newFolder, oldFolder, srcPath) {
|
|
16
|
-
return join(newFolder, relative(oldFolder, srcPath)).replaceAll(/\\/g, "/");
|
|
17
|
-
}
|
|
18
15
|
function combineWithEntryFiles({ testCodePaths, entryFiles, }) {
|
|
19
16
|
// Because AS has recursive import resolution issue.
|
|
20
17
|
// put entryFiles firstly will force ASC compile entry file firstly, which can avoid compilation failed due to test files import ordering
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,aAAuB,EACvB,UAAoB,EACpB,MAAqB;IAErB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACrF,MAAM,WAAW,CAAC;QAChB,OAAO,EAAE,qBAAqB,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;QAC7D,MAAM,EAAE,GAAG;QACX,gBAAgB,EAAE,KAAK;QACvB,eAAe;KAChB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,EAC7B,aAAa,EACb,UAAU,GAIX;IACC,oDAAoD;IACpD,yIAAyI;IACzI,OAAO,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -6,12 +6,13 @@ import { MockStatusRecorder } from "./mockStatusRecorder.js";
|
|
|
6
6
|
import { CoverageRecorder } from "./covRecorder.js";
|
|
7
7
|
import { handleWebAssemblyError } from "../utils/errorTraceHandler.js";
|
|
8
8
|
import { injectDefaultFunction } from "../utils/index.js";
|
|
9
|
+
import * as inspector from "node:inspector";
|
|
9
10
|
async function nodeExecutor(wasmModule, filterByName, imports) {
|
|
10
11
|
const executionRecorder = new ExecutionRecorder();
|
|
11
12
|
const coverageRecorder = new CoverageRecorder();
|
|
12
13
|
const mockStatusRecorder = new MockStatusRecorder();
|
|
13
14
|
const importsArg = new ImportsArgument(executionRecorder);
|
|
14
|
-
const userDefinedImportsObject = imports === undefined ? {} : imports(importsArg);
|
|
15
|
+
const userDefinedImportsObject = imports === undefined || imports === null ? {} : imports(importsArg);
|
|
15
16
|
const importObject = {
|
|
16
17
|
__unittest_framework_env: {
|
|
17
18
|
...executionRecorder.getCollectionFuncSet(importsArg),
|
|
@@ -26,6 +27,9 @@ async function nodeExecutor(wasmModule, filterByName, imports) {
|
|
|
26
27
|
importsArg.module = ins.module;
|
|
27
28
|
importsArg.instance = ins.instance;
|
|
28
29
|
importsArg.exports = ins.exports;
|
|
30
|
+
if (inspector.url() !== undefined) {
|
|
31
|
+
inspector.waitForDebugger();
|
|
32
|
+
}
|
|
29
33
|
let isCrashed = false; // we don't want to crash any code after crash. AS' heap may be broken.
|
|
30
34
|
const exceptionHandler = async (error) => {
|
|
31
35
|
if (error instanceof WebAssembly.RuntimeError) {
|
|
@@ -41,10 +45,23 @@ async function nodeExecutor(wasmModule, filterByName, imports) {
|
|
|
41
45
|
throw new Error("node executor abort");
|
|
42
46
|
};
|
|
43
47
|
await executionRecorder.runTestFunction(`${wasmModule.baseName} - init`, () => {
|
|
44
|
-
ins.exports
|
|
48
|
+
const exports = ins.exports;
|
|
49
|
+
const unitTestStart = exports.__unit_test_start;
|
|
50
|
+
if (typeof unitTestStart !== "function") {
|
|
51
|
+
throw new TypeError("missing __unit_test_start export");
|
|
52
|
+
}
|
|
53
|
+
unitTestStart();
|
|
45
54
|
}, exceptionHandler);
|
|
46
55
|
const execTestFunction = (functionIndex) => {
|
|
47
|
-
ins.exports.table
|
|
56
|
+
const table = ins.exports.table;
|
|
57
|
+
if (!(table instanceof WebAssembly.Table)) {
|
|
58
|
+
throw new TypeError("missing wasm function table");
|
|
59
|
+
}
|
|
60
|
+
const fn = table.get(functionIndex);
|
|
61
|
+
if (typeof fn !== "function") {
|
|
62
|
+
throw new TypeError(`missing wasm table function at index ${functionIndex}`);
|
|
63
|
+
}
|
|
64
|
+
fn();
|
|
48
65
|
};
|
|
49
66
|
for (const testCase of executionRecorder.testCases) {
|
|
50
67
|
if (isCrashed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../tools/test_runner/core/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAW,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAmB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAkB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../tools/test_runner/core/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,16 +9,17 @@ export class ExecutionResultSummary {
|
|
|
9
9
|
total = 0;
|
|
10
10
|
failedInfos = new Map();
|
|
11
11
|
#prepareFailedInfos(testcaseName) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const failedInfo = this.failedInfos.get(testcaseName);
|
|
13
|
+
if (failedInfo !== undefined) {
|
|
14
|
+
return failedInfo;
|
|
14
15
|
}
|
|
15
|
-
const
|
|
16
|
+
const newFailedInfo = {
|
|
16
17
|
hasCrash: false,
|
|
17
18
|
assertMessages: [],
|
|
18
19
|
logMessages: [],
|
|
19
20
|
};
|
|
20
|
-
this.failedInfos.set(testcaseName,
|
|
21
|
-
return
|
|
21
|
+
this.failedInfos.set(testcaseName, newFailedInfo);
|
|
22
|
+
return newFailedInfo;
|
|
22
23
|
}
|
|
23
24
|
#processAssertInfo(failedInfo, expectInfo) {
|
|
24
25
|
for (const [testcaseName, value] of json2map(failedInfo)) {
|
|
@@ -47,8 +48,9 @@ export class ExecutionResultSummary {
|
|
|
47
48
|
*/
|
|
48
49
|
#processLogMessages(failedLogMessages) {
|
|
49
50
|
for (const [testcaseName, failedInfo] of this.failedInfos) {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
const logMessages = failedLogMessages[testcaseName];
|
|
52
|
+
if (logMessages !== undefined) {
|
|
53
|
+
failedInfo.logMessages = failedInfo.logMessages.concat(logMessages);
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -90,7 +92,7 @@ export class ExecutionResultSummary {
|
|
|
90
92
|
#printErrorMessage(log) {
|
|
91
93
|
log(chalk.red("Error Message: "));
|
|
92
94
|
// sort failedInfos by testcaseName to keep stability for e2e testing
|
|
93
|
-
const failedInfosArray = Array.from(this.failedInfos.entries()).
|
|
95
|
+
const failedInfosArray = Array.from(this.failedInfos.entries()).toSorted((a, b) => a[0].localeCompare(b[0]));
|
|
94
96
|
for (const [testcaseName, { hasCrash, assertMessages, logMessages }] of failedInfosArray) {
|
|
95
97
|
log(` ${testcaseName}: `);
|
|
96
98
|
for (const assertMessage of assertMessages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionResult.js","sourceRoot":"","sources":["../../tools/test_runner/executionResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EASL,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;AAE/B,MAAM,OAAO,sBAAsB;IACjC,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC;IACV,WAAW,GAAkB,IAAI,GAAG,EAAE,CAAC;IAEvC,mBAAmB,CAAC,YAA0B;QAC5C,
|
|
1
|
+
{"version":3,"file":"executionResult.js","sourceRoot":"","sources":["../../tools/test_runner/executionResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EASL,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;AAE/B,MAAM,OAAO,sBAAsB;IACjC,IAAI,GAAG,CAAC,CAAC;IACT,KAAK,GAAG,CAAC,CAAC;IACV,WAAW,GAAkB,IAAI,GAAG,EAAE,CAAC;IAEvC,mBAAmB,CAAC,YAA0B;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,aAAa,GAAe;YAChC,QAAQ,EAAE,KAAK;YACf,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,EAAE;SAChB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,UAA6B,EAAE,UAA6B;QAC7E,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAkB,UAAU,CAAC,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC;gBACxD,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,sBAAsB,CAAC,CAAC;gBACtD,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;gBAClD,IAAI,QAAQ,GAAG,GAAG,aAAa,IAAI,EAAE,YAAY,WAAW,aAAa,WAAW,EAAE,CAAC;gBACvF,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC1B,QAAQ,GAAG,GAAG,aAAa,IAAI,EAAE,gBAAgB,WAAW,iBAAiB,WAAW,EAAE,CAAC;gBAC7F,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,cAAc;gBACnD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,SAA4B;QAC5C,KAAK,MAAM,YAAY,IAAI,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,iBAAoC;QACtD,KAAK,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAI,iBAAgD,CAAC,YAAY,CAAC,CAAC;YACpF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAwB,EAAE,UAA6B;QACjE,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;gBACtF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,6BAA6B,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1G,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAsB,CAAC;gBAC7D,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACvD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,GAA0B;QAC9B,MAAM,IAAI,GACR,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3F,GAAG;YACH,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxB,GAAG,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,EAAE,CAAC,CAAC;YACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,GAA0B;QAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClC,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7G,KAAK,MAAM,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACzF,GAAG,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;YAC3B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,MAAM,UAAU,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,8BAA8B;gBAC9B,GAAG,CAAC,EAAE,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -72,10 +72,12 @@ export function genTable(filesInfos) {
|
|
|
72
72
|
.join("\n")
|
|
73
73
|
.replaceAll(/\d+(.\d+)?/g, (str) => {
|
|
74
74
|
const v = Number.parseFloat(str);
|
|
75
|
-
if (v > reportConfig.warningLimit)
|
|
75
|
+
if (v > reportConfig.warningLimit) {
|
|
76
76
|
return chalk.bold.greenBright(str);
|
|
77
|
-
|
|
77
|
+
}
|
|
78
|
+
if (v > reportConfig.errorLimit) {
|
|
78
79
|
return chalk.bold.yellowBright(str);
|
|
80
|
+
}
|
|
79
81
|
return chalk.bold.redBright(str);
|
|
80
82
|
});
|
|
81
83
|
console.log(lines);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../tools/test_runner/generator/table-generator/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../tools/test_runner/generator/table-generator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,13 +59,14 @@ export class Parser {
|
|
|
59
59
|
this.functionCovTraceMap.set(name, originTraces.concat(traces));
|
|
60
60
|
}
|
|
61
61
|
const lineInfoMap = new Map();
|
|
62
|
-
info.lineInfo.
|
|
62
|
+
for (const [index, ranges] of info.lineInfo.entries()) {
|
|
63
63
|
// If instrument return basic block == null, ignore it.
|
|
64
|
-
if (ranges === null)
|
|
65
|
-
|
|
64
|
+
if (ranges === null) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
66
67
|
const lineInfoArray = ranges
|
|
67
68
|
.filter((range) => {
|
|
68
|
-
const filename = debugFiles
|
|
69
|
+
const filename = debugFiles.at(range[0]);
|
|
69
70
|
if (filename === undefined) {
|
|
70
71
|
throw new Error(`unknown error: not find fileIndex ${range[0]} in ${instrumentResult.wasm}`);
|
|
71
72
|
}
|
|
@@ -75,7 +76,7 @@ export class Parser {
|
|
|
75
76
|
.map((range) => range[1]);
|
|
76
77
|
// basic block index start at 0
|
|
77
78
|
lineInfoMap.set(index, new Set(lineInfoArray));
|
|
78
|
-
}
|
|
79
|
+
}
|
|
79
80
|
const covInfo = { branchInfo: info.branchInfo, lineInfo: lineInfoMap };
|
|
80
81
|
this.functionCovInfoMap.set(name, covInfo);
|
|
81
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAQL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,13 +12,15 @@ export class SingleFileCoverageAnalysis {
|
|
|
12
12
|
}
|
|
13
13
|
merge(results) {
|
|
14
14
|
// SingleFileCoverageAnalysis contains FileCoverageResult
|
|
15
|
-
if (results.length === 0)
|
|
15
|
+
if (results.length === 0) {
|
|
16
16
|
return;
|
|
17
|
+
}
|
|
17
18
|
for (const functionCovResult of results) {
|
|
18
|
-
for (const line of functionCovResult.uncoveredLines)
|
|
19
|
+
for (const line of functionCovResult.uncoveredLines) {
|
|
19
20
|
this.result.uncoveredLines.add(line);
|
|
21
|
+
}
|
|
20
22
|
for (const [lineIndex, count] of functionCovResult.sourceUsedCount.entries()) {
|
|
21
|
-
const srcLineUsedCount = this.result.sourceUsedCount
|
|
23
|
+
const srcLineUsedCount = this.result.sourceUsedCount.at(lineIndex - 1);
|
|
22
24
|
if (srcLineUsedCount === undefined) {
|
|
23
25
|
throw new Error(`unknown error: There is not Line ${lineIndex} in ${JSON.stringify(this.result.sourceUsedCount)}`);
|
|
24
26
|
}
|
|
@@ -37,8 +39,9 @@ export class SingleFileCoverageAnalysis {
|
|
|
37
39
|
}
|
|
38
40
|
getResult() {
|
|
39
41
|
for (const cov of this.result.sourceUsedCount) {
|
|
40
|
-
if (cov.usedCount === CodeCoverage.default)
|
|
42
|
+
if (cov.usedCount === CodeCoverage.default) {
|
|
41
43
|
continue;
|
|
44
|
+
}
|
|
42
45
|
if (cov.usedCount > 0) {
|
|
43
46
|
this.result.lineCoverageRate.used++;
|
|
44
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleFileAnalysis.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/singleFileAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAA0B,MAAM,uBAAuB,CAAC;AAEvG,MAAM,OAAO,0BAA0B;IACrC,MAAM,CAAqB;IAC3B,YAAY,QAAgB,EAAE,MAAc;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAiC;QACrC,yDAAyD;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"singleFileAnalysis.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/singleFileAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAA0B,MAAM,uBAAuB,CAAC;AAEvG,MAAM,OAAO,0BAA0B;IACrC,MAAM,CAAqB;IAC3B,YAAY,QAAgB,EAAE,MAAc;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAiC;QACrC,yDAAyD;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,iBAAiB,IAAI,OAAO,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7E,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACvE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAClG,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,CAAC,SAAS,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBACxD,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CAAC,SAAS,IAAI,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC/E,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,SAAS;QACP,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,SAAS,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAEjE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -62,7 +62,7 @@ export class SingleFunctionCoverageAnalysis {
|
|
|
62
62
|
}
|
|
63
63
|
markCoveredBranches(indexSerialInSingleFunction) {
|
|
64
64
|
for (let i = 1; i < indexSerialInSingleFunction.length; i++) {
|
|
65
|
-
const first = indexSerialInSingleFunction
|
|
65
|
+
const first = indexSerialInSingleFunction.at(i - 1), second = indexSerialInSingleFunction.at(i);
|
|
66
66
|
assert(first !== undefined);
|
|
67
67
|
assert(second !== undefined);
|
|
68
68
|
const toNodes = this.branchGraph.get(first);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleFunctionAnalysis.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/singleFunctionAnalysis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"singleFunctionAnalysis.js","sourceRoot":"","sources":["../../../tools/test_runner/parser/singleFunctionAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,7 @@ function createWebAssemblyCallSite(callSite, moduleInfo) {
|
|
|
44
44
|
fileName: moduleInfo.wasmPath,
|
|
45
45
|
functionName: getWebAssemblyFunctionName(callSite),
|
|
46
46
|
lineNumber: line ?? -1,
|
|
47
|
+
// eslint-disable-next-line dot-notation -- env is index-signature typed by the strict test_runner tsconfig.
|
|
47
48
|
columnNumber: env["WARPO_TEST"] ? -1 : (column ?? -1),
|
|
48
49
|
};
|
|
49
50
|
}
|
|
@@ -74,7 +75,7 @@ export async function handleWebAssemblyError(error, wasmModule) {
|
|
|
74
75
|
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
75
76
|
error.stack; // trigger prepareStackTrace
|
|
76
77
|
Error.prepareStackTrace = originalPrepareStackTrace;
|
|
77
|
-
|
|
78
|
+
const sourceMapConsumer = await getSourceMapConsumer(wasmModule.sourceMap);
|
|
78
79
|
const stacks = stackTrace
|
|
79
80
|
.map((callSite) => createWebAssemblyCallSite(callSite, { wasmPath: wasmModule.wasm, sourceMapConsumer }))
|
|
80
81
|
.filter((callSite) => callSite !== null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorTraceHandler.js","sourceRoot":"","sources":["../../../tools/test_runner/utils/errorTraceHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errorTraceHandler.js","sourceRoot":"","sources":["../../../tools/test_runner/utils/errorTraceHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,8 @@ export function isFunctionInsideFile(fileName, functionName) {
|
|
|
24
24
|
// `~`: parent is Function
|
|
25
25
|
const regex = new RegExp(`^(start:)?${fileName.slice(0, -3)}[/~](?<rest>.+)`);
|
|
26
26
|
const matchPrefix = regex.exec(functionName);
|
|
27
|
-
const
|
|
27
|
+
const groups = matchPrefix?.groups;
|
|
28
|
+
const rest = groups?.rest ?? null;
|
|
28
29
|
if (rest === null) {
|
|
29
30
|
return false;
|
|
30
31
|
}
|
|
@@ -35,7 +36,7 @@ export function isFunctionInsideFile(fileName, functionName) {
|
|
|
35
36
|
return rest[specialCharIndex] !== "/";
|
|
36
37
|
}
|
|
37
38
|
export function checkGenerics(functionName) {
|
|
38
|
-
//
|
|
39
|
+
// Cannot handle nested generic method in generic class yet.
|
|
39
40
|
const startIndex = functionName.indexOf("<");
|
|
40
41
|
const endIndex = functionName.lastIndexOf(">");
|
|
41
42
|
if (startIndex !== -1 && endIndex !== -1) {
|
|
@@ -60,6 +61,9 @@ export function injectDefaultFunction(infos, importObject, importsArg) {
|
|
|
60
61
|
if (module === "env" && name === "abort") {
|
|
61
62
|
importObjectModule[name] = (msg, file, line, col) => {
|
|
62
63
|
const exports = importsArg.exports;
|
|
64
|
+
if (exports === null) {
|
|
65
|
+
throw new WebAssembly.RuntimeError("missing AssemblyScript exports");
|
|
66
|
+
}
|
|
63
67
|
throw new WebAssembly.RuntimeError(`abort: ${exports.__getString(msg)} at ${exports.__getString(file)}:${line}:${col}`);
|
|
64
68
|
};
|
|
65
69
|
continue;
|
|
@@ -67,6 +71,9 @@ export function injectDefaultFunction(infos, importObject, importsArg) {
|
|
|
67
71
|
if (module === "env" && name === "trace") {
|
|
68
72
|
importObjectModule[name] = (msg, n, ...args) => {
|
|
69
73
|
const exports = importsArg.exports;
|
|
74
|
+
if (exports === null) {
|
|
75
|
+
throw new WebAssembly.RuntimeError("missing AssemblyScript exports");
|
|
76
|
+
}
|
|
70
77
|
importsArg.framework.log(`trace: ${exports.__getString(msg)}${n > 0 ? " " : ""}${args.slice(0, n).join(", ")}`);
|
|
71
78
|
};
|
|
72
79
|
continue;
|