@overkill-dev/run 0.0.31 → 0.0.32
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/assertion-protocol/assertion-node-shape.d.ts +9 -1
- package/assertion-protocol/assertion-node-shape.d.ts.map +1 -1
- package/assertion-protocol/source-location.d.ts +8 -0
- package/assertion-protocol/source-location.d.ts.map +1 -0
- package/assertion-protocol/source-location.js +30 -8
- package/assertion-protocol/source-location.js.map +1 -1
- package/engine/execution.d.ts +5 -5
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +73 -68
- package/engine/execution.js.map +1 -1
- package/engine/reporter-dispatcher.d.ts +11 -5
- package/engine/reporter-dispatcher.d.ts.map +1 -1
- package/engine/reporter-dispatcher.js +78 -101
- package/engine/reporter-dispatcher.js.map +1 -1
- package/engine/reporter-disposal.d.ts +6 -0
- package/engine/reporter-disposal.d.ts.map +1 -0
- package/engine/reporter-disposal.js +13 -0
- package/engine/reporter-disposal.js.map +1 -0
- package/engine/reporter-error-delivery-tracking.js +22 -0
- package/engine/reporter-error-delivery-tracking.js.map +1 -0
- package/engine/reporter-event-queue.js +2 -2
- package/engine/reporter-event-queue.js.map +1 -1
- package/engine/reporter-managed-output.js +84 -0
- package/engine/reporter-managed-output.js.map +1 -0
- package/engine/reporter-output.d.ts +5 -2
- package/engine/reporter-output.d.ts.map +1 -1
- package/engine/reporter-output.js +9 -7
- package/engine/reporter-output.js.map +1 -1
- package/engine/reporter.d.ts +4 -2
- package/engine/reporter.d.ts.map +1 -1
- package/engine/reporter.js +3 -3
- package/engine/reporter.js.map +1 -1
- package/engine/reporting-context.d.ts +18 -0
- package/engine/reporting-context.d.ts.map +1 -0
- package/engine/reporting-context.js +74 -0
- package/engine/reporting-context.js.map +1 -0
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +4 -0
- package/engine/test-node.js.map +1 -1
- package/package.json +8 -3
- package/packages/engine/assertion-protocol.entry-point.d.ts +2 -1
- package/packages/engine/assertion-protocol.entry-point.d.ts.map +1 -1
- package/packages/engine/assertion-protocol.entry-point.js +1 -0
- package/packages/engine/assertion-protocol.entry-point.js.map +1 -1
- package/packages/engine/engine.entry-point.js +61 -0
- package/packages/engine/engine.entry-point.js.map +1 -0
- package/packages/reporter-line/reporter-line.entry-point.js +7 -0
- package/packages/reporter-line/reporter-line.entry-point.js.map +1 -0
- package/reporters/line-failure-rendering.js +235 -0
- package/reporters/line-failure-rendering.js.map +1 -0
- package/reporters/line-reporter.js +154 -0
- package/reporters/line-reporter.js.map +1 -0
- package/reporters/serialized-value-rendering.js +108 -0
- package/reporters/serialized-value-rendering.js.map +1 -0
- package/reporters/terminal.js +13 -0
- package/reporters/terminal.js.map +1 -0
- package/run/command-line-runner.d.ts +3 -3
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +2 -19
- package/run/command-line-runner.js.map +1 -1
- package/run/default-direct-reporter.js +2 -6
- package/run/default-direct-reporter.js.map +1 -1
- package/run/run-collection-error-result.js +8 -9
- package/run/run-collection-error-result.js.map +1 -1
- package/run/run-config.d.ts +4 -4
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js.map +1 -1
- package/run/run-discovery.js +10 -2
- package/run/run-discovery.js.map +1 -1
- package/run/run-facts.js +1 -0
- package/run/run-facts.js.map +1 -1
- package/run/run-if-main-facts.js +2 -1
- package/run/run-if-main-facts.js.map +1 -1
- package/run/run-if-main-options.d.ts +6 -6
- package/run/run-if-main-options.d.ts.map +1 -1
- package/run/run-if-main-options.js.map +1 -1
- package/run/run-if-main-profile.js +1 -0
- package/run/run-if-main-profile.js.map +1 -1
- package/run/run-if-main.js +1 -1
- package/run/run-if-main.js.map +1 -1
- package/run/run-input-resolution.js +3 -3
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-list-renderer.js +39 -51
- package/run/run-list-renderer.js.map +1 -1
- package/run/run-types.d.ts +1 -0
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run.js +21 -5
- package/run/run.js.map +1 -1
- package/run/supervised-child.js +16 -16
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-run-runtime.js +10 -13
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run.js +5 -5
- package/run/supervised-run.js.map +1 -1
- package/sbom.cdx.json +67 -16
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { KnownSourceLocation, SourceLocation } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
export type ReportingContext = {
|
|
3
|
+
readonly relativizeLocationPath: (location: KnownSourceLocation) => string;
|
|
4
|
+
};
|
|
5
|
+
export type RenderedSourceLocations = {
|
|
6
|
+
readonly details: readonly string[];
|
|
7
|
+
readonly primary: string | null;
|
|
8
|
+
};
|
|
9
|
+
type ReportingContextState = {
|
|
10
|
+
readonly projectRoot: string | null;
|
|
11
|
+
};
|
|
12
|
+
export declare function relativizeSourceLocationPath(location: KnownSourceLocation, projectRoot: string | null): string;
|
|
13
|
+
export declare function createReportingContext(state: ReportingContextState): ReportingContext;
|
|
14
|
+
export declare function formatSourceLocation(location: SourceLocation, context: ReportingContext): string | null;
|
|
15
|
+
export declare function formatDefinitionLocations(locations: readonly SourceLocation[], context: ReportingContext): RenderedSourceLocations;
|
|
16
|
+
export declare function formatAssertionSourceLocations(locations: readonly SourceLocation[], context: ReportingContext): RenderedSourceLocations;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=reporting-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-context.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporting-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAGzG,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,sBAAsB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,MAAM,CAAC;CAC9E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AAkCF,wBAAgB,4BAA4B,CACxC,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,CAaR;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,CAMrF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAkBvG;AAwBD,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE,gBAAgB,GAC1B,uBAAuB,CAEzB;AAED,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE,gBAAgB,GAC1B,uBAAuB,CAEzB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { ensureKnownSourceLocation, ensureValidSourceLocation } from "../assertion-protocol/source-location.js";
|
|
3
|
+
const secondToLastOffset = 2;
|
|
4
|
+
function normalizedPath(file) {
|
|
5
|
+
return file.replaceAll('\\', '/');
|
|
6
|
+
}
|
|
7
|
+
function pathApi(file) {
|
|
8
|
+
return path.win32.isAbsolute(file) ? path.win32 : path.posix;
|
|
9
|
+
}
|
|
10
|
+
function isAbsolutePath(file) {
|
|
11
|
+
return path.posix.isAbsolute(file) || path.win32.isAbsolute(file);
|
|
12
|
+
}
|
|
13
|
+
function isOutsideRoot(relativeFile) {
|
|
14
|
+
return relativeFile === '..' ||
|
|
15
|
+
relativeFile.startsWith('../') ||
|
|
16
|
+
relativeFile.startsWith('..\\') ||
|
|
17
|
+
isAbsolutePath(relativeFile);
|
|
18
|
+
}
|
|
19
|
+
function rawLocationPath(location) {
|
|
20
|
+
ensureValidSourceLocation(location);
|
|
21
|
+
return normalizedPath(location.file);
|
|
22
|
+
}
|
|
23
|
+
export function relativizeSourceLocationPath(location, projectRoot) {
|
|
24
|
+
ensureValidSourceLocation(location);
|
|
25
|
+
if (projectRoot === null || !isAbsolutePath(location.file) || !isAbsolutePath(projectRoot)) {
|
|
26
|
+
return rawLocationPath(location);
|
|
27
|
+
}
|
|
28
|
+
const platformPath = pathApi(location.file);
|
|
29
|
+
const relativeFile = platformPath.relative(projectRoot, location.file);
|
|
30
|
+
return relativeFile.length > 0 && !isOutsideRoot(relativeFile)
|
|
31
|
+
? normalizedPath(relativeFile)
|
|
32
|
+
: rawLocationPath(location);
|
|
33
|
+
}
|
|
34
|
+
export function createReportingContext(state) {
|
|
35
|
+
return {
|
|
36
|
+
relativizeLocationPath(location) {
|
|
37
|
+
return relativizeSourceLocationPath(location, state.projectRoot);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function formatSourceLocation(location, context) {
|
|
42
|
+
const knownLocation = ensureKnownSourceLocation(location);
|
|
43
|
+
if (knownLocation === null) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const file = context.relativizeLocationPath(knownLocation);
|
|
47
|
+
if (knownLocation.line === null) {
|
|
48
|
+
return file;
|
|
49
|
+
}
|
|
50
|
+
if (knownLocation.column === null) {
|
|
51
|
+
return `${file}:${knownLocation.line}`;
|
|
52
|
+
}
|
|
53
|
+
return `${file}:${knownLocation.line}:${knownLocation.column}`;
|
|
54
|
+
}
|
|
55
|
+
function formatLocationChain(locations, context, labels) {
|
|
56
|
+
const primaryLocation = locations[0];
|
|
57
|
+
const primary = primaryLocation === undefined ? null : formatSourceLocation(primaryLocation, context);
|
|
58
|
+
const details = locations.slice(1).flatMap(function renderSourceLocation(location, index) {
|
|
59
|
+
const renderedLocation = formatSourceLocation(location, context);
|
|
60
|
+
if (renderedLocation === null) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
const label = index === locations.length - secondToLastOffset ? labels.final : labels.intermediate;
|
|
64
|
+
return [`${label} ${renderedLocation}`];
|
|
65
|
+
});
|
|
66
|
+
return { details, primary };
|
|
67
|
+
}
|
|
68
|
+
export function formatDefinitionLocations(locations, context) {
|
|
69
|
+
return formatLocationChain(locations, context, { final: 'constructed at', intermediate: 'expanded at' });
|
|
70
|
+
}
|
|
71
|
+
export function formatAssertionSourceLocations(locations, context) {
|
|
72
|
+
return formatLocationChain(locations, context, { final: 'asserted at', intermediate: 'forwarded through' });
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=reporting-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-context.js","sourceRoot":"","sources":["../../../../source/engine/reporting-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-node.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;
|
|
1
|
+
{"version":3,"file":"test-node.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"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"}
|
package/engine/test-node.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ensureValidSourceLocation } from "../assertion-protocol/source-location.js";
|
|
1
2
|
import { ensureMetadata } from "./metadata.js";
|
|
2
3
|
const testNodeBrand = Symbol.for('@overkill-dev/engine/TestNode');
|
|
3
4
|
const testRootBrand = Symbol.for('@overkill-dev/engine/TestRoot');
|
|
@@ -39,6 +40,9 @@ function ensureDefinitionLocations(definitionLocations) {
|
|
|
39
40
|
if (definitionLocations.length === 0) {
|
|
40
41
|
throw new TypeError('Test node definition locations must contain at least one location.');
|
|
41
42
|
}
|
|
43
|
+
for (const location of definitionLocations) {
|
|
44
|
+
ensureValidSourceLocation(location);
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
export function isTestNode(value) {
|
|
44
48
|
return typeof value === 'object' && value !== null && Object.hasOwn(value, testNodeBrand);
|
package/engine/test-node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-node.js","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-node.js","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@enormora/wall-clock": "0.0.3",
|
|
8
|
-
"@overkill-dev/reporter-line": "0.0.24",
|
|
9
8
|
"@schema-hub/zod-error-formatter": "0.0.16",
|
|
9
|
+
"ansi-escapes": "7.3.0",
|
|
10
10
|
"diff": "9.0.0",
|
|
11
|
+
"figures": "6.1.0",
|
|
12
|
+
"string-width": "8.2.2",
|
|
13
|
+
"yoctocolors": "2.2.0",
|
|
11
14
|
"zod": "4.5.4"
|
|
12
15
|
},
|
|
13
16
|
"description": "Overkill run resolution and orchestration.",
|
|
@@ -49,10 +52,12 @@
|
|
|
49
52
|
"./assertion-protocol/source-location-forwarding.js",
|
|
50
53
|
"./engine/execution.js",
|
|
51
54
|
"./engine/metadata.js",
|
|
52
|
-
"./engine/reporter-
|
|
55
|
+
"./engine/reporter-error-delivery-tracking.js",
|
|
53
56
|
"./engine/reporter-output.js",
|
|
54
57
|
"./engine/reporter.js",
|
|
55
58
|
"./engine/test-node.js",
|
|
59
|
+
"./packages/engine/engine.entry-point.js",
|
|
60
|
+
"./reporters/line-reporter.js",
|
|
56
61
|
"./run/capability-policy.js",
|
|
57
62
|
"./run/command-line-command.js",
|
|
58
63
|
"./run/command-line-runner.js",
|
|
@@ -71,5 +76,5 @@
|
|
|
71
76
|
"./run/supervised-child.entry-point.js"
|
|
72
77
|
],
|
|
73
78
|
"type": "module",
|
|
74
|
-
"version": "0.0.
|
|
79
|
+
"version": "0.0.32"
|
|
75
80
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export type { AssertCompositeAssertionReturn, AssertionReference, AssertionReferenceRecord, AssertReferenceArguments, AssertReferenceReturn, CompositeAssertionGroup, CompositeAssertionReference, CompositeAssertionReferenceRecord, CompositeAssertionReturn, CompositeAssertionRunnerInput, CompositeAssertionSummaryContext, CompositeAssertionSummaryFormatter, NarrowingCompositeAssertionReference, NarrowingCompositeAssertionReferenceRecord, NarrowingCompositeAssertionSummaryFormatter } from '../../assertion-protocol/assertion-reference.ts';
|
|
2
2
|
export { createCompositeAssertionGroup, createCompositeAssertionReferenceRecord, createNarrowingCompositeAssertionReferenceRecord, getAssertionReferenceRecord, getCompositeAssertionReferenceRecord, getNarrowingAssertionReferenceRecord, isAssertionReference, isCompositeAssertionGroup, isNarrowingAssertionReference } from '../../assertion-protocol/assertion-reference.ts';
|
|
3
3
|
export type { AssertAssertionNode, BuiltInAssertAssertionNode, CompositeAssertionChildNode, CompositeAssertionNode, ForeignAssertionNode, ForeignAssertionResult, RequireAssertionNode } from '../../assertion-protocol/assertion-node.ts';
|
|
4
|
-
export type { AssertionOptions, AssertionSource, DeepComparable, FailedCheck, FailedCompositeCheck, FailedForeignCheck, FailedLeafCheck, InstanceConstructor, NonEmptyReadonlyArray, ResolvableSourceLocation, ResolvableSourceLocations, SourceLocation, SourceLocationProvider } from '../../assertion-protocol/assertion-node-shape.ts';
|
|
4
|
+
export type { AssertionOptions, AssertionSource, DeepComparable, FailedCheck, FailedCompositeCheck, FailedForeignCheck, FailedLeafCheck, InstanceConstructor, KnownSourceLocation, NonEmptyReadonlyArray, ResolvableSourceLocation, ResolvableSourceLocations, SourceLocation, SourceLocationProvider, UnknownSourceLocation } from '../../assertion-protocol/assertion-node-shape.ts';
|
|
5
5
|
export type { ErrorMatcher, ExactThrownMatcher, SynchronousCallback, ThrownAssertionObservation, ThrownMatcher } from '../../assertion-protocol/thrown-matcher.ts';
|
|
6
6
|
export { thrownMatcherChildren } from '../../assertion-protocol/thrown-matcher.ts';
|
|
7
7
|
export type { ThrownErrorRecord } from '../../assertion-protocol/thrown-error-record.ts';
|
|
8
8
|
export { createThrownErrorRecord } from '../../assertion-protocol/thrown-error-record.ts';
|
|
9
|
+
export { ensureKnownSourceLocation, ensureValidSourceLocation, unknownSourceLocation } from '../../assertion-protocol/source-location.ts';
|
|
9
10
|
//# sourceMappingURL=assertion-protocol.entry-point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-protocol.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/engine/assertion-protocol.entry-point.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,iCAAiC,EACjC,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,oCAAoC,EACpC,0CAA0C,EAC1C,2CAA2C,EAC9C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACH,6BAA6B,EAC7B,uCAAuC,EACvC,gDAAgD,EAChD,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,
|
|
1
|
+
{"version":3,"file":"assertion-protocol.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/engine/assertion-protocol.entry-point.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,iCAAiC,EACjC,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,oCAAoC,EACpC,0CAA0C,EAC1C,2CAA2C,EAC9C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACH,6BAA6B,EAC7B,uCAAuC,EACvC,gDAAgD,EAChD,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACxB,MAAM,kDAAkD,CAAC;AAC1D,YAAY,EACR,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EACH,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACxB,MAAM,6CAA6C,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createCompositeAssertionGroup, createCompositeAssertionReferenceRecord, createNarrowingCompositeAssertionReferenceRecord, getAssertionReferenceRecord, getCompositeAssertionReferenceRecord, getNarrowingAssertionReferenceRecord, isAssertionReference, isCompositeAssertionGroup, isNarrowingAssertionReference } from "../../assertion-protocol/assertion-reference.js";
|
|
2
2
|
export { thrownMatcherChildren } from "../../assertion-protocol/thrown-matcher.js";
|
|
3
3
|
export { createThrownErrorRecord } from "../../assertion-protocol/thrown-error-record.js";
|
|
4
|
+
export { ensureKnownSourceLocation, ensureValidSourceLocation, unknownSourceLocation } from "../../assertion-protocol/source-location.js";
|
|
4
5
|
//# sourceMappingURL=assertion-protocol.entry-point.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-protocol.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/engine/assertion-protocol.entry-point.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,6BAA6B,EAC7B,uCAAuC,EACvC,gDAAgD,EAChD,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"assertion-protocol.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/engine/assertion-protocol.entry-point.ts"],"names":[],"mappings":"AAiBA,OAAO,EACH,6BAA6B,EAC7B,uCAAuC,EACvC,gDAAgD,EAChD,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,iDAAiD,CAAC;AAkCzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EACH,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACxB,MAAM,6CAA6C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createWallClock } from '@enormora/wall-clock';
|
|
2
|
+
import { createEngine as createEngineInstance, createEngineWithOwner } from "../../engine/engine.js";
|
|
3
|
+
import { createExecute } from "../../engine/execution.js";
|
|
4
|
+
import { createReporterDispatcher } from "../../engine/reporter-dispatcher.js";
|
|
5
|
+
import { defaultTestNodeOwner } from "../../engine/test-node.js";
|
|
6
|
+
function writeStdoutLine(line) {
|
|
7
|
+
process.stdout.write(`${line}\n`);
|
|
8
|
+
}
|
|
9
|
+
function writeStderrLine(line) {
|
|
10
|
+
process.stderr.write(`${line}\n`);
|
|
11
|
+
}
|
|
12
|
+
function createEngineDependencies() {
|
|
13
|
+
const wallClock = createWallClock();
|
|
14
|
+
return {
|
|
15
|
+
execute: createExecute({
|
|
16
|
+
reporterDispatcher: createReporterDispatcher({
|
|
17
|
+
stderr: { writeLine: writeStderrLine },
|
|
18
|
+
stdout: { writeLine: writeStdoutLine },
|
|
19
|
+
wallClock
|
|
20
|
+
}),
|
|
21
|
+
wallClock
|
|
22
|
+
}),
|
|
23
|
+
wallClock
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function createEngine() {
|
|
27
|
+
return createEngineInstance(createEngineDependencies());
|
|
28
|
+
}
|
|
29
|
+
const defaultEngine = createEngineWithOwner(createEngineDependencies(), defaultTestNodeOwner());
|
|
30
|
+
export function createRoot(options) {
|
|
31
|
+
return defaultEngine.createRoot(options);
|
|
32
|
+
}
|
|
33
|
+
export function createSuite(options) {
|
|
34
|
+
return defaultEngine.createSuite(options);
|
|
35
|
+
}
|
|
36
|
+
export function createTable(options) {
|
|
37
|
+
return defaultEngine.createTable(options);
|
|
38
|
+
}
|
|
39
|
+
export function createTestCase(options) {
|
|
40
|
+
return defaultEngine.createTestCase(options);
|
|
41
|
+
}
|
|
42
|
+
export function createTestPlan(root) {
|
|
43
|
+
return defaultEngine.createTestPlan(root);
|
|
44
|
+
}
|
|
45
|
+
export function createTestPlanFromTestFiles(options) {
|
|
46
|
+
return defaultEngine.createTestPlanFromTestFiles(options);
|
|
47
|
+
}
|
|
48
|
+
export async function execute(testPlan, options) {
|
|
49
|
+
return await defaultEngine.execute(testPlan, options);
|
|
50
|
+
}
|
|
51
|
+
export function ownsTestNode(value) {
|
|
52
|
+
return defaultEngine.ownsTestNode(value);
|
|
53
|
+
}
|
|
54
|
+
export { formatCaseId } from "../../engine/identity.js";
|
|
55
|
+
export { formatAssertionSourceLocations, formatDefinitionLocations, formatSourceLocation, relativizeSourceLocationPath } from "../../engine/reporting-context.js";
|
|
56
|
+
export { defineReporter, isReporter, ReporterSinkConflictError, validateReporterSinks } from "../../engine/reporter.js";
|
|
57
|
+
export { createPlainOutputRenderer, defineOutputRenderer, isOutputRenderer } from "../../engine/reporter-output.js";
|
|
58
|
+
export { defaultSerializationBudget, serializeValue, serializeValueWithBudget } from "../../compare/serialized-value.js";
|
|
59
|
+
export { captureSourceLocation, unknownSourceLocation } from "../../assertion-protocol/source-location.js";
|
|
60
|
+
export { forwardAssertionSourceLocations } from "../../assertion-protocol/source-location-forwarding.js";
|
|
61
|
+
//# 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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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createLineReporter as createLineReporterInstance } from "../../reporters/line-reporter.js";
|
|
2
|
+
export function createLineReporter() {
|
|
3
|
+
return createLineReporterInstance({
|
|
4
|
+
stdoutConsole: console
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=reporter-line.entry-point.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-line.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/reporter-line/reporter-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAGpG,MAAM,UAAU,kBAAkB;IAC9B,OAAO,0BAA0B,CAAC;QAC9B,aAAa,EAAE,OAAO;KACzB,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import colors from 'yoctocolors';
|
|
2
|
+
import { formatAssertionSourceLocations } from "../engine/reporting-context.js";
|
|
3
|
+
import { formatSerializedValue, keyText } from "./serialized-value-rendering.js";
|
|
4
|
+
const blockLineLimit = 100;
|
|
5
|
+
const bytesPerKilobyte = 1024;
|
|
6
|
+
const valueKilobytes = 8;
|
|
7
|
+
const valueByteLimit = valueKilobytes * bytesPerKilobyte;
|
|
8
|
+
function byteLength(value) {
|
|
9
|
+
return Buffer.byteLength(value, 'utf8');
|
|
10
|
+
}
|
|
11
|
+
function truncateBytes(value) {
|
|
12
|
+
if (byteLength(value) <= valueByteLimit) {
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
let truncated = '';
|
|
16
|
+
for (const character of value) {
|
|
17
|
+
const next = `${truncated}${character}`;
|
|
18
|
+
if (byteLength(next) > valueByteLimit) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
truncated = next;
|
|
22
|
+
}
|
|
23
|
+
return `${truncated}\n... truncated after ${valueByteLimit} bytes`;
|
|
24
|
+
}
|
|
25
|
+
function truncateLines(value) {
|
|
26
|
+
const lines = value.split('\n');
|
|
27
|
+
if (lines.length <= blockLineLimit) {
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
return [
|
|
31
|
+
...lines.slice(0, blockLineLimit),
|
|
32
|
+
`... truncated ${lines.length - blockLineLimit} lines`
|
|
33
|
+
]
|
|
34
|
+
.join('\n');
|
|
35
|
+
}
|
|
36
|
+
function truncateRenderedValue(value) {
|
|
37
|
+
return truncateLines(truncateBytes(value));
|
|
38
|
+
}
|
|
39
|
+
function formatPropertySegment(segment) {
|
|
40
|
+
const key = keyText(segment.key);
|
|
41
|
+
return /^[A-Za-z_$][\w$]*$/u.test(key) ? `.${key}` : `[${JSON.stringify(key)}]`;
|
|
42
|
+
}
|
|
43
|
+
function formatKeyedSegment(segment) {
|
|
44
|
+
if (segment.kind === 'set-value') {
|
|
45
|
+
return `[set ${formatSerializedValue(segment.value)}]`;
|
|
46
|
+
}
|
|
47
|
+
if (segment.kind === 'map-key') {
|
|
48
|
+
return `[map key ${formatSerializedValue(segment.key)}]`;
|
|
49
|
+
}
|
|
50
|
+
if (segment.kind === 'map-value') {
|
|
51
|
+
return `[map value ${formatSerializedValue(segment.key)}]`;
|
|
52
|
+
}
|
|
53
|
+
return formatPropertySegment(segment);
|
|
54
|
+
}
|
|
55
|
+
function formatSegment(segment) {
|
|
56
|
+
if (segment.kind === 'index') {
|
|
57
|
+
return `[${segment.index}]`;
|
|
58
|
+
}
|
|
59
|
+
return segment.kind === 'byte' ? `[byte ${segment.offset}]` : formatKeyedSegment(segment);
|
|
60
|
+
}
|
|
61
|
+
function formatPath(path) {
|
|
62
|
+
return path.map(formatSegment).join('');
|
|
63
|
+
}
|
|
64
|
+
function formatSerializedValueLines(label, value) {
|
|
65
|
+
return [`${label}: ${truncateRenderedValue(formatSerializedValue(value))}`];
|
|
66
|
+
}
|
|
67
|
+
function formatObjectOperation(operation) {
|
|
68
|
+
if (operation.operation === 'replace') {
|
|
69
|
+
return `replace ${formatPath(operation.path)}: expected ${formatSerializedValue(operation.from)}, actual ${formatSerializedValue(operation.to)}`;
|
|
70
|
+
}
|
|
71
|
+
if (operation.operation === 'add') {
|
|
72
|
+
return `add ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
73
|
+
}
|
|
74
|
+
if (operation.operation === 'remove') {
|
|
75
|
+
return `remove ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
76
|
+
}
|
|
77
|
+
return `missing ${formatPath(operation.path)}: ${formatSerializedValue(operation.value)}`;
|
|
78
|
+
}
|
|
79
|
+
function formatArrayOperation(operation) {
|
|
80
|
+
if (operation.operation === 'missing-index') {
|
|
81
|
+
return `missing [${operation.index}]: ${formatSerializedValue(operation.value)}`;
|
|
82
|
+
}
|
|
83
|
+
if (operation.operation === 'missing-member') {
|
|
84
|
+
return `missing array member: ${formatSerializedValue(operation.value)}`;
|
|
85
|
+
}
|
|
86
|
+
return formatObjectOperation(operation);
|
|
87
|
+
}
|
|
88
|
+
function formatMapOperation(operation) {
|
|
89
|
+
if (operation.operation === 'missing-entry') {
|
|
90
|
+
return `missing map entry ${formatSerializedValue(operation.key)}: ${formatSerializedValue(operation.value)}`;
|
|
91
|
+
}
|
|
92
|
+
return formatObjectOperation(operation);
|
|
93
|
+
}
|
|
94
|
+
function formatSetOperation(operation) {
|
|
95
|
+
if (operation.operation === 'missing-member') {
|
|
96
|
+
return `missing set member: ${formatSerializedValue(operation.value)}`;
|
|
97
|
+
}
|
|
98
|
+
return formatObjectOperation(operation);
|
|
99
|
+
}
|
|
100
|
+
function formatValueDiff(diff) {
|
|
101
|
+
return [
|
|
102
|
+
...formatSerializedValueLines('expected', diff.expected),
|
|
103
|
+
...formatSerializedValueLines('actual', diff.actual)
|
|
104
|
+
];
|
|
105
|
+
}
|
|
106
|
+
function formatStringDiff(diff) {
|
|
107
|
+
return diff.hunks.flatMap(function formatHunk(hunk) {
|
|
108
|
+
return [
|
|
109
|
+
`string hunk expected ${hunk.expectedStart}, actual ${hunk.actualStart}`,
|
|
110
|
+
...hunk.removed.map(function removed(line) {
|
|
111
|
+
return `- ${line}`;
|
|
112
|
+
}),
|
|
113
|
+
...hunk.added.map(function added(line) {
|
|
114
|
+
return `+ ${line}`;
|
|
115
|
+
})
|
|
116
|
+
];
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function formatBinaryDiff(diff) {
|
|
120
|
+
const expectedSummary = `expected ${diff.expectedSize} bytes ${diff.expectedHash}`;
|
|
121
|
+
const actualSummary = `actual ${diff.actualSize} bytes ${diff.actualHash}`;
|
|
122
|
+
const header = `binary differs: ${expectedSummary}, ${actualSummary}`;
|
|
123
|
+
return [
|
|
124
|
+
header,
|
|
125
|
+
...diff.ranges.map(function formatRange(range) {
|
|
126
|
+
return `byte ${range.offset}: expected [${range.expected.join(', ')}], actual [${range.actual.join(', ')}]`;
|
|
127
|
+
})
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
function formatNonScalarDiff(diff) {
|
|
131
|
+
if (diff.kind === 'object') {
|
|
132
|
+
return diff.operations.map(formatObjectOperation);
|
|
133
|
+
}
|
|
134
|
+
if (diff.kind === 'array') {
|
|
135
|
+
return diff.operations.map(formatArrayOperation);
|
|
136
|
+
}
|
|
137
|
+
if (diff.kind === 'map') {
|
|
138
|
+
return diff.operations.map(formatMapOperation);
|
|
139
|
+
}
|
|
140
|
+
if (diff.kind === 'set') {
|
|
141
|
+
return diff.operations.map(formatSetOperation);
|
|
142
|
+
}
|
|
143
|
+
return formatBinaryDiff(diff);
|
|
144
|
+
}
|
|
145
|
+
function formatDiff(diff) {
|
|
146
|
+
if (diff.kind === 'value') {
|
|
147
|
+
return formatValueDiff(diff);
|
|
148
|
+
}
|
|
149
|
+
if (diff.kind === 'string') {
|
|
150
|
+
return formatStringDiff(diff);
|
|
151
|
+
}
|
|
152
|
+
return formatNonScalarDiff(diff);
|
|
153
|
+
}
|
|
154
|
+
function failedCheckDetailLines(check) {
|
|
155
|
+
if (check.kind === 'foreign') {
|
|
156
|
+
return [
|
|
157
|
+
`foreign assertion: ${check.label}`,
|
|
158
|
+
`${check.error.name}: ${check.error.message}`
|
|
159
|
+
];
|
|
160
|
+
}
|
|
161
|
+
return check.diff === null
|
|
162
|
+
? [
|
|
163
|
+
...formatSerializedValueLines('expected', check.expected),
|
|
164
|
+
...formatSerializedValueLines('actual', check.actual)
|
|
165
|
+
]
|
|
166
|
+
: formatDiff(check.diff);
|
|
167
|
+
}
|
|
168
|
+
function formatFailedCheck(check, context) {
|
|
169
|
+
const path = formatPath(check.path);
|
|
170
|
+
const sourceLocations = formatAssertionSourceLocations(check.sourceLocations, context);
|
|
171
|
+
const detailLines = failedCheckDetailLines(check);
|
|
172
|
+
const childLines = check.kind === 'composite'
|
|
173
|
+
? check.children.flatMap(function formatChild(child, index) {
|
|
174
|
+
return [
|
|
175
|
+
`child check ${index + 1}`,
|
|
176
|
+
...formatFailedCheck(child, context).map(function indentChild(line) {
|
|
177
|
+
return ` ${line}`;
|
|
178
|
+
})
|
|
179
|
+
];
|
|
180
|
+
})
|
|
181
|
+
: [];
|
|
182
|
+
return [
|
|
183
|
+
check.summary,
|
|
184
|
+
...path.length === 0 ? [] : [`path: ${path}`],
|
|
185
|
+
...sourceLocations.primary === null ? [] : [`source: ${sourceLocations.primary}`],
|
|
186
|
+
...sourceLocations.details.map(function formatLocationDetail(detail) {
|
|
187
|
+
return ` ${detail}`;
|
|
188
|
+
}),
|
|
189
|
+
...detailLines,
|
|
190
|
+
...childLines
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
function formatTestContractFailure(failure) {
|
|
194
|
+
return [
|
|
195
|
+
`${failure.summary} (${failure.code})`,
|
|
196
|
+
`expected: ${failure.expected}`,
|
|
197
|
+
`actual: ${truncateRenderedValue(String(failure.actual))}`
|
|
198
|
+
];
|
|
199
|
+
}
|
|
200
|
+
function formatBodyErrorFailure(failure) {
|
|
201
|
+
const stackLines = failure.error.stack === null
|
|
202
|
+
? []
|
|
203
|
+
: truncateRenderedValue(failure.error.stack).split('\n').map(function dimStackLine(line) {
|
|
204
|
+
return colors.dim(line);
|
|
205
|
+
});
|
|
206
|
+
return [
|
|
207
|
+
`${failure.error.name}: ${failure.error.message}`,
|
|
208
|
+
...stackLines
|
|
209
|
+
];
|
|
210
|
+
}
|
|
211
|
+
function formatAssertionFailure(failure, context) {
|
|
212
|
+
return failure.checks.flatMap(function formatCheck(check, index) {
|
|
213
|
+
const prefix = failure.checks.length === 1 ? [] : [`check ${index + 1}`];
|
|
214
|
+
return [...prefix, ...formatFailedCheck(check, context)];
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
function formatTimeoutFailure(failure) {
|
|
218
|
+
return [
|
|
219
|
+
`Timed out after ${failure.deadlineMilliseconds} ms.`,
|
|
220
|
+
`elapsed: ${failure.elapsedMilliseconds} ms`
|
|
221
|
+
];
|
|
222
|
+
}
|
|
223
|
+
export function formatFailure(failure, context) {
|
|
224
|
+
if (failure.kind === 'assertion') {
|
|
225
|
+
return formatAssertionFailure(failure, context);
|
|
226
|
+
}
|
|
227
|
+
if (failure.kind === 'body-error') {
|
|
228
|
+
return formatBodyErrorFailure(failure);
|
|
229
|
+
}
|
|
230
|
+
if (failure.kind === 'timeout') {
|
|
231
|
+
return formatTimeoutFailure(failure);
|
|
232
|
+
}
|
|
233
|
+
return formatTestContractFailure(failure);
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=line-failure-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.ts"],"names":[],"mappings":"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"}
|