@overkill-dev/run 0.0.10 → 0.0.12
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/diff/diff-shape.d.ts +7 -2
- package/diff/diff-shape.d.ts.map +1 -1
- package/engine/assertion-recorder.js +242 -0
- package/engine/assertion-recorder.js.map +1 -0
- package/engine/case-execution.js +31 -247
- package/engine/case-execution.js.map +1 -1
- 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/execution-result.js +12 -4
- package/engine/execution-result.js.map +1 -1
- package/engine/execution-supervision.d.ts +50 -0
- package/engine/execution-supervision.d.ts.map +1 -0
- package/engine/execution-supervision.js +316 -0
- package/engine/execution-supervision.js.map +1 -0
- package/engine/execution.d.ts +4 -1
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +70 -61
- package/engine/execution.js.map +1 -1
- 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/reporter.d.ts +3 -3
- package/engine/reporter.d.ts.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/run-result.d.ts +15 -5
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js.map +1 -1
- package/engine/test-node.d.ts +2 -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 +7 -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 -6
- package/reporters/line-reporter.js +15 -10
- package/reporters/line-reporter.js.map +1 -1
- 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/resource-usage.d.ts.map +1 -1
- package/run/resource-usage.js +16 -17
- package/run/resource-usage.js.map +1 -1
- package/run/run-config.d.ts +6 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +67 -24
- 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 +46 -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 → run-types.d.ts} +23 -27
- package/run/run-types.d.ts.map +1 -0
- package/run/run.js +110 -79
- package/run/run.js.map +1 -1
- package/run/supervised-run.js +358 -0
- package/run/supervised-run.js.map +1 -0
- package/sbom.cdx.json +4 -4
- package/run/run.d.ts.map +0 -1
|
@@ -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-types.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,gBAAgB,CAAC;AAE7E,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-usage.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAGR,uBAAuB,EAC1B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-usage.d.ts","sourceRoot":"","sources":["../../../../source/run/resource-usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAGR,uBAAuB,EAC1B,MAAM,yBAAyB,CAAC;AAMjC,KAAK,gCAAgC,GAAG;IACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC1D,QAAQ,CAAC,6BAA6B,EAAE,MAAM,MAAM,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,MAAM,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;CACjD,CAAC;AA8FF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,gCAAgC,EAC9C,OAAO,EAAE,2BAA2B,GACrC,uBAAuB,CAoCzB;AAED,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,GACrC,uBAAuB,CAazB"}
|
package/run/resource-usage.js
CHANGED
|
@@ -6,21 +6,13 @@ function sortedUnique(values) {
|
|
|
6
6
|
});
|
|
7
7
|
}
|
|
8
8
|
function readResourceUsageSample(dependencies) {
|
|
9
|
-
return {
|
|
10
|
-
capturedAtMilliseconds: dependencies.wallClock.currentTimestampInMilliseconds,
|
|
11
|
-
javaScriptEngineHeapBytes: dependencies.readJavaScriptEngineHeapBytes(),
|
|
12
|
-
residentSetBytes: dependencies.readResidentSetBytes()
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
function readResourceUsageSnapshot(dependencies) {
|
|
16
|
-
const sample = readResourceUsageSample(dependencies);
|
|
17
9
|
const activeResourceTypes = dependencies.readActiveResourceTypes();
|
|
18
10
|
return {
|
|
19
11
|
activeResourceCount: activeResourceTypes.length,
|
|
20
12
|
activeResourceTypes: sortedUnique(activeResourceTypes),
|
|
21
|
-
capturedAtMilliseconds:
|
|
22
|
-
javaScriptEngineHeapBytes:
|
|
23
|
-
residentSetBytes:
|
|
13
|
+
capturedAtMilliseconds: dependencies.wallClock.currentTimestampInMilliseconds,
|
|
14
|
+
javaScriptEngineHeapBytes: dependencies.readJavaScriptEngineHeapBytes(),
|
|
15
|
+
residentSetBytes: dependencies.readResidentSetBytes()
|
|
24
16
|
};
|
|
25
17
|
}
|
|
26
18
|
function maximumSampleValue(samples, readValue) {
|
|
@@ -47,9 +39,13 @@ function peakResidentSetGrowthBytesPerSecond(samples) {
|
|
|
47
39
|
}
|
|
48
40
|
function createResourceUsage(start, end, samples) {
|
|
49
41
|
return {
|
|
50
|
-
activeResourceTypes: sortedUnique(
|
|
42
|
+
activeResourceTypes: sortedUnique(samples.flatMap(function toActiveResourceTypes(sample) {
|
|
43
|
+
return sample.activeResourceTypes;
|
|
44
|
+
})),
|
|
51
45
|
end,
|
|
52
|
-
peakActiveResourceCount:
|
|
46
|
+
peakActiveResourceCount: maximumSampleValue(samples, function readActiveResourceCount(sample) {
|
|
47
|
+
return sample.activeResourceCount;
|
|
48
|
+
}),
|
|
53
49
|
peakJavaScriptEngineHeapBytes: maximumSampleValue(samples, function readJavaScriptEngineHeapBytes(sample) {
|
|
54
50
|
return sample.javaScriptEngineHeapBytes;
|
|
55
51
|
}),
|
|
@@ -74,18 +70,21 @@ export function createResourceUsageTracker(dependencies, options) {
|
|
|
74
70
|
dependencies.wallClock.clearInterval(intervalIdentifier);
|
|
75
71
|
intervalIdentifier = null;
|
|
76
72
|
}
|
|
77
|
-
const endSnapshot =
|
|
73
|
+
const endSnapshot = readResourceUsageSample(dependencies);
|
|
78
74
|
samples = [...samples, endSnapshot];
|
|
79
75
|
return createResourceUsage(startSnapshot, endSnapshot, samples);
|
|
80
76
|
},
|
|
81
|
-
start() {
|
|
77
|
+
start(onSample) {
|
|
82
78
|
if (startSnapshot !== null) {
|
|
83
79
|
throw new Error('Resource usage tracking already started.');
|
|
84
80
|
}
|
|
85
|
-
startSnapshot =
|
|
81
|
+
startSnapshot = readResourceUsageSample(dependencies);
|
|
86
82
|
samples = [startSnapshot];
|
|
83
|
+
onSample?.(startSnapshot);
|
|
87
84
|
intervalIdentifier = dependencies.wallClock.setInterval(function collectResourceUsageSample() {
|
|
88
|
-
|
|
85
|
+
const sample = readResourceUsageSample(dependencies);
|
|
86
|
+
samples = [...samples, sample];
|
|
87
|
+
onSample?.(sample);
|
|
89
88
|
}, options.samplingIntervalMilliseconds);
|
|
90
89
|
}
|
|
91
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-usage.js","sourceRoot":"","sources":["../../../../source/run/resource-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C,MAAM,qBAAqB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"resource-usage.js","sourceRoot":"","sources":["../../../../source/run/resource-usage.ts"],"names":[],"mappings":"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"}
|
package/run/run-config.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
2
|
import { type OutputRenderer } from '../engine/reporter-output.ts';
|
|
3
3
|
import type { Reporter } from '../engine/reporter.ts';
|
|
4
|
-
import type { RunLoaderConfig, RunProfilesConfig } from './run.ts';
|
|
4
|
+
import type { RunLoaderConfig, RunProfilesConfig } from './run-types.ts';
|
|
5
5
|
export type RunProjectConfig = {
|
|
6
6
|
readonly loader?: RunLoaderConfig | undefined;
|
|
7
7
|
readonly outputRenderer?: OutputRenderer | undefined;
|
|
@@ -24,12 +24,16 @@ export type RunProjectResourceBudgets = {
|
|
|
24
24
|
readonly residentSetGrowthBytesPerSecond?: number | null | undefined;
|
|
25
25
|
};
|
|
26
26
|
export type RunProjectMeasuredMicrotestProfileConfig = {
|
|
27
|
+
readonly hardTimeoutMilliseconds?: number | undefined;
|
|
27
28
|
readonly measureResourceUsage: true;
|
|
28
29
|
readonly resourceBudgets?: RunProjectResourceBudgets | undefined;
|
|
29
30
|
readonly resourceUsageSamplingIntervalMilliseconds?: number | undefined;
|
|
31
|
+
readonly timeoutMilliseconds?: number | undefined;
|
|
30
32
|
};
|
|
31
33
|
export type RunProjectUnmeasuredMicrotestProfileConfig = {
|
|
34
|
+
readonly hardTimeoutMilliseconds?: number | undefined;
|
|
32
35
|
readonly measureResourceUsage?: false | undefined;
|
|
36
|
+
readonly timeoutMilliseconds?: number | undefined;
|
|
33
37
|
};
|
|
34
38
|
type RunProjectMicrotestProfileConfigVariants = readonly [
|
|
35
39
|
RunProjectMeasuredMicrotestProfileConfig,
|
|
@@ -38,6 +42,7 @@ type RunProjectMicrotestProfileConfigVariants = readonly [
|
|
|
38
42
|
export type RunProjectMicrotestProfileConfig = RunProjectMicrotestProfileConfigVariants[number];
|
|
39
43
|
export type RunProjectProfilesConfig = {
|
|
40
44
|
readonly microtest?: RunProjectMicrotestProfileConfig | undefined;
|
|
45
|
+
readonly microtestSupervised?: RunProjectMicrotestProfileConfig | undefined;
|
|
41
46
|
};
|
|
42
47
|
export type RunConfigLoadRequest = {
|
|
43
48
|
readonly configPath: string | null;
|
package/run/run-config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-config.d.ts","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EACR,eAAe,EACf,iBAAiB,EAGpB,MAAM,
|
|
1
|
+
{"version":3,"file":"run-config.d.ts","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":"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"}
|
package/run/run-config.js
CHANGED
|
@@ -14,6 +14,8 @@ import { z } from 'zod/v4';
|
|
|
14
14
|
import { createPlainOutputRenderer } from "../engine/reporter-output.js";
|
|
15
15
|
const defaultConfigFileNames = ['overkill.config.ts', 'overkill.config.js'];
|
|
16
16
|
const defaultResourceUsageSamplingIntervalMilliseconds = 100;
|
|
17
|
+
const defaultMicrotestHardTimeoutMilliseconds = 1000;
|
|
18
|
+
const defaultMicrotestTimeoutMilliseconds = 500;
|
|
17
19
|
export class RunConfigError extends Error {
|
|
18
20
|
constructor(message, options) {
|
|
19
21
|
super(message, options);
|
|
@@ -25,6 +27,7 @@ const defaultLoader = {
|
|
|
25
27
|
stripMode: 'strip-only'
|
|
26
28
|
};
|
|
27
29
|
const defaultResourceUsagePolicy = {
|
|
30
|
+
hardTimeoutMilliseconds: defaultMicrotestHardTimeoutMilliseconds,
|
|
28
31
|
measureResourceUsage: false,
|
|
29
32
|
resourceBudgets: {
|
|
30
33
|
activeResourceCount: null,
|
|
@@ -32,7 +35,8 @@ const defaultResourceUsagePolicy = {
|
|
|
32
35
|
residentSetBytes: null,
|
|
33
36
|
residentSetGrowthBytesPerSecond: null
|
|
34
37
|
},
|
|
35
|
-
resourceUsageSamplingIntervalMilliseconds: defaultResourceUsageSamplingIntervalMilliseconds
|
|
38
|
+
resourceUsageSamplingIntervalMilliseconds: defaultResourceUsageSamplingIntervalMilliseconds,
|
|
39
|
+
timeoutMilliseconds: defaultMicrotestTimeoutMilliseconds
|
|
36
40
|
};
|
|
37
41
|
const reporterSchema = z.custom(function isReporter(value) {
|
|
38
42
|
return typeof value === 'object' && value !== null &&
|
|
@@ -48,7 +52,7 @@ const outputRendererSchema = z.custom(function isOutputRenderer(value) {
|
|
|
48
52
|
});
|
|
49
53
|
const loaderSchema = z.strictObject({
|
|
50
54
|
sourceMaps: z.boolean(),
|
|
51
|
-
stripMode: z.
|
|
55
|
+
stripMode: z.literal('strip-only')
|
|
52
56
|
});
|
|
53
57
|
const positiveSafeIntegerSchema = z.number().refine(function isPositiveSafeInteger(value) {
|
|
54
58
|
return Number.isSafeInteger(value) && value > 0;
|
|
@@ -60,22 +64,27 @@ const resourceBudgetsSchema = z.strictObject({
|
|
|
60
64
|
residentSetGrowthBytesPerSecond: z.optional(z.nullable(positiveSafeIntegerSchema))
|
|
61
65
|
});
|
|
62
66
|
const measuredMicrotestProfileSchema = z.strictObject({
|
|
67
|
+
hardTimeoutMilliseconds: z.optional(positiveSafeIntegerSchema),
|
|
63
68
|
measureResourceUsage: z.literal(true),
|
|
64
69
|
resourceBudgets: z.optional(resourceBudgetsSchema),
|
|
65
|
-
resourceUsageSamplingIntervalMilliseconds: z.optional(positiveSafeIntegerSchema)
|
|
70
|
+
resourceUsageSamplingIntervalMilliseconds: z.optional(positiveSafeIntegerSchema),
|
|
71
|
+
timeoutMilliseconds: z.optional(positiveSafeIntegerSchema)
|
|
66
72
|
});
|
|
67
73
|
const unmeasuredMicrotestProfileSchema = z.strictObject({
|
|
68
|
-
|
|
74
|
+
hardTimeoutMilliseconds: z.optional(positiveSafeIntegerSchema),
|
|
75
|
+
measureResourceUsage: z.optional(z.literal(false)),
|
|
76
|
+
timeoutMilliseconds: z.optional(positiveSafeIntegerSchema)
|
|
69
77
|
});
|
|
70
78
|
const microtestProfileSchema = z.union([measuredMicrotestProfileSchema, unmeasuredMicrotestProfileSchema]);
|
|
71
79
|
const profilesSchema = z.strictObject({
|
|
72
|
-
microtest: z.optional(microtestProfileSchema)
|
|
80
|
+
microtest: z.optional(microtestProfileSchema),
|
|
81
|
+
microtestSupervised: z.optional(microtestProfileSchema)
|
|
73
82
|
});
|
|
74
83
|
const projectConfigSchema = z.strictObject({
|
|
75
84
|
loader: z.optional(loaderSchema),
|
|
76
85
|
outputRenderer: z.optional(outputRendererSchema),
|
|
77
86
|
profiles: z.optional(profilesSchema),
|
|
78
|
-
reporters: z.optional(z.
|
|
87
|
+
reporters: z.optional(z.tuple([reporterSchema]).rest(reporterSchema)),
|
|
79
88
|
runtimeStateDir: z.optional(z.string().min(1))
|
|
80
89
|
});
|
|
81
90
|
export function defineConfig(config) {
|
|
@@ -123,14 +132,7 @@ function readDefaultExport(configModule, configPath) {
|
|
|
123
132
|
throw new RunConfigError(`Config file "${configPath}" must export a default config object.`);
|
|
124
133
|
}
|
|
125
134
|
function normalizeReporters(reporters) {
|
|
126
|
-
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
const [firstReporter, ...remainingReporters] = reporters;
|
|
130
|
-
if (firstReporter === undefined) {
|
|
131
|
-
throw new RunConfigError('Config reporters must not be empty.');
|
|
132
|
-
}
|
|
133
|
-
return [firstReporter, ...remainingReporters];
|
|
135
|
+
return reporters ?? null;
|
|
134
136
|
}
|
|
135
137
|
function normalizeBudgetValue(value) {
|
|
136
138
|
return value ?? null;
|
|
@@ -143,20 +145,64 @@ function normalizeResourceBudgets(resourceBudgets) {
|
|
|
143
145
|
residentSetGrowthBytesPerSecond: normalizeBudgetValue(resourceBudgets?.residentSetGrowthBytesPerSecond)
|
|
144
146
|
};
|
|
145
147
|
}
|
|
146
|
-
function
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
function disabledResourceBudgets() {
|
|
149
|
+
return {
|
|
150
|
+
activeResourceCount: null,
|
|
151
|
+
javaScriptEngineHeapBytes: null,
|
|
152
|
+
residentSetBytes: null,
|
|
153
|
+
residentSetGrowthBytesPerSecond: null
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function copyResourceBudgets(resourceBudgets) {
|
|
150
157
|
return {
|
|
158
|
+
activeResourceCount: resourceBudgets.activeResourceCount,
|
|
159
|
+
javaScriptEngineHeapBytes: resourceBudgets.javaScriptEngineHeapBytes,
|
|
160
|
+
residentSetBytes: resourceBudgets.residentSetBytes,
|
|
161
|
+
residentSetGrowthBytesPerSecond: resourceBudgets.residentSetGrowthBytesPerSecond
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function copyResourceUsagePolicy(policy) {
|
|
165
|
+
return {
|
|
166
|
+
hardTimeoutMilliseconds: policy.hardTimeoutMilliseconds,
|
|
167
|
+
measureResourceUsage: policy.measureResourceUsage,
|
|
168
|
+
resourceBudgets: copyResourceBudgets(policy.resourceBudgets),
|
|
169
|
+
resourceUsageSamplingIntervalMilliseconds: policy.resourceUsageSamplingIntervalMilliseconds,
|
|
170
|
+
timeoutMilliseconds: policy.timeoutMilliseconds
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
function normalizeUnmeasuredMicrotestProfile(profile, inheritedPolicy) {
|
|
174
|
+
return {
|
|
175
|
+
hardTimeoutMilliseconds: profile.hardTimeoutMilliseconds ?? inheritedPolicy.hardTimeoutMilliseconds,
|
|
176
|
+
measureResourceUsage: false,
|
|
177
|
+
resourceBudgets: disabledResourceBudgets(),
|
|
178
|
+
resourceUsageSamplingIntervalMilliseconds: inheritedPolicy.resourceUsageSamplingIntervalMilliseconds,
|
|
179
|
+
timeoutMilliseconds: profile.timeoutMilliseconds ?? inheritedPolicy.timeoutMilliseconds
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
function normalizeMeasuredMicrotestProfile(profile, inheritedPolicy) {
|
|
183
|
+
return {
|
|
184
|
+
hardTimeoutMilliseconds: profile.hardTimeoutMilliseconds ?? inheritedPolicy.hardTimeoutMilliseconds,
|
|
151
185
|
measureResourceUsage: true,
|
|
152
186
|
resourceBudgets: normalizeResourceBudgets(profile.resourceBudgets),
|
|
153
187
|
resourceUsageSamplingIntervalMilliseconds: profile.resourceUsageSamplingIntervalMilliseconds ??
|
|
154
|
-
|
|
188
|
+
inheritedPolicy.resourceUsageSamplingIntervalMilliseconds,
|
|
189
|
+
timeoutMilliseconds: profile.timeoutMilliseconds ?? inheritedPolicy.timeoutMilliseconds
|
|
155
190
|
};
|
|
156
191
|
}
|
|
192
|
+
function normalizeMicrotestProfile(profile, inheritedPolicy) {
|
|
193
|
+
if (profile === undefined) {
|
|
194
|
+
return copyResourceUsagePolicy(inheritedPolicy);
|
|
195
|
+
}
|
|
196
|
+
if (profile.measureResourceUsage !== true) {
|
|
197
|
+
return normalizeUnmeasuredMicrotestProfile(profile, inheritedPolicy);
|
|
198
|
+
}
|
|
199
|
+
return normalizeMeasuredMicrotestProfile(profile, inheritedPolicy);
|
|
200
|
+
}
|
|
157
201
|
function normalizeProfiles(profiles) {
|
|
202
|
+
const microtest = normalizeMicrotestProfile(profiles?.microtest, defaultResourceUsagePolicy);
|
|
158
203
|
return {
|
|
159
|
-
microtest
|
|
204
|
+
microtest,
|
|
205
|
+
microtestSupervised: normalizeMicrotestProfile(profiles?.microtestSupervised, microtest)
|
|
160
206
|
};
|
|
161
207
|
}
|
|
162
208
|
function normalizeConfig(parsedConfig, configPath) {
|
|
@@ -175,10 +221,7 @@ function parseConfig(configValue, configPath) {
|
|
|
175
221
|
return parsedConfig;
|
|
176
222
|
}
|
|
177
223
|
catch (error) {
|
|
178
|
-
|
|
179
|
-
throw new RunConfigError(`Invalid config file "${configPath}": ${error.message}`, { cause: error });
|
|
180
|
-
}
|
|
181
|
-
throw error;
|
|
224
|
+
throw new RunConfigError(`Invalid config file "${configPath}": ${String(error)}`, { cause: error });
|
|
182
225
|
}
|
|
183
226
|
}
|
|
184
227
|
export async function loadRunConfig(request) {
|
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;
|
|
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"}
|