@overkill-dev/run 0.0.10 → 0.0.11
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/engine/engine.d.ts +27 -0
- package/engine/engine.d.ts.map +1 -0
- package/engine/engine.js +40 -0
- package/engine/engine.js.map +1 -0
- package/engine/identity.d.ts +1 -1
- package/engine/identity.d.ts.map +1 -1
- package/engine/identity.js +16 -1
- package/engine/identity.js.map +1 -1
- package/engine/run-if-main.d.ts +28 -0
- package/engine/run-if-main.d.ts.map +1 -0
- package/engine/run-if-main.js +46 -0
- package/engine/run-if-main.js.map +1 -0
- package/engine/test-node.d.ts +1 -0
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +137 -0
- package/engine/test-node.js.map +1 -0
- package/engine/test-plan.d.ts +11 -1
- package/engine/test-plan.d.ts.map +1 -1
- package/engine/test-plan.js +174 -0
- package/engine/test-plan.js.map +1 -0
- package/package.json +6 -2
- package/packages/engine/engine.entry-point.js +67 -0
- package/packages/engine/engine.entry-point.js.map +1 -0
- package/packages/run/run.entry-point.d.ts +4 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +2 -1
- package/packages/run/run.entry-point.js.map +1 -1
- package/readme.md +11 -5
- package/run/command-line-command.d.ts +1 -3
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +4 -1
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-runner.d.ts +1 -1
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +4 -3
- package/run/command-line-runner.js.map +1 -1
- package/run/command-line-unimplemented-commands.js +1 -1
- package/run/command-line-unimplemented-commands.js.map +1 -1
- package/run/default-run-engine.js +14 -0
- package/run/default-run-engine.js.map +1 -0
- package/run/run-config.js +1 -1
- package/run/run-config.js.map +1 -1
- package/run/run-discovery.js +75 -0
- package/run/run-discovery.js.map +1 -0
- package/run/run-errors.d.ts +16 -0
- package/run/run-errors.d.ts.map +1 -0
- package/run/run-errors.js +37 -0
- package/run/run-errors.js.map +1 -0
- package/run/run-orchestrator.d.ts +3 -0
- package/run/run-orchestrator.d.ts.map +1 -0
- package/run/run-orchestrator.js +43 -0
- package/run/run-orchestrator.js.map +1 -0
- package/run/run-test-modules.js +53 -0
- package/run/run-test-modules.js.map +1 -0
- package/run/run.d.ts +8 -13
- package/run/run.d.ts.map +1 -1
- package/run/run.js +68 -70
- package/run/run.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createWallClock } from '@enormora/wall-clock';
|
|
2
|
+
import { createEngine as createEngineInstance } from "../../engine/engine.js";
|
|
3
|
+
import { createExecute } from "../../engine/execution.js";
|
|
4
|
+
import { createReporterDispatcher } from "../../engine/reporter-dispatcher.js";
|
|
5
|
+
function readProcessExitCode() {
|
|
6
|
+
return process.exitCode;
|
|
7
|
+
}
|
|
8
|
+
function writeProcessExitCode(exitCode) {
|
|
9
|
+
process.exitCode = exitCode;
|
|
10
|
+
}
|
|
11
|
+
function writeStdoutLine(line) {
|
|
12
|
+
process.stdout.write(`${line}\n`);
|
|
13
|
+
}
|
|
14
|
+
function writeStderrLine(line) {
|
|
15
|
+
process.stderr.write(`${line}\n`);
|
|
16
|
+
}
|
|
17
|
+
export function createEngine() {
|
|
18
|
+
const wallClock = createWallClock();
|
|
19
|
+
return createEngineInstance({
|
|
20
|
+
execute: createExecute({
|
|
21
|
+
reporterDispatcher: createReporterDispatcher({
|
|
22
|
+
stderr: { writeLine: writeStderrLine },
|
|
23
|
+
stdout: { writeLine: writeStdoutLine },
|
|
24
|
+
wallClock
|
|
25
|
+
}),
|
|
26
|
+
wallClock
|
|
27
|
+
}),
|
|
28
|
+
nodeVersion: process.versions.node,
|
|
29
|
+
readExitCode: readProcessExitCode,
|
|
30
|
+
wallClock,
|
|
31
|
+
writeExitCode: writeProcessExitCode
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const defaultEngine = createEngine();
|
|
35
|
+
export function createRoot(options) {
|
|
36
|
+
return defaultEngine.createRoot(options);
|
|
37
|
+
}
|
|
38
|
+
export function createSuite(options) {
|
|
39
|
+
return defaultEngine.createSuite(options);
|
|
40
|
+
}
|
|
41
|
+
export function createTable(options) {
|
|
42
|
+
return defaultEngine.createTable(options);
|
|
43
|
+
}
|
|
44
|
+
export function createTestCase(options) {
|
|
45
|
+
return defaultEngine.createTestCase(options);
|
|
46
|
+
}
|
|
47
|
+
export function createTestPlan(root) {
|
|
48
|
+
return defaultEngine.createTestPlan(root);
|
|
49
|
+
}
|
|
50
|
+
export function createTestPlanFromTestFiles(options) {
|
|
51
|
+
return defaultEngine.createTestPlanFromTestFiles(options);
|
|
52
|
+
}
|
|
53
|
+
export async function execute(testPlan, options) {
|
|
54
|
+
return await defaultEngine.execute(testPlan, options);
|
|
55
|
+
}
|
|
56
|
+
export async function runIfMain(meta, testNode, options) {
|
|
57
|
+
await defaultEngine.runIfMain(meta, testNode, options);
|
|
58
|
+
}
|
|
59
|
+
export function ownsTestNode(value) {
|
|
60
|
+
return defaultEngine.ownsTestNode(value);
|
|
61
|
+
}
|
|
62
|
+
export { formatCaseId } from "../../engine/identity.js";
|
|
63
|
+
export { ReporterSinkConflictError, validateReporterSinks } from "../../engine/reporter.js";
|
|
64
|
+
export { createPlainOutputRenderer } from "../../engine/reporter-output.js";
|
|
65
|
+
export { defaultSerializationBudget, serializeValue, serializeValueWithBudget } from "../../compare/serialized-value.js";
|
|
66
|
+
export { captureSourceLocation, unknownSourceLocation } from "../../assertion-protocol/source-location.js";
|
|
67
|
+
//# sourceMappingURL=engine.entry-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/engine/engine.entry-point.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export { orchestrator
|
|
2
|
-
export
|
|
1
|
+
export { orchestrator } from '../../run/run-orchestrator.ts';
|
|
2
|
+
export { RunResolutionError } from '../../run/run-errors.ts';
|
|
3
|
+
export type { RunResolutionErrorCode } from '../../run/run-errors.ts';
|
|
4
|
+
export type { ResolvedRun, ResourceBudgetOverrides, RunCaseFacts, RunCommand, RunConfig, RunDebugRequest, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunExecutionFacts, RunLoaderConfig, RunOrchestrator, RunProfilesConfig, RunResourceBudgets, RunResourceUsagePolicy, RunReproducibilityFacts, RunRequest, RunSeed, RunSelection, RunShard, SerializedValue } from '../../run/run.ts';
|
|
3
5
|
//# sourceMappingURL=run.entry-point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EACR,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,eAAe,EAClB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"run.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/readme.md
CHANGED
|
@@ -35,11 +35,17 @@ Command-line business logic is exposed through `@overkill-dev/run/command-line`:
|
|
|
35
35
|
- `defineConfig(config)`
|
|
36
36
|
- `loadRunConfig({ cwd, configPath })`
|
|
37
37
|
|
|
38
|
-
The current runner accepts
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
The current runner accepts explicit file paths through `RunRequest.paths`.
|
|
39
|
+
Each file is imported as a native Node ESM module and must export a named
|
|
40
|
+
`testNode` value created by the selected engine. `RunCommand.engine` may be
|
|
41
|
+
`null` to use the shared public engine, or a custom `Engine` for programmatic
|
|
42
|
+
callers that also create their test nodes with that engine.
|
|
43
|
+
|
|
44
|
+
General file discovery, filtering, sharding, seeded ordering, records, replay,
|
|
45
|
+
and argv parsing are separate runner milestones. Direct prebuilt `TestPlan`
|
|
46
|
+
execution belongs to `@overkill-dev/engine` through `execute(testPlan)`. The
|
|
47
|
+
non-`runTests` command methods are fixed first-party entrypoints and currently
|
|
48
|
+
return argument errors until their command implementations land.
|
|
43
49
|
|
|
44
50
|
Resource usage measurement is explicit. Project config can enable it under
|
|
45
51
|
`profiles.microtest.measureResourceUsage`; `RunRequest.measureResourceUsage`
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { RunResult } from '../engine/run-result.ts';
|
|
2
|
-
import type {
|
|
3
|
-
import { type RunRequest } from './run.ts';
|
|
2
|
+
import type { RunRequest } from './run.ts';
|
|
4
3
|
import { type RunConfigLoadRequest } from './run-config.ts';
|
|
5
4
|
export declare const commandLineExitCodes: Readonly<{
|
|
6
5
|
argumentOrConfig: 3;
|
|
@@ -14,7 +13,6 @@ export declare const commandLineExitCodes: Readonly<{
|
|
|
14
13
|
export type CommandLineExitCode = (typeof commandLineExitCodes)[keyof typeof commandLineExitCodes];
|
|
15
14
|
export type CommandLineRunTestsRequest = RunConfigLoadRequest & {
|
|
16
15
|
readonly request: RunRequest;
|
|
17
|
-
readonly testPlan: TestPlan;
|
|
18
16
|
};
|
|
19
17
|
export type CommandLineCommandContext = RunConfigLoadRequest & {
|
|
20
18
|
readonly arguments: readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-command.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,yBAAyB,CAAC;AAEtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"command-line-command.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,yBAAyB,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;EAQ/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnG,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC5D,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG;IAC3D,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,yBAAyB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAE1G,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;CAC9C,CAAC;AAsEF,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,SAAS,EACjB,sBAAsB,EAAE,OAAO,GAChC,SAAS,MAAM,EAAE,CAOnB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,mBAAmB,CAchF;AAcD,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAoB/F"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReporterSinkConflictError } from "../engine/reporter.js";
|
|
2
|
-
import { RunResolutionError } from "./run.js";
|
|
2
|
+
import { RunResolutionError } from "./run-errors.js";
|
|
3
3
|
import { RunConfigError } from "./run-config.js";
|
|
4
4
|
export const commandLineExitCodes = Object.freeze({
|
|
5
5
|
argumentOrConfig: 3,
|
|
@@ -97,6 +97,9 @@ export function createCommandLineErrorResultFromUnknown(error) {
|
|
|
97
97
|
return createCommandLineErrorResult(commandLineExitCodes.argumentOrConfig, 'configuration error', error);
|
|
98
98
|
}
|
|
99
99
|
if (classifiedError instanceof RunResolutionError) {
|
|
100
|
+
if (classifiedError.code() === 'no-tests-collected') {
|
|
101
|
+
return createCommandLineErrorResult(commandLineExitCodes.noTestsCollected, 'no tests collected', error);
|
|
102
|
+
}
|
|
100
103
|
return createCommandLineErrorResult(commandLineExitCodes.argumentOrConfig, 'argument error', error);
|
|
101
104
|
}
|
|
102
105
|
return createCommandLineErrorResult(commandLineExitCodes.internalCrash, 'internal error', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-command.js","sourceRoot":"","sources":["../../../../source/run/command-line-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"command-line-command.js","sourceRoot":"","sources":["../../../../source/run/command-line-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Reporter } from '../engine/reporter.ts';
|
|
2
|
-
import {
|
|
2
|
+
import type { RunOrchestrator } from './run.ts';
|
|
3
3
|
import { type LoadedRunConfig, type RunConfigLoadRequest } from './run-config.ts';
|
|
4
4
|
import { type CommandLineBaselineCommands, type CommandLineBenchmarkCommands, type CommandLineCommand, type CommandLineRunTestsRequest, type CommandLineRunnerResult as CommandLineRunnerResultShape } from './command-line-command.ts';
|
|
5
5
|
import { type CommandLineCommandLoaders } from './command-line-command-namespace.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,
|
|
1
|
+
{"version":3,"file":"command-line-runner.d.ts","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,KAAK,EAAyB,eAAe,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIH,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,IAAI,4BAA4B,EAC/D,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEH,KAAK,yBAAyB,EACjC,MAAM,qCAAqC,CAAC;AAO7C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAChG,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,CAAC;AAEnE,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,GAAG;IACpE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAoEF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAkBtG;AAQD,eAAO,MAAM,iBAAiB,EAAE,iBAM9B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { orchestrator } from "./run.js";
|
|
1
|
+
import { orchestrator } from "./run-orchestrator.js";
|
|
2
2
|
import { loadRunConfig } from "./run-config.js";
|
|
3
3
|
import { createCommandLineErrorResultFromUnknown, formatFallbackDiagnostics, readExitCodeFromRunResult } from "./command-line-command.js";
|
|
4
4
|
import { createCommandLineCommandNamespace } from "./command-line-command-namespace.js";
|
|
@@ -32,8 +32,9 @@ async function createCommandLineConfig(loadedConfig, dependencies) {
|
|
|
32
32
|
async function createCommandFromRequest(request, loadedConfig, dependencies) {
|
|
33
33
|
return {
|
|
34
34
|
config: await createCommandLineConfig(loadedConfig, dependencies),
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
cwd: request.cwd,
|
|
36
|
+
engine: null,
|
|
37
|
+
request: request.request
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
40
|
async function runTestsWithLoadedConfig(request, dependencies, loadedConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RunResolutionError } from "./run.js";
|
|
1
|
+
import { RunResolutionError } from "./run-errors.js";
|
|
2
2
|
import { createCommandLineErrorResultFromUnknown } from "./command-line-command.js";
|
|
3
3
|
function createUnimplementedCommandResult(command, context) {
|
|
4
4
|
const argumentSuffix = context.arguments.length === 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-unimplemented-commands.js","sourceRoot":"","sources":["../../../../source/run/command-line-unimplemented-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"command-line-unimplemented-commands.js","sourceRoot":"","sources":["../../../../source/run/command-line-unimplemented-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACH,uCAAuC,EAM1C,MAAM,2BAA2B,CAAC;AAEnC,SAAS,gCAAgC,CACrC,OAAe,EACf,OAAkC;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QACjD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,SAAS,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC;IAE/D,OAAO,uCAAuC,CAC1C,IAAI,kBAAkB,CAClB,YAAY,OAAO,IAAI,cAAc,0BAA0B,EAC/D,SAAS,EACT,qBAAqB,CACxB,CACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACtD,OAAO,KAAK,UAAU,uBAAuB,CAAC,OAAO;QACjD,OAAO,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mCAAmC,CAAC,SAAiB;IAC1D,OAAO;QACH,KAAK,EAAE,0BAA0B,CAAC,GAAG,SAAS,QAAQ,CAAC;QACvD,SAAS,EAAE,0BAA0B,CAAC,GAAG,SAAS,YAAY,CAAC;QAC/D,IAAI,EAAE,0BAA0B,CAAC,GAAG,SAAS,OAAO,CAAC;QACrD,IAAI,EAAE,0BAA0B,CAAC,GAAG,SAAS,OAAO,CAAC;QACrD,MAAM,EAAE,0BAA0B,CAAC,GAAG,SAAS,SAAS,CAAC;KAC5D,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC;IACnD,OAAO,mCAAmC,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kCAAkC;IACpD,OAAO;QACH,QAAQ,EAAE,mCAAmC,CAAC,gBAAgB,CAAC;QAC/D,cAAc,EAAE,0BAA0B,CAAC,YAAY,CAAC;QACxD,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC;KACzD,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as publicEngine from "../packages/engine/engine.entry-point.js";
|
|
2
|
+
export const defaultRunEngine = {
|
|
3
|
+
createRoot: publicEngine.createRoot,
|
|
4
|
+
createSuite: publicEngine.createSuite,
|
|
5
|
+
createTable: publicEngine.createTable,
|
|
6
|
+
createTestCase: publicEngine.createTestCase,
|
|
7
|
+
createTestPlan: publicEngine.createTestPlan,
|
|
8
|
+
createTestPlanFromTestFiles: publicEngine.createTestPlanFromTestFiles,
|
|
9
|
+
execute: publicEngine.execute,
|
|
10
|
+
formatCaseId: publicEngine.formatCaseId,
|
|
11
|
+
ownsTestNode: publicEngine.ownsTestNode,
|
|
12
|
+
runIfMain: publicEngine.runIfMain
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=default-run-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-run-engine.js","sourceRoot":"","sources":["../../../../source/run/default-run-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,0CAA0C,CAAC;AAGzE,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACpC,UAAU,EAAE,YAAY,CAAC,UAAU;IACnC,WAAW,EAAE,YAAY,CAAC,WAAW;IACrC,WAAW,EAAE,YAAY,CAAC,WAAW;IACrC,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,cAAc,EAAE,YAAY,CAAC,cAAc;IAC3C,2BAA2B,EAAE,YAAY,CAAC,2BAA2B;IACrE,OAAO,EAAE,YAAY,CAAC,OAAO;IAC7B,YAAY,EAAE,YAAY,CAAC,YAAY;IACvC,YAAY,EAAE,YAAY,CAAC,YAAY;IACvC,SAAS,EAAE,YAAY,CAAC,SAAS;CACpC,CAAC"}
|
package/run/run-config.js
CHANGED
|
@@ -48,7 +48,7 @@ const outputRendererSchema = z.custom(function isOutputRenderer(value) {
|
|
|
48
48
|
});
|
|
49
49
|
const loaderSchema = z.strictObject({
|
|
50
50
|
sourceMaps: z.boolean(),
|
|
51
|
-
stripMode: z.
|
|
51
|
+
stripMode: z.literal('strip-only')
|
|
52
52
|
});
|
|
53
53
|
const positiveSafeIntegerSchema = z.number().refine(function isPositiveSafeInteger(value) {
|
|
54
54
|
return Number.isSafeInteger(value) && value > 0;
|
package/run/run-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-config.js","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,yBAAyB,EAAuB,MAAM,8BAA8B,CAAC;AAS9F,MAAM,sBAAsB,GAAG,CAAE,oBAAoB,EAAE,oBAAoB,CAAE,CAAC;AAC9E,MAAM,gDAAgD,GAAG,GAAG,CAAC;AAoD7D,MAAM,OAAO,cAAe,SAAQ,KAAK;IACrC,YAAmB,OAAe,EAAE,OAAgC;QAChE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,aAAa,GAAoB;IACnC,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,YAAY;CAC1B,CAAC;AAEF,MAAM,0BAA0B,GAA2B;IACvD,oBAAoB,EAAE,KAAK;IAC3B,eAAe,EAAE;QACb,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,IAAI;QACtB,+BAA+B,EAAE,IAAI;KACxC;IACD,yCAAyC,EAAE,gDAAgD;CAC9F,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAW,SAAS,UAAU,CAAC,KAAK;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAMH,SAAS,iBAAiB,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAiB,SAAS,gBAAgB,CAAC,KAAK;IACjF,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"run-config.js","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { realpath, stat } from 'node:fs/promises';
|
|
2
|
+
import { isAbsolute, relative, resolve } from 'node:path';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { invalidRequest, noTestsCollected } from "./run-errors.js";
|
|
5
|
+
function toFileIdentity(path) {
|
|
6
|
+
return path.replaceAll('\\', '/');
|
|
7
|
+
}
|
|
8
|
+
function isOutsideCwd(relativePath) {
|
|
9
|
+
return relativePath === '..' || relativePath.startsWith('../') || isAbsolute(relativePath);
|
|
10
|
+
}
|
|
11
|
+
async function readRealCwd(cwd) {
|
|
12
|
+
try {
|
|
13
|
+
return await realpath(cwd);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return invalidRequest(`Run cwd does not exist: ${cwd}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function readRealFilePath(cwd, requestedPath) {
|
|
20
|
+
if (requestedPath.trim().length === 0) {
|
|
21
|
+
invalidRequest('Run path must not be empty.');
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
return await realpath(resolve(cwd, requestedPath));
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return invalidRequest(`Run path does not exist: ${requestedPath}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
async function assertRealFile(realPath, requestedPath) {
|
|
31
|
+
const fileStat = await stat(realPath);
|
|
32
|
+
if (!fileStat.isFile()) {
|
|
33
|
+
invalidRequest(`Run path must be a file: ${requestedPath}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function createDiscoveredRunFile(realCwd, realPath, requestedPath) {
|
|
37
|
+
const relativePath = relative(realCwd, realPath);
|
|
38
|
+
if (isOutsideCwd(relativePath)) {
|
|
39
|
+
invalidRequest(`Run path must stay inside cwd: ${requestedPath}`);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
file: toFileIdentity(relativePath),
|
|
43
|
+
href: pathToFileURL(realPath).href,
|
|
44
|
+
path: realPath
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function assertNonEmptyDiscoveredFiles(files) {
|
|
48
|
+
if (files.length === 0) {
|
|
49
|
+
noTestsCollected('No explicit run paths were provided.');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function discoverRunFile(realCwd, requestedPath) {
|
|
53
|
+
const realPath = await readRealFilePath(realCwd, requestedPath);
|
|
54
|
+
await assertRealFile(realPath, requestedPath);
|
|
55
|
+
return createDiscoveredRunFile(realCwd, realPath, requestedPath);
|
|
56
|
+
}
|
|
57
|
+
function assertUniqueRunFile(file, seenPaths) {
|
|
58
|
+
if (seenPaths.has(file.path)) {
|
|
59
|
+
invalidRequest(`Run path must not be duplicated: ${file.file}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export async function discoverRunFiles(request) {
|
|
63
|
+
const realCwd = await readRealCwd(request.cwd);
|
|
64
|
+
const files = await Promise.all(request.paths.map(async function discoverPath(requestedPath) {
|
|
65
|
+
return await discoverRunFile(realCwd, requestedPath);
|
|
66
|
+
}));
|
|
67
|
+
const seenPaths = new Set();
|
|
68
|
+
for (const file of files) {
|
|
69
|
+
assertUniqueRunFile(file, seenPaths);
|
|
70
|
+
seenPaths.add(file.path);
|
|
71
|
+
}
|
|
72
|
+
assertNonEmptyDiscoveredFiles(files);
|
|
73
|
+
return files;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=run-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-discovery.js","sourceRoot":"","sources":["../../../../source/run/run-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RunnerError } from '../engine/run-result.ts';
|
|
2
|
+
export type RunResolutionErrorCode = 'invalid-request' | 'no-tests-collected' | 'unsupported-request';
|
|
3
|
+
export declare class RunResolutionError extends Error {
|
|
4
|
+
private readonly errorCode;
|
|
5
|
+
constructor(message: string, options: Readonly<ErrorOptions> | undefined, code: RunResolutionErrorCode);
|
|
6
|
+
code(): RunResolutionErrorCode;
|
|
7
|
+
}
|
|
8
|
+
export declare class RunCollectionError extends Error {
|
|
9
|
+
private readonly errorSubtype;
|
|
10
|
+
constructor(message: string, options: Readonly<ErrorOptions>, subtype: RunnerError['subtype']);
|
|
11
|
+
runnerError(): RunnerError;
|
|
12
|
+
}
|
|
13
|
+
export declare function unsupportedRequest(message: string): never;
|
|
14
|
+
export declare function invalidRequest(message: string): never;
|
|
15
|
+
export declare function noTestsCollected(message: string): never;
|
|
16
|
+
//# sourceMappingURL=run-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-errors.d.ts","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,qBAAqB,CAAC;AAEtG,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAEhC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,sBAAsB;IAMtG,IAAI,IAAI,sBAAsB;CAGxC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;gBAEnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC;IAM7F,WAAW,IAAI,WAAW;CAQpC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEzD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAErD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAEvD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export class RunResolutionError extends Error {
|
|
2
|
+
errorCode;
|
|
3
|
+
constructor(message, options, code) {
|
|
4
|
+
super(message, options);
|
|
5
|
+
this.name = 'RunResolutionError';
|
|
6
|
+
this.errorCode = code;
|
|
7
|
+
}
|
|
8
|
+
code() {
|
|
9
|
+
return this.errorCode;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class RunCollectionError extends Error {
|
|
13
|
+
errorSubtype;
|
|
14
|
+
constructor(message, options, subtype) {
|
|
15
|
+
super(message, options);
|
|
16
|
+
this.name = 'RunCollectionError';
|
|
17
|
+
this.errorSubtype = subtype;
|
|
18
|
+
}
|
|
19
|
+
runnerError() {
|
|
20
|
+
return {
|
|
21
|
+
attributedTo: null,
|
|
22
|
+
cause: this.cause,
|
|
23
|
+
message: this.message,
|
|
24
|
+
subtype: this.errorSubtype
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function unsupportedRequest(message) {
|
|
29
|
+
throw new RunResolutionError(message, undefined, 'unsupported-request');
|
|
30
|
+
}
|
|
31
|
+
export function invalidRequest(message) {
|
|
32
|
+
throw new RunResolutionError(message, undefined, 'invalid-request');
|
|
33
|
+
}
|
|
34
|
+
export function noTestsCollected(message) {
|
|
35
|
+
throw new RunResolutionError(message, undefined, 'no-tests-collected');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=run-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-errors.js","sourceRoot":"","sources":["../../../../source/run/run-errors.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACxB,SAAS,CAAyB;IAEnD,YAAmB,OAAe,EAAE,OAA2C,EAAE,IAA4B;QACzG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACxB,YAAY,CAAyB;IAEtD,YAAmB,OAAe,EAAE,OAA+B,EAAE,OAA+B;QAChG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAChC,CAAC;IAEM,WAAW;QACd,OAAO;YACH,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,YAAY;SAC7B,CAAC;IACN,CAAC;CACJ;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAC9C,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC1C,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC5C,MAAM,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-orchestrator.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAiBvE,eAAO,MAAM,YAAY,EAAE,eAwBzB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { randomBytes } from 'node:crypto';
|
|
2
|
+
import { createWallClock } from '@enormora/wall-clock';
|
|
3
|
+
import { createExecute } from "../engine/execution.js";
|
|
4
|
+
import { createReporterDispatcher } from "../engine/reporter-dispatcher.js";
|
|
5
|
+
import { defaultRunEngine } from "./default-run-engine.js";
|
|
6
|
+
import { createNodeResourceUsageTracker } from "./resource-usage.js";
|
|
7
|
+
import { createRunOrchestrator } from "./run.js";
|
|
8
|
+
const seedByteLength = 8;
|
|
9
|
+
const defaultWallClock = createWallClock();
|
|
10
|
+
function createDefaultSeed() {
|
|
11
|
+
return randomBytes(seedByteLength).readBigUInt64BE();
|
|
12
|
+
}
|
|
13
|
+
function writeStdoutLine(line) {
|
|
14
|
+
process.stdout.write(`${line}\n`);
|
|
15
|
+
}
|
|
16
|
+
function writeStderrLine(line) {
|
|
17
|
+
process.stderr.write(`${line}\n`);
|
|
18
|
+
}
|
|
19
|
+
export const orchestrator = createRunOrchestrator({
|
|
20
|
+
createSeed: createDefaultSeed,
|
|
21
|
+
createResourceUsageTracker(options) {
|
|
22
|
+
return createNodeResourceUsageTracker(defaultWallClock, options);
|
|
23
|
+
},
|
|
24
|
+
defaultEngine: defaultRunEngine,
|
|
25
|
+
execute: createExecute({
|
|
26
|
+
reporterDispatcher: createReporterDispatcher({
|
|
27
|
+
stderr: { writeLine: writeStderrLine },
|
|
28
|
+
stdout: { writeLine: writeStdoutLine },
|
|
29
|
+
wallClock: defaultWallClock
|
|
30
|
+
}),
|
|
31
|
+
wallClock: defaultWallClock
|
|
32
|
+
}),
|
|
33
|
+
node: {
|
|
34
|
+
arch: process.arch,
|
|
35
|
+
platform: process.platform,
|
|
36
|
+
version: process.versions.node
|
|
37
|
+
},
|
|
38
|
+
readStartedAt() {
|
|
39
|
+
const startedAt = new Date(defaultWallClock.currentTimestampInMilliseconds);
|
|
40
|
+
return startedAt.toISOString();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=run-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-orchestrator.js","sourceRoot":"","sources":["../../../../source/run/run-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,UAAU,CAAC;AAEvE,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;AAE3C,SAAS,iBAAiB;IACtB,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB,qBAAqB,CAAC;IAC/D,UAAU,EAAE,iBAAiB;IAC7B,0BAA0B,CAAC,OAAO;QAC9B,OAAO,8BAA8B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,aAAa,EAAE,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;QACnB,kBAAkB,EAAE,wBAAwB,CAAC;YACzC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;YACtC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE;YACtC,SAAS,EAAE,gBAAgB;SAC9B,CAAC;QACF,SAAS,EAAE,gBAAgB;KAC9B,CAAC;IACF,IAAI,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;KACjC;IACD,aAAa;QACT,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { invalidRequest, RunCollectionError } from "./run-errors.js";
|
|
10
|
+
async function importUnknownModule(href) {
|
|
11
|
+
return await import(__rewriteRelativeImportExtension(href));
|
|
12
|
+
}
|
|
13
|
+
function isTestModuleNamespace(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null;
|
|
15
|
+
}
|
|
16
|
+
async function importRawTestModule(file) {
|
|
17
|
+
try {
|
|
18
|
+
return await importUnknownModule(file.href);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw new RunCollectionError(`Failed to load test module: ${file.file}`, { cause: error }, 'loader');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function importTestModule(file) {
|
|
25
|
+
const moduleNamespace = await importRawTestModule(file);
|
|
26
|
+
if (!isTestModuleNamespace(moduleNamespace)) {
|
|
27
|
+
throw new RunCollectionError(`Test module namespace must be an object: ${file.file}`, { cause: null }, 'loader');
|
|
28
|
+
}
|
|
29
|
+
return moduleNamespace;
|
|
30
|
+
}
|
|
31
|
+
function readTestNode(moduleNamespace, file, engine) {
|
|
32
|
+
if (!Object.hasOwn(moduleNamespace, 'testNode')) {
|
|
33
|
+
invalidRequest(`Test module must export testNode: ${file.file}`);
|
|
34
|
+
}
|
|
35
|
+
const { testNode } = moduleNamespace;
|
|
36
|
+
if (!engine.ownsTestNode(testNode)) {
|
|
37
|
+
invalidRequest(`Test module testNode must be created by the selected engine: ${file.file}`);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
file: file.file,
|
|
41
|
+
testNode
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export async function loadRunTestModules(files, engine) {
|
|
45
|
+
const [firstFile, ...remainingFiles] = files;
|
|
46
|
+
const firstTestFile = readTestNode(await importTestModule(firstFile), firstFile, engine);
|
|
47
|
+
const remainingTestFiles = [];
|
|
48
|
+
for (const file of remainingFiles) {
|
|
49
|
+
remainingTestFiles.push(readTestNode(await importTestModule(file), file, engine));
|
|
50
|
+
}
|
|
51
|
+
return [firstTestFile, ...remainingTestFiles];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=run-test-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-test-modules.js","sourceRoot":"","sources":["../../../../source/run/run-test-modules.ts"],"names":[],"mappings":";;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrE,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,OAAO,MAAM,MAAM,kCAAC,IAAI,EAAY,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IACnD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CACxB,4CAA4C,IAAI,CAAC,IAAI,EAAE,EACvD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,eAAoC,EAAE,IAAuB,EAAE,MAAc;IAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,gEAAgE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;KACX,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAA+C,EAC/C,MAAc;IAEd,MAAM,CAAE,SAAS,EAAE,GAAG,cAAc,CAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CAAE,aAAa,EAAE,GAAG,kBAAkB,CAAE,CAAC;AACpD,CAAC"}
|