warpo 3.1.1 → 3.1.3
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/asconfig.schema.json +10 -2
- 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 +61 -3
- package/dist/debug_server/debugSession.js +919 -80
- 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 +59 -3
- package/dist/debug_server/debuggerWasmModule.js +234 -14
- package/dist/debug_server/debuggerWasmModule.js.map +1 -1
- package/dist/debug_server/nodeDebugger.d.ts +42 -3
- package/dist/debug_server/nodeDebugger.js +648 -59
- package/dist/debug_server/nodeDebugger.js.map +1 -1
- package/dist/debug_server/tests/debugSession.test.js +1154 -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_breakpoint_update.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_breakpoint_update.js +10 -0
- package/dist/debug_server/tests/testModule/debugger_breakpoint_update.js.map +1 -0
- 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_generic_function.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_generic_function.js +10 -0
- package/dist/debug_server/tests/testModule/debugger_generic_function.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_member_function.d.ts +1 -0
- package/dist/debug_server/tests/testModule/debugger_member_function.js +16 -0
- package/dist/debug_server/tests/testModule/debugger_member_function.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.js +1 -1
- package/dist/heap_analyzer/cli.js.map +1 -1
- 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/compiler.js +2 -0
- package/dist/test_runner/core/compiler.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 +9 -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
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright (C) 2026 wasm-ecosystem
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export const OBJECT_HEADER_SIZE = 16;
|
|
4
|
+
export const OBJECT_RTID_OFFSET = -8;
|
|
5
|
+
export const OBJECT_RTID_SIZE = 4;
|
|
6
|
+
export const OBJECT_RTSIZE_OFFSET = -4;
|
|
7
|
+
export const OBJECT_RTSIZE_SIZE = 4;
|
|
8
|
+
export const AS_STRING_CLASS_NAME = "~lib/string/String";
|
|
9
|
+
export const ARRAY_DATA_START_OFFSET = 4;
|
|
10
|
+
export const ARRAY_LENGTH_OFFSET = 12;
|
|
11
|
+
export const SMALL_TUPLE_SLOT_SIZE = 4;
|
|
12
|
+
export const SMALL_TUPLE_BITMAP_SIZE = 8;
|
|
13
|
+
//# sourceMappingURL=objectLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectLayout.js","sourceRoot":"","sources":["../../tools/runtime/objectLayout.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,sCAAsC;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC"}
|
package/dist/scripts/lib.d.ts
CHANGED
|
@@ -9,3 +9,4 @@ export declare function downloadForCurrentMachine(proxy?: string): Promise<strin
|
|
|
9
9
|
export declare function downloadAll(proxy?: string): Promise<string[]>;
|
|
10
10
|
export declare function cleanDownloaded(): Promise<string[]>;
|
|
11
11
|
export declare function build(options: Option): Promise<number>;
|
|
12
|
+
export declare function traceVisualizer(options: Option): Promise<number>;
|
package/dist/scripts/lib.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import * as os from "node:os";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import {
|
|
4
|
-
import { access, mkdir, readdir, rm } from "node:fs/promises";
|
|
3
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
4
|
+
import { access, mkdir, readdir, rm, writeFile } from "node:fs/promises";
|
|
5
5
|
import { basename, join } from "node:path";
|
|
6
|
-
import { Readable } from "node:stream";
|
|
7
|
-
import { pipeline } from "node:stream/promises";
|
|
8
6
|
import { fileURLToPath } from "node:url";
|
|
9
7
|
import * as tar from "tar";
|
|
10
8
|
import { fetch, ProxyAgent } from "undici";
|
|
@@ -14,14 +12,23 @@ function isTarGzAsset(asset) {
|
|
|
14
12
|
return asset.name.endsWith(".tar.gz");
|
|
15
13
|
}
|
|
16
14
|
function getProxyUrl(proxy) {
|
|
17
|
-
|
|
15
|
+
/* eslint-disable dot-notation -- process.env is index-signature typed under strict test_runner checks. */
|
|
16
|
+
return (proxy ??
|
|
17
|
+
process.env["HTTPS_PROXY"] ??
|
|
18
|
+
process.env["https_proxy"] ??
|
|
19
|
+
process.env["HTTP_PROXY"] ??
|
|
20
|
+
process.env["http_proxy"]);
|
|
21
|
+
/* eslint-enable dot-notation */
|
|
18
22
|
}
|
|
19
23
|
function getFetchOptions(proxy) {
|
|
20
24
|
const proxyUrl = getProxyUrl(proxy);
|
|
21
|
-
|
|
22
|
-
dispatcher: proxyUrl ? new ProxyAgent(proxyUrl) : undefined,
|
|
25
|
+
const options = {
|
|
23
26
|
headers: { "user-agent": "warpo-release-downloader" },
|
|
24
27
|
};
|
|
28
|
+
if (proxyUrl) {
|
|
29
|
+
options.dispatcher = new ProxyAgent(proxyUrl);
|
|
30
|
+
}
|
|
31
|
+
return options;
|
|
25
32
|
}
|
|
26
33
|
async function getReleaseAssets(version, proxy) {
|
|
27
34
|
const response = await fetch(`https://api.github.com/repos/wasm-ecosystem/warpo/releases/tags/${version}`, getFetchOptions(proxy));
|
|
@@ -39,11 +46,13 @@ async function downloadFile(url, outputPath, proxy) {
|
|
|
39
46
|
if (!response.body) {
|
|
40
47
|
throw new Error(`failed to download ${url}: empty response body`);
|
|
41
48
|
}
|
|
42
|
-
await
|
|
49
|
+
await writeFile(outputPath, Buffer.from(await response.arrayBuffer()));
|
|
43
50
|
}
|
|
44
51
|
function getAssetUrl(asset, version) {
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
// eslint-disable-next-line dot-notation -- process.env is index-signature typed under strict test_runner checks.
|
|
53
|
+
const downloadBaseUrl = process.env["WARPO_DOWNLOAD_BASE_URL"];
|
|
54
|
+
const base_url = downloadBaseUrl ?? `https://github.com/wasm-ecosystem/warpo/releases/download`;
|
|
55
|
+
return downloadBaseUrl ? `${base_url}/${version}/${asset.name}` : asset.browser_download_url;
|
|
47
56
|
}
|
|
48
57
|
function getCurrentMachineAssetName(version) {
|
|
49
58
|
return `warpo-${version}-${os.platform()}-${os.arch()}.tar.gz`;
|
|
@@ -58,6 +67,9 @@ function createCurrentMachineAsset(version) {
|
|
|
58
67
|
function getBinaryName() {
|
|
59
68
|
return os.platform() === "win32" ? "warpo_asc.exe" : "warpo_asc";
|
|
60
69
|
}
|
|
70
|
+
function getTraceVisualizerBinaryName() {
|
|
71
|
+
return os.platform() === "win32" ? "warpo_trace_visualizer.exe" : "warpo_trace_visualizer";
|
|
72
|
+
}
|
|
61
73
|
function getExtractedPath(archivePath) {
|
|
62
74
|
if (archivePath.endsWith(".tar.gz")) {
|
|
63
75
|
return join(dirname, basename(archivePath, ".tar.gz"));
|
|
@@ -69,13 +81,17 @@ async function extract_archive(archivePath) {
|
|
|
69
81
|
await rm(outputPath, { recursive: true, force: true });
|
|
70
82
|
await mkdir(outputPath, { recursive: true });
|
|
71
83
|
if (archivePath.endsWith(".tar.gz")) {
|
|
84
|
+
// Release archives are produced by Warpo CI and extracted into a fresh cache directory.
|
|
85
|
+
// eslint-disable-next-line sonarjs/no-unsafe-unzip
|
|
72
86
|
await tar.x({ file: archivePath, cwd: outputPath });
|
|
73
87
|
return outputPath;
|
|
74
88
|
}
|
|
75
89
|
throw new Error(`unsupported archive format: ${archivePath}`);
|
|
76
90
|
}
|
|
77
91
|
function getVersion() {
|
|
78
|
-
|
|
92
|
+
const packageJson = JSON.parse(readFileSync(join(warpoRoot, "package.json"), "utf8"));
|
|
93
|
+
// eslint-disable-next-line dot-notation -- process.env is index-signature typed under strict test_runner checks.
|
|
94
|
+
return process.env["WARPO_DOWNLOAD_VERSION"] || packageJson.version;
|
|
79
95
|
}
|
|
80
96
|
async function pathExists(path) {
|
|
81
97
|
try {
|
|
@@ -160,12 +176,14 @@ export async function cleanDownloaded() {
|
|
|
160
176
|
return removedDirs;
|
|
161
177
|
}
|
|
162
178
|
async function downloadForCurrentMachineBinary(proxy) {
|
|
179
|
+
/* eslint-disable dot-notation -- process.env is index-signature typed under strict test_runner checks. */
|
|
163
180
|
if (process.env["WARPO_BINARY_PATH"]) {
|
|
164
181
|
return process.env["WARPO_BINARY_PATH"];
|
|
165
182
|
}
|
|
166
183
|
if (process.env["WARPO_FORCE_DOWNLOAD"] !== "1" && existsSync(join(dirname, "warpo"))) {
|
|
167
184
|
return join(dirname, "warpo", getBinaryName());
|
|
168
185
|
}
|
|
186
|
+
/* eslint-enable dot-notation */
|
|
169
187
|
const version = getVersion();
|
|
170
188
|
if (version === "0.0.0") {
|
|
171
189
|
// for development purpose, use local build
|
|
@@ -176,18 +194,48 @@ async function downloadForCurrentMachineBinary(proxy) {
|
|
|
176
194
|
await downloadAndExtractAsset(asset, version, proxy);
|
|
177
195
|
return join(outputPath, "warpo", getBinaryName());
|
|
178
196
|
}
|
|
179
|
-
|
|
197
|
+
async function downloadForCurrentMachineTraceVisualizer(proxy) {
|
|
198
|
+
/* eslint-disable dot-notation -- process.env is index-signature typed under strict test_runner checks. */
|
|
199
|
+
if (process.env["WARPO_TRACE_VISUALIZER_BINARY_PATH"]) {
|
|
200
|
+
return process.env["WARPO_TRACE_VISUALIZER_BINARY_PATH"];
|
|
201
|
+
}
|
|
202
|
+
const cachedBinary = join(dirname, "warpo", getTraceVisualizerBinaryName());
|
|
203
|
+
if (process.env["WARPO_FORCE_DOWNLOAD"] !== "1" && existsSync(cachedBinary)) {
|
|
204
|
+
return cachedBinary;
|
|
205
|
+
}
|
|
206
|
+
/* eslint-enable dot-notation */
|
|
207
|
+
const version = getVersion();
|
|
208
|
+
if (version === "0.0.0") {
|
|
209
|
+
// for development purpose, use local build
|
|
210
|
+
return join(warpoRoot, "build", "warpo", getTraceVisualizerBinaryName());
|
|
211
|
+
}
|
|
212
|
+
const asset = createCurrentMachineAsset(version);
|
|
213
|
+
const outputPath = getExtractedPathForAsset(asset);
|
|
214
|
+
await downloadAndExtractAsset(asset, version, proxy);
|
|
215
|
+
return join(outputPath, "warpo", getTraceVisualizerBinaryName());
|
|
216
|
+
}
|
|
217
|
+
function runBinary(binary, options) {
|
|
180
218
|
const cwd = options.cwd ?? process.cwd();
|
|
181
|
-
const argv =
|
|
182
|
-
const
|
|
183
|
-
const ps =
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
219
|
+
const argv = options.argv;
|
|
220
|
+
const onStdout = options.onStdout;
|
|
221
|
+
const ps = onStdout === undefined
|
|
222
|
+
? spawn(binary, argv, {
|
|
223
|
+
stdio: "inherit",
|
|
224
|
+
env: options.env ?? process.env,
|
|
225
|
+
cwd,
|
|
226
|
+
})
|
|
227
|
+
: spawn(binary, argv, {
|
|
228
|
+
stdio: ["inherit", "pipe", "inherit"],
|
|
229
|
+
env: options.env ?? process.env,
|
|
230
|
+
cwd,
|
|
231
|
+
});
|
|
232
|
+
if (onStdout !== undefined) {
|
|
233
|
+
const stdout = ps.stdout;
|
|
234
|
+
if (!stdout) {
|
|
235
|
+
throw new Error("WARPO process stdout is unavailable");
|
|
236
|
+
}
|
|
237
|
+
stdout.on("data", (chunk) => {
|
|
238
|
+
onStdout(chunk.toString("utf8"));
|
|
191
239
|
});
|
|
192
240
|
}
|
|
193
241
|
return new Promise((resolve, reject) => {
|
|
@@ -204,4 +252,20 @@ export async function build(options) {
|
|
|
204
252
|
});
|
|
205
253
|
});
|
|
206
254
|
}
|
|
255
|
+
export async function build(options) {
|
|
256
|
+
const cwd = options.cwd ?? process.cwd();
|
|
257
|
+
const argv = applyDefaultBuildOptions(options.argv, cwd);
|
|
258
|
+
const binary = await downloadForCurrentMachineBinary(options.proxy);
|
|
259
|
+
if (binary === null) {
|
|
260
|
+
throw new Error("Failed to resolve warpo binary path");
|
|
261
|
+
}
|
|
262
|
+
return await runBinary(binary, { ...options, argv });
|
|
263
|
+
}
|
|
264
|
+
export async function traceVisualizer(options) {
|
|
265
|
+
const binary = await downloadForCurrentMachineTraceVisualizer(options.proxy);
|
|
266
|
+
if (binary === null) {
|
|
267
|
+
throw new Error("Failed to resolve warpo trace visualizer binary path");
|
|
268
|
+
}
|
|
269
|
+
return await runBinary(binary, options);
|
|
270
|
+
}
|
|
207
271
|
//# sourceMappingURL=lib.js.map
|
package/dist/scripts/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../tools/scripts/lib.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../tools/scripts/lib.ts"],"names":[],"mappings":"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"}
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,YAAgC;QAC1C,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,eAAe,GACG;IAClB,IAAI,SAAS,GAAG;QACd,GAAG,OAAO;QACV,IAAI;QACJ,MAAM,CAAC,IAAI;QACX,eAAe;QACf,wDAAwD;QACxD,eAAe;QACf,mBAAmB;QACnB,SAAS;QACT,wBAAwB;QACxB,cAAc;KACf,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,2CAA2C;QAC3C,iCAAiC;QACjC,8EAA8E;QAC9E,gDAAgD;QAChD,MAAM,IAAI,GAAG,gBAAgB;aAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACzC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC,CAAC;QACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,YAAgC;QAC1C,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,eAAe,GACG;IAClB,IAAI,SAAS,GAAG;QACd,GAAG,OAAO;QACV,IAAI;QACJ,MAAM,CAAC,IAAI;QACX,eAAe;QACf,wDAAwD;QACxD,eAAe;QACf,mBAAmB;QACnB,SAAS;QACT,kBAAkB;QAClB,WAAW;QACX,wBAAwB;QACxB,cAAc;KACf,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,2CAA2C;QAC3C,iCAAiC;QACjC,8EAA8E;QAC9E,gDAAgD;QAChD,MAAM,IAAI,GAAG,gBAAgB;aAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACzC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC,CAAC;QACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;AAC/B,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) {
|