@overkill-dev/run 0.0.8 → 0.0.10
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/execution-result.js +77 -0
- package/engine/execution-result.js.map +1 -0
- package/engine/execution.d.ts +6 -2
- package/engine/execution.d.ts.map +1 -1
- package/engine/execution.js +68 -108
- package/engine/execution.js.map +1 -1
- package/engine/reporter-dispatcher.d.ts +16 -0
- package/engine/reporter-dispatcher.d.ts.map +1 -0
- package/engine/reporter-dispatcher.js +244 -0
- package/engine/reporter-dispatcher.js.map +1 -0
- package/engine/reporter-event-queue.js +2 -2
- package/engine/reporter-event-queue.js.map +1 -1
- package/engine/reporter-output.d.ts +24 -0
- package/engine/reporter-output.d.ts.map +1 -0
- package/engine/reporter-output.js +8 -0
- package/engine/reporter-output.js.map +1 -0
- package/engine/reporter.d.ts +86 -21
- package/engine/reporter.d.ts.map +1 -1
- package/engine/reporter.js +51 -145
- package/engine/reporter.js.map +1 -1
- package/engine/run-result.d.ts +22 -0
- package/engine/run-result.d.ts.map +1 -1
- package/engine/run-result.js.map +1 -1
- package/package.json +2 -2
- package/packages/run/command-line.entry-point.d.ts +1 -1
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.d.ts +1 -1
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/readme.md +18 -2
- package/reporters/line-failure-rendering.js +1 -0
- package/reporters/line-failure-rendering.js.map +1 -1
- package/reporters/line-reporter.js +1 -1
- package/reporters/line-reporter.js.map +1 -1
- package/reporters/source-location-rendering.js +1 -0
- package/reporters/source-location-rendering.js.map +1 -0
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +3 -1
- package/run/command-line-runner.js.map +1 -1
- package/run/resource-usage.d.ts +15 -0
- package/run/resource-usage.d.ts.map +1 -0
- package/run/resource-usage.js +107 -0
- package/run/resource-usage.js.map +1 -0
- package/run/run-config.d.ts +32 -4
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +70 -0
- package/run/run-config.js.map +1 -1
- package/run/run.d.ts +35 -4
- package/run/run.d.ts.map +1 -1
- package/run/run.js +150 -2
- package/run/run.js.map +1 -1
- package/sbom.cdx.json +10 -10
package/engine/reporter.js
CHANGED
|
@@ -1,26 +1,58 @@
|
|
|
1
|
+
const managedStandardOutputSinkKinds = [
|
|
2
|
+
'stderr-managed-primary',
|
|
3
|
+
'stderr-managed-supplemental',
|
|
4
|
+
'stdout-managed-primary',
|
|
5
|
+
'stdout-managed-supplemental'
|
|
6
|
+
];
|
|
7
|
+
const managedStandardOutputSinkKindNames = managedStandardOutputSinkKinds;
|
|
1
8
|
export class ReporterSinkConflictError extends Error {
|
|
2
9
|
constructor(message, options) {
|
|
3
10
|
super(message, options);
|
|
4
11
|
this.name = 'ReporterSinkConflictError';
|
|
5
12
|
}
|
|
6
13
|
}
|
|
7
|
-
const callbackTimeoutMs = 100;
|
|
8
|
-
function standardOutputSinkKey(sink) {
|
|
9
|
-
return `standard-output:${sink.kind}`;
|
|
10
|
-
}
|
|
11
14
|
function pathSinkKey(sink) {
|
|
12
15
|
return `path:${sink.path}`;
|
|
13
16
|
}
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
function standardOutputStream(sink) {
|
|
18
|
+
return sink.kind.startsWith('stderr') ? 'stderr' : 'stdout';
|
|
19
|
+
}
|
|
20
|
+
function isManagedStandardOutputSink(sink) {
|
|
21
|
+
return managedStandardOutputSinkKindNames.includes(sink.kind);
|
|
22
|
+
}
|
|
23
|
+
function standardOutputRole(sink) {
|
|
24
|
+
if (sink.kind.endsWith('primary')) {
|
|
25
|
+
return 'primary';
|
|
20
26
|
}
|
|
27
|
+
return 'supplemental';
|
|
28
|
+
}
|
|
29
|
+
function standardOutputSinkConflictMessage(stream) {
|
|
30
|
+
return `Reporter sink conflict: ${stream} is claimed by incompatible reporters.`;
|
|
31
|
+
}
|
|
32
|
+
function nextClaimedStandardOutputRole(existingSink, sink) {
|
|
33
|
+
return existingSink?.role === 'primary' ? 'primary' : standardOutputRole(sink);
|
|
34
|
+
}
|
|
35
|
+
function claimStandardOutputSink(claimedSinks, key, sink) {
|
|
21
36
|
const updatedSinks = new Map(claimedSinks);
|
|
22
|
-
return updatedSinks.set(key,
|
|
23
|
-
|
|
37
|
+
return updatedSinks.set(key, sink);
|
|
38
|
+
}
|
|
39
|
+
function validateRawStandardOutputSink(claimedSinks, sink) {
|
|
40
|
+
const key = standardOutputStream(sink);
|
|
41
|
+
if (claimedSinks.has(key)) {
|
|
42
|
+
throw new ReporterSinkConflictError(standardOutputSinkConflictMessage(key));
|
|
43
|
+
}
|
|
44
|
+
return claimStandardOutputSink(claimedSinks, key, { mode: 'raw', role: null });
|
|
45
|
+
}
|
|
46
|
+
function validateManagedStandardOutputSink(claimedSinks, sink) {
|
|
47
|
+
const key = standardOutputStream(sink);
|
|
48
|
+
const existingSink = claimedSinks.get(key);
|
|
49
|
+
const sinkRole = standardOutputRole(sink);
|
|
50
|
+
if (existingSink?.mode === 'raw' || existingSink?.role === 'primary' && sinkRole === 'primary') {
|
|
51
|
+
throw new ReporterSinkConflictError(standardOutputSinkConflictMessage(key));
|
|
52
|
+
}
|
|
53
|
+
return claimStandardOutputSink(claimedSinks, key, {
|
|
54
|
+
mode: 'managed',
|
|
55
|
+
role: nextClaimedStandardOutputRole(existingSink, sink)
|
|
24
56
|
});
|
|
25
57
|
}
|
|
26
58
|
function validatePathSink(claimedSinks, sink) {
|
|
@@ -30,12 +62,16 @@ function validatePathSink(claimedSinks, sink) {
|
|
|
30
62
|
}
|
|
31
63
|
const updatedSinks = new Map(claimedSinks);
|
|
32
64
|
return updatedSinks.set(key, {
|
|
33
|
-
|
|
65
|
+
mode: 'raw',
|
|
66
|
+
role: null
|
|
34
67
|
});
|
|
35
68
|
}
|
|
36
69
|
function validateReporterSink(claimedSinks, sink) {
|
|
37
|
-
if (sink.kind === 'stdout' || sink.kind === 'stderr') {
|
|
38
|
-
return
|
|
70
|
+
if (sink.kind === 'stdout-raw' || sink.kind === 'stderr-raw') {
|
|
71
|
+
return validateRawStandardOutputSink(claimedSinks, sink);
|
|
72
|
+
}
|
|
73
|
+
if (isManagedStandardOutputSink(sink)) {
|
|
74
|
+
return validateManagedStandardOutputSink(claimedSinks, sink);
|
|
39
75
|
}
|
|
40
76
|
if (sink.kind === 'file' || sink.kind === 'directory') {
|
|
41
77
|
return validatePathSink(claimedSinks, sink);
|
|
@@ -50,134 +86,4 @@ export function validateReporterSinks(reporters) {
|
|
|
50
86
|
}
|
|
51
87
|
}
|
|
52
88
|
}
|
|
53
|
-
function formatReporterError(reporter, cause) {
|
|
54
|
-
const reason = cause instanceof Error ? cause.message : String(cause);
|
|
55
|
-
return {
|
|
56
|
-
attributedTo: null,
|
|
57
|
-
cause,
|
|
58
|
-
message: `${reporter.name}: ${reason}`,
|
|
59
|
-
subtype: 'reporter'
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function timeoutError(reporter) {
|
|
63
|
-
return new Error(`${reporter.name} reporter callback timed out after ${callbackTimeoutMs} ms.`);
|
|
64
|
-
}
|
|
65
|
-
async function runReporterCallback(callback) {
|
|
66
|
-
await callback();
|
|
67
|
-
}
|
|
68
|
-
export function createReporterDispatcher(dependencies) {
|
|
69
|
-
const { wallClock } = dependencies;
|
|
70
|
-
function createReporterTimeout(reporter) {
|
|
71
|
-
const { promise, reject } = Promise.withResolvers();
|
|
72
|
-
const timeout = wallClock.setTimeout(function rejectTimedOutCallback() {
|
|
73
|
-
reject(timeoutError(reporter));
|
|
74
|
-
}, callbackTimeoutMs);
|
|
75
|
-
return {
|
|
76
|
-
cancel() {
|
|
77
|
-
wallClock.clearTimeout(timeout);
|
|
78
|
-
},
|
|
79
|
-
promise
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
async function awaitReporterCallback(reporter, callback) {
|
|
83
|
-
const reporterTimeout = createReporterTimeout(reporter);
|
|
84
|
-
try {
|
|
85
|
-
await Promise.race([runReporterCallback(callback), reporterTimeout.promise]);
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
return formatReporterError(reporter, error);
|
|
90
|
-
}
|
|
91
|
-
finally {
|
|
92
|
-
reporterTimeout.cancel();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async function reportEventToReporter(reporter, event) {
|
|
96
|
-
const error = await awaitReporterCallback(reporter, function sendReporterEvent() {
|
|
97
|
-
return reporter.onEvent(event);
|
|
98
|
-
});
|
|
99
|
-
if (error === null) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
return { error, reporter };
|
|
103
|
-
}
|
|
104
|
-
async function reportRunnerErrorToOtherReporters(reporters, failedReporter, error) {
|
|
105
|
-
const event = { error, kind: 'runner-error' };
|
|
106
|
-
const failures = await Promise.all(reporters.map(async function reportRunnerError(reporter) {
|
|
107
|
-
if (reporter.kind !== 'real-time' || reporter === failedReporter) {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
return reportEventToReporter(reporter, event);
|
|
111
|
-
}));
|
|
112
|
-
return failures.flatMap(function collectFailure(failure) {
|
|
113
|
-
return failure === null ? [] : [failure.error];
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
async function collectReporterErrorsWithNotifications(reporters, reporterErrors) {
|
|
117
|
-
const notificationErrors = await Promise.all(reporterErrors.map(async function reportError(failure) {
|
|
118
|
-
return reportRunnerErrorToOtherReporters(reporters, failure.reporter, failure.error);
|
|
119
|
-
}));
|
|
120
|
-
return [
|
|
121
|
-
...reporterErrors.map(function toError(failure) {
|
|
122
|
-
return failure.error;
|
|
123
|
-
}),
|
|
124
|
-
...notificationErrors.flat()
|
|
125
|
-
];
|
|
126
|
-
}
|
|
127
|
-
async function reportEvent(reporters, event) {
|
|
128
|
-
const failures = await Promise.all(reporters.map(async function reportRealTimeEvent(reporter) {
|
|
129
|
-
if (reporter.kind !== 'real-time') {
|
|
130
|
-
return null;
|
|
131
|
-
}
|
|
132
|
-
return reportEventToReporter(reporter, event);
|
|
133
|
-
}));
|
|
134
|
-
const reporterErrors = failures.flatMap(function collectFailure(failure) {
|
|
135
|
-
return failure === null ? [] : [failure];
|
|
136
|
-
});
|
|
137
|
-
if (event.kind === 'runner-error') {
|
|
138
|
-
return reporterErrors.map(function toError(failure) {
|
|
139
|
-
return failure.error;
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
return collectReporterErrorsWithNotifications(reporters, reporterErrors);
|
|
143
|
-
}
|
|
144
|
-
async function reportResult(reporters, result) {
|
|
145
|
-
const failures = await Promise.all(reporters.map(async function reportFinalResult(reporter) {
|
|
146
|
-
if (reporter.kind === 'final-result') {
|
|
147
|
-
const error = await awaitReporterCallback(reporter, function reportResultToFinalReporter() {
|
|
148
|
-
return reporter.onResult(result);
|
|
149
|
-
});
|
|
150
|
-
return error === null ? null : { error, reporter };
|
|
151
|
-
}
|
|
152
|
-
if (reporter.onFinish === null) {
|
|
153
|
-
return null;
|
|
154
|
-
}
|
|
155
|
-
const { onFinish } = reporter;
|
|
156
|
-
const error = await awaitReporterCallback(reporter, function reportResultToRealTimeReporter() {
|
|
157
|
-
return onFinish(result);
|
|
158
|
-
});
|
|
159
|
-
return error === null ? null : { error, reporter };
|
|
160
|
-
}));
|
|
161
|
-
const reporterErrors = failures.flatMap(function collectFailure(failure) {
|
|
162
|
-
return failure === null ? [] : [failure];
|
|
163
|
-
});
|
|
164
|
-
return collectReporterErrorsWithNotifications(reporters, reporterErrors);
|
|
165
|
-
}
|
|
166
|
-
async function disposeReporters(reporters) {
|
|
167
|
-
const failures = await Promise.all(reporters.map(async function disposeReporter(reporter) {
|
|
168
|
-
if (reporter.dispose === null) {
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
const { dispose } = reporter;
|
|
172
|
-
const error = await awaitReporterCallback(reporter, function disposeReporterResources() {
|
|
173
|
-
return dispose();
|
|
174
|
-
});
|
|
175
|
-
return error === null ? null : { error, reporter };
|
|
176
|
-
}));
|
|
177
|
-
return failures.flatMap(function collectFailure(failure) {
|
|
178
|
-
return failure === null ? [] : [failure.error];
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
return { disposeReporters, reportEvent, reportResult };
|
|
182
|
-
}
|
|
183
89
|
//# sourceMappingURL=reporter.js.map
|
package/engine/reporter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../../source/engine/reporter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../../../source/engine/reporter.ts"],"names":[],"mappings":"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"}
|
package/engine/run-result.d.ts
CHANGED
|
@@ -91,6 +91,27 @@ export type SuiteRunCounts = {
|
|
|
91
91
|
readonly executed: number;
|
|
92
92
|
readonly planned: number;
|
|
93
93
|
};
|
|
94
|
+
export type ResourceUsageSnapshot = {
|
|
95
|
+
readonly activeResourceCount: number;
|
|
96
|
+
readonly activeResourceTypes: readonly string[];
|
|
97
|
+
readonly capturedAtMilliseconds: number;
|
|
98
|
+
readonly javaScriptEngineHeapBytes: number;
|
|
99
|
+
readonly residentSetBytes: number;
|
|
100
|
+
};
|
|
101
|
+
export type RunResourceUsage = {
|
|
102
|
+
readonly activeResourceTypes: readonly string[];
|
|
103
|
+
readonly end: ResourceUsageSnapshot;
|
|
104
|
+
readonly peakActiveResourceCount: number;
|
|
105
|
+
readonly peakJavaScriptEngineHeapBytes: number;
|
|
106
|
+
readonly peakResidentSetBytes: number;
|
|
107
|
+
readonly peakResidentSetGrowthBytesPerSecond: number;
|
|
108
|
+
readonly sampleCount: number;
|
|
109
|
+
readonly start: ResourceUsageSnapshot;
|
|
110
|
+
};
|
|
111
|
+
export type RunResourceUsageTracker = {
|
|
112
|
+
readonly finish: () => RunResourceUsage;
|
|
113
|
+
readonly start: () => void;
|
|
114
|
+
};
|
|
94
115
|
export type OrphanedNode = {
|
|
95
116
|
readonly file: string | null;
|
|
96
117
|
readonly kind: 'suite' | 'table' | 'test';
|
|
@@ -101,6 +122,7 @@ export type RunResult = {
|
|
|
101
122
|
readonly bySuite: Readonly<Record<string, SuiteRunCounts>>;
|
|
102
123
|
readonly orphans: readonly OrphanedNode[];
|
|
103
124
|
readonly perTest: readonly PerTestResult[];
|
|
125
|
+
readonly resourceUsage: RunResourceUsage | null;
|
|
104
126
|
readonly runnerErrors: readonly RunnerError[];
|
|
105
127
|
readonly summary: RunSummary;
|
|
106
128
|
readonly wallTimeMs: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,wBAAwB,GAAG;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;CACtD,CAAC;AAEF,KAAK,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,wBAAwB,CAAC,CAAC;AAEnF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IACxD,QAAQ,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;IAClE,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAC5D,QAAQ,CAAC,2BAA2B,EAAE,gCAAgC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;IAC9D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,MAAM,6BAA6B,CAAC,CAAC;AAEzG,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAE5F,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB,CAQ3G;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC;AAExF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mCAAmC,EAAE,MAAM,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,gBAAgB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAEjF"}
|
package/engine/run-result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-result.js","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"AA6DA,MAAM,UAAU,kCAAkC,CAAC,MAAmC;IAClF,OAAO;QACH,MAAM;QACN,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iDAAiD;KAC7D,CAAC;AACN,CAAC;
|
|
1
|
+
{"version":3,"file":"run-result.js","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"AA6DA,MAAM,UAAU,kCAAkC,CAAC,MAAmC;IAClF,OAAO;QACH,MAAM;QACN,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iDAAiD;KAC7D,CAAC;AACN,CAAC;AA4FD,MAAM,UAAU,kBAAkB,CAAC,OAAoB;IACnD,OAAO,OAAO,CAAC,IAAI,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@enormora/wall-clock": "0.0.3",
|
|
8
|
-
"@schema-hub/zod-error-formatter": "0.0.
|
|
8
|
+
"@schema-hub/zod-error-formatter": "0.0.16",
|
|
9
9
|
"ansi-escapes": "7.3.0",
|
|
10
10
|
"diff": "9.0.0",
|
|
11
11
|
"figures": "6.1.0",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"./run/run.js"
|
|
50
50
|
],
|
|
51
51
|
"type": "module",
|
|
52
|
-
"version": "0.0.
|
|
52
|
+
"version": "0.0.10"
|
|
53
53
|
}
|
|
@@ -3,5 +3,5 @@ export { commandLineRunner } from '../../run/command-line-runner.ts';
|
|
|
3
3
|
export type { CommandLineBaselineCommands, CommandLineBenchmarkCommands, CommandLineCommand, CommandLineCommandContext, CommandLineExitCode, CommandLineRunnerResult, CommandLineRunTestsRequest } from '../../run/command-line-command.ts';
|
|
4
4
|
export type { CommandLineRunner } from '../../run/command-line-runner.ts';
|
|
5
5
|
export { defineConfig, loadRunConfig, RunConfigError } from '../../run/run-config.ts';
|
|
6
|
-
export type { LoadedRunConfig, RunConfigLoadRequest, RunProjectConfig } from '../../run/run-config.ts';
|
|
6
|
+
export type { LoadedRunConfig, RunConfigLoadRequest, RunProjectConfig, RunProjectMeasuredMicrotestProfileConfig, RunProjectMicrotestProfileConfig, RunProjectProfilesConfig, RunProjectResourceBudgets, RunProjectUnmeasuredMicrotestProfileConfig } from '../../run/run-config.ts';
|
|
7
7
|
//# sourceMappingURL=command-line.entry-point.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,YAAY,EACZ,aAAa,EACb,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"command-line.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/command-line.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACR,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC7B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACR,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,YAAY,EACZ,aAAa,EACb,cAAc,EACjB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,wCAAwC,EACxC,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EACzB,0CAA0C,EAC7C,MAAM,yBAAyB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { orchestrator, RunResolutionError } from '../../run/run.ts';
|
|
2
|
-
export type { ResolvedRun, RunCaseFacts, RunCommand, RunConfig, RunDebugRequest, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunExecutionFacts, RunLoaderConfig, RunOrchestrator, RunReproducibilityFacts, RunRequest, RunResolutionErrorCode, RunSeed, RunSelection, RunShard, SerializedValue } from '../../run/run.ts';
|
|
2
|
+
export type { ResolvedRun, ResourceBudgetOverrides, RunCaseFacts, RunCommand, RunConfig, RunDebugRequest, RunEnvironmentFacts, RunExecutionRequest, RunFacts, RunExecutionFacts, RunLoaderConfig, RunOrchestrator, RunProfilesConfig, RunResourceBudgets, RunResourceUsagePolicy, RunReproducibilityFacts, RunRequest, RunResolutionErrorCode, RunSeed, RunSelection, RunShard, SerializedValue } from '../../run/run.ts';
|
|
3
3
|
//# 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,kBAAkB,CAAC;AACpE,YAAY,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,eAAe,EAClB,MAAM,kBAAkB,CAAC"}
|
|
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,kBAAkB,CAAC;AACpE,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,sBAAsB,EACtB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,eAAe,EAClB,MAAM,kBAAkB,CAAC"}
|
package/readme.md
CHANGED
|
@@ -7,6 +7,9 @@ Top-level API:
|
|
|
7
7
|
- `RunCommand`
|
|
8
8
|
- `RunRequest`
|
|
9
9
|
- `RunFacts`
|
|
10
|
+
- `RunResourceBudgets`
|
|
11
|
+
- `RunResourceUsagePolicy`
|
|
12
|
+
- `ResourceBudgetOverrides`
|
|
10
13
|
- `ResolvedRun`
|
|
11
14
|
- `orchestrator.resolve(command)`
|
|
12
15
|
- `orchestrator.run(command)`
|
|
@@ -38,9 +41,22 @@ and argv parsing are separate runner milestones. The non-`runTests` command
|
|
|
38
41
|
methods are fixed first-party entrypoints and currently return argument errors
|
|
39
42
|
until their command implementations land.
|
|
40
43
|
|
|
44
|
+
Resource usage measurement is explicit. Project config can enable it under
|
|
45
|
+
`profiles.microtest.measureResourceUsage`; `RunRequest.measureResourceUsage`
|
|
46
|
+
can override that policy for one run. `resourceBudgets` are thresholds and
|
|
47
|
+
require measurement, while `RunRequest.resourceBudgetOverrides` changes
|
|
48
|
+
individual thresholds for one run. Budgeted execution is rejected until
|
|
49
|
+
supervised resource enforcement lands. Textual parsing for
|
|
50
|
+
`--measure-resource-usage` and `--resource-budget <name=value>` belongs to the
|
|
51
|
+
later command-line implementation milestone.
|
|
52
|
+
|
|
41
53
|
Config loading is common command-line infrastructure, not plugin discovery.
|
|
42
54
|
The command-line runner loads native Node config files, selects the default
|
|
43
|
-
line reporter when project config omits reporters,
|
|
44
|
-
|
|
55
|
+
line reporter when project config omits reporters, defaults managed reporter
|
|
56
|
+
output to the plain renderer, returns fallback diagnostics for the binary
|
|
57
|
+
wrapper to write, and maps run outcomes to stable exit codes.
|
|
45
58
|
Installing a package does not add commands, and there is no installed-package
|
|
46
59
|
scan, dynamic command registry, or command plugin lifecycle.
|
|
60
|
+
|
|
61
|
+
Project config may set `outputRenderer` to adapt managed line intents, for
|
|
62
|
+
example to render GitHub Actions annotations from a brief stdout reporter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.ts"],"names":[],"mappings":"AAAA,OAAmB,aAAa,CAAC;AAYjC,OAA+C,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"line-failure-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/line-failure-rendering.ts"],"names":[],"mappings":"AAAA,OAAmB,aAAa,CAAC;AAYjC,OAA+C,iCAAiC,CAAC;AACjF,OAAqC,gCAAgC,CAAC;AA4D3D"}
|
|
@@ -98,7 +98,7 @@ export function createLineReporter(dependencies) {
|
|
|
98
98
|
dispose: null,
|
|
99
99
|
kind: 'real-time',
|
|
100
100
|
name: 'line',
|
|
101
|
-
sinks: [{
|
|
101
|
+
sinks: [{ kind: 'stdout-raw' }],
|
|
102
102
|
async onEvent(event) {
|
|
103
103
|
if (event.kind === 'run-start') {
|
|
104
104
|
terminal.line(infoSymbol, `Test run started: ${event.root.name}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"line-reporter.js","sourceRoot":"","sources":["../../../../source/reporters/line-reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=source-location-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-location-rendering.js","sourceRoot":"","sources":["../../../../source/reporters/source-location-rendering.ts"],"names":[],"mappings":""}
|
|
@@ -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,EAIH,KAAK,eAAe,EACvB,MAAM,UAAU,CAAC;AAClB,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;
|
|
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,EAIH,KAAK,eAAe,EACvB,MAAM,UAAU,CAAC;AAClB,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;AAmEF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,6BAA6B,GAAG,iBAAiB,CAkBtG;AAQD,eAAO,MAAM,iBAAiB,EAAE,iBAM9B,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { createCommandLineErrorResultFromUnknown, formatFallbackDiagnostics, rea
|
|
|
4
4
|
import { createCommandLineCommandNamespace } from "./command-line-command-namespace.js";
|
|
5
5
|
import { createUnimplementedCommand, loadUnimplementedBaselineCommands, loadUnimplementedBenchmarkCommands } from "./command-line-unimplemented-commands.js";
|
|
6
6
|
function hasTerminalSink(sink) {
|
|
7
|
-
return sink.kind
|
|
7
|
+
return sink.kind.startsWith('stdout') || sink.kind.startsWith('stderr');
|
|
8
8
|
}
|
|
9
9
|
function hasTerminalReporter(reporters) {
|
|
10
10
|
return reporters.some(function reporterClaimsTerminal(reporter) {
|
|
@@ -23,6 +23,8 @@ async function loadCommandLineReporters(loadedConfig, dependencies) {
|
|
|
23
23
|
async function createCommandLineConfig(loadedConfig, dependencies) {
|
|
24
24
|
return {
|
|
25
25
|
loader: loadedConfig.loader,
|
|
26
|
+
outputRenderer: loadedConfig.outputRenderer,
|
|
27
|
+
profiles: loadedConfig.profiles,
|
|
26
28
|
reporters: await loadCommandLineReporters(loadedConfig, dependencies),
|
|
27
29
|
runtimeStateDir: loadedConfig.runtimeStateDir
|
|
28
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,YAAY,EAIf,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,aAAa,EAGhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,uCAAuC,EACvC,yBAAyB,EACzB,yBAAyB,EAM5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,iCAAiC,EAEpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,0BAA0B,EAC1B,iCAAiC,EACjC,kCAAkC,EACrC,MAAM,0CAA0C,CAAC;AAmBlD,SAAS,eAAe,CAAC,IAAqB;IAC1C,OAAO,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../source/run/command-line-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { RunResourceUsageTracker } from '../engine/run-result.ts';
|
|
3
|
+
type ResourceUsageTrackerDependencies = {
|
|
4
|
+
readonly readActiveResourceTypes: () => readonly string[];
|
|
5
|
+
readonly readJavaScriptEngineHeapBytes: () => number;
|
|
6
|
+
readonly readResidentSetBytes: () => number;
|
|
7
|
+
readonly wallClock: WallClock;
|
|
8
|
+
};
|
|
9
|
+
export type ResourceUsageTrackerOptions = {
|
|
10
|
+
readonly samplingIntervalMilliseconds: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function createResourceUsageTracker(dependencies: ResourceUsageTrackerDependencies, options: ResourceUsageTrackerOptions): RunResourceUsageTracker;
|
|
13
|
+
export declare function createNodeResourceUsageTracker(wallClock: WallClock, options: ResourceUsageTrackerOptions): RunResourceUsageTracker;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=resource-usage.d.ts.map
|
|
@@ -0,0 +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;AAUjC,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;AAgGF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,gCAAgC,EAC9C,OAAO,EAAE,2BAA2B,GACrC,uBAAuB,CAiCzB;AAED,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,GACrC,uBAAuB,CAazB"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { getHeapStatistics } from 'node:v8';
|
|
2
|
+
const millisecondsPerSecond = 1000;
|
|
3
|
+
function sortedUnique(values) {
|
|
4
|
+
return Array.from(new Set(values)).toSorted(function compareText(firstValue, secondValue) {
|
|
5
|
+
return firstValue.localeCompare(secondValue);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
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
|
+
const activeResourceTypes = dependencies.readActiveResourceTypes();
|
|
18
|
+
return {
|
|
19
|
+
activeResourceCount: activeResourceTypes.length,
|
|
20
|
+
activeResourceTypes: sortedUnique(activeResourceTypes),
|
|
21
|
+
capturedAtMilliseconds: sample.capturedAtMilliseconds,
|
|
22
|
+
javaScriptEngineHeapBytes: sample.javaScriptEngineHeapBytes,
|
|
23
|
+
residentSetBytes: sample.residentSetBytes
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function maximumSampleValue(samples, readValue) {
|
|
27
|
+
return Math.max(...samples.map(readValue));
|
|
28
|
+
}
|
|
29
|
+
function residentSetGrowthBytesPerSecond(previousSample, nextSample) {
|
|
30
|
+
const elapsedMilliseconds = nextSample.capturedAtMilliseconds - previousSample.capturedAtMilliseconds;
|
|
31
|
+
if (elapsedMilliseconds <= 0) {
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
const residentSetGrowthBytes = nextSample.residentSetBytes - previousSample.residentSetBytes;
|
|
35
|
+
return Math.max(0, residentSetGrowthBytes * millisecondsPerSecond / elapsedMilliseconds);
|
|
36
|
+
}
|
|
37
|
+
function peakResidentSetGrowthBytesPerSecond(samples) {
|
|
38
|
+
let peakGrowthBytesPerSecond = 0;
|
|
39
|
+
for (let sampleIndex = 1; sampleIndex < samples.length; sampleIndex += 1) {
|
|
40
|
+
const previousSample = samples[sampleIndex - 1];
|
|
41
|
+
const nextSample = samples[sampleIndex];
|
|
42
|
+
if (previousSample !== undefined && nextSample !== undefined) {
|
|
43
|
+
peakGrowthBytesPerSecond = Math.max(peakGrowthBytesPerSecond, residentSetGrowthBytesPerSecond(previousSample, nextSample));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return peakGrowthBytesPerSecond;
|
|
47
|
+
}
|
|
48
|
+
function createResourceUsage(start, end, samples) {
|
|
49
|
+
return {
|
|
50
|
+
activeResourceTypes: sortedUnique([...start.activeResourceTypes, ...end.activeResourceTypes]),
|
|
51
|
+
end,
|
|
52
|
+
peakActiveResourceCount: Math.max(start.activeResourceCount, end.activeResourceCount),
|
|
53
|
+
peakJavaScriptEngineHeapBytes: maximumSampleValue(samples, function readJavaScriptEngineHeapBytes(sample) {
|
|
54
|
+
return sample.javaScriptEngineHeapBytes;
|
|
55
|
+
}),
|
|
56
|
+
peakResidentSetBytes: maximumSampleValue(samples, function readResidentSetBytes(sample) {
|
|
57
|
+
return sample.residentSetBytes;
|
|
58
|
+
}),
|
|
59
|
+
peakResidentSetGrowthBytesPerSecond: peakResidentSetGrowthBytesPerSecond(samples),
|
|
60
|
+
sampleCount: samples.length,
|
|
61
|
+
start
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function createResourceUsageTracker(dependencies, options) {
|
|
65
|
+
let intervalIdentifier = null;
|
|
66
|
+
let samples = [];
|
|
67
|
+
let startSnapshot = null;
|
|
68
|
+
return {
|
|
69
|
+
finish() {
|
|
70
|
+
if (startSnapshot === null) {
|
|
71
|
+
throw new Error('Resource usage tracking must start before it can finish.');
|
|
72
|
+
}
|
|
73
|
+
if (intervalIdentifier !== null) {
|
|
74
|
+
dependencies.wallClock.clearInterval(intervalIdentifier);
|
|
75
|
+
intervalIdentifier = null;
|
|
76
|
+
}
|
|
77
|
+
const endSnapshot = readResourceUsageSnapshot(dependencies);
|
|
78
|
+
samples = [...samples, endSnapshot];
|
|
79
|
+
return createResourceUsage(startSnapshot, endSnapshot, samples);
|
|
80
|
+
},
|
|
81
|
+
start() {
|
|
82
|
+
if (startSnapshot !== null) {
|
|
83
|
+
throw new Error('Resource usage tracking already started.');
|
|
84
|
+
}
|
|
85
|
+
startSnapshot = readResourceUsageSnapshot(dependencies);
|
|
86
|
+
samples = [startSnapshot];
|
|
87
|
+
intervalIdentifier = dependencies.wallClock.setInterval(function collectResourceUsageSample() {
|
|
88
|
+
samples = [...samples, readResourceUsageSample(dependencies)];
|
|
89
|
+
}, options.samplingIntervalMilliseconds);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export function createNodeResourceUsageTracker(wallClock, options) {
|
|
94
|
+
return createResourceUsageTracker({
|
|
95
|
+
readActiveResourceTypes() {
|
|
96
|
+
return process.getActiveResourcesInfo();
|
|
97
|
+
},
|
|
98
|
+
readJavaScriptEngineHeapBytes() {
|
|
99
|
+
return getHeapStatistics().used_heap_size;
|
|
100
|
+
},
|
|
101
|
+
readResidentSetBytes() {
|
|
102
|
+
return process.memoryUsage.rss();
|
|
103
|
+
},
|
|
104
|
+
wallClock
|
|
105
|
+
}, options);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=resource-usage.js.map
|