@overkill-dev/run 0.0.22 → 0.0.23
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/package.json +1 -1
- package/packages/run/command-line.entry-point.d.ts +2 -2
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/command-line.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +2 -2
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/readme.md +24 -14
- package/run/collected-run-plan.js +32 -2
- package/run/collected-run-plan.js.map +1 -1
- package/run/command-line-command.d.ts +9 -0
- package/run/command-line-command.d.ts.map +1 -1
- package/run/command-line-command.js +25 -7
- package/run/command-line-command.js.map +1 -1
- package/run/command-line-runner.d.ts +2 -2
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +69 -3
- package/run/command-line-runner.js.map +1 -1
- package/run/profile-file-glob.js +28 -0
- package/run/profile-file-glob.js.map +1 -0
- package/run/run-config-schema.d.ts +21 -0
- package/run/run-config-schema.d.ts.map +1 -1
- package/run/run-config-schema.js +8 -0
- package/run/run-config-schema.js.map +1 -1
- package/run/run-config.d.ts +2 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +24 -0
- package/run/run-config.js.map +1 -1
- package/run/run-discovery.js +181 -19
- package/run/run-discovery.js.map +1 -1
- package/run/run-input-resolution.js +19 -0
- package/run/run-input-resolution.js.map +1 -0
- package/run/run-list-renderer.js +61 -0
- package/run/run-list-renderer.js.map +1 -0
- package/run/run-local-test-plan.js +5 -5
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-support.js +23 -0
- package/run/run-support.js.map +1 -1
- package/run/run-test-plan.js +8 -5
- package/run/run-test-plan.js.map +1 -1
- package/run/run-types.d.ts +6 -0
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +2 -13
- package/run/run-validation.js.map +1 -1
- package/run/run.js +17 -36
- package/run/run.js.map +1 -1
- package/sbom.cdx.json +4 -4
package/run/run-config.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
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 RunProjectConfig as ParsedRunProjectConfig, type RunProjectMeasuredResourceUsage as ParsedRunProjectMeasuredResourceUsage, type RunProjectMicrotestExecution as ParsedRunProjectMicrotestExecution, type RunProjectMicrotestProfileConfig as ParsedRunProjectMicrotestProfileConfig, type RunProjectProfileConfig as ParsedRunProjectProfileConfig, type RunProjectProfilesConfig as ParsedRunProjectProfilesConfig, type RunProjectResourceBudgets as ParsedRunProjectResourceBudgets, type RunProjectResourceUsageConfig as ParsedRunProjectResourceUsageConfig, type RunProjectTimeoutConfig as ParsedRunProjectTimeoutConfig, type RunProjectUnmeasuredResourceUsage as ParsedRunProjectUnmeasuredResourceUsage } from './run-config-schema.ts';
|
|
4
|
+
import { type RunProjectConfig as ParsedRunProjectConfig, type RunProjectMeasuredResourceUsage as ParsedRunProjectMeasuredResourceUsage, type RunProjectMicrotestExecution as ParsedRunProjectMicrotestExecution, type RunProjectMicrotestProfileConfig as ParsedRunProjectMicrotestProfileConfig, type RunProjectProfileFiles as ParsedRunProjectProfileFiles, type RunProjectProfileConfig as ParsedRunProjectProfileConfig, type RunProjectProfilesConfig as ParsedRunProjectProfilesConfig, type RunProjectResourceBudgets as ParsedRunProjectResourceBudgets, type RunProjectResourceUsageConfig as ParsedRunProjectResourceUsageConfig, type RunProjectTimeoutConfig as ParsedRunProjectTimeoutConfig, type RunProjectUnmeasuredResourceUsage as ParsedRunProjectUnmeasuredResourceUsage } from './run-config-schema.ts';
|
|
5
5
|
import { type RunLoaderConfig, type RunProfilesConfig } from './run-types.ts';
|
|
6
6
|
export type RunProjectConfig = ParsedRunProjectConfig;
|
|
7
7
|
export type RunProjectMeasuredResourceUsage = ParsedRunProjectMeasuredResourceUsage;
|
|
8
8
|
export type RunProjectMicrotestExecution = ParsedRunProjectMicrotestExecution;
|
|
9
9
|
export type RunProjectMicrotestProfileConfig = ParsedRunProjectMicrotestProfileConfig;
|
|
10
|
+
export type RunProjectProfileFiles = ParsedRunProjectProfileFiles;
|
|
10
11
|
export type RunProjectProfileConfig = ParsedRunProjectProfileConfig;
|
|
11
12
|
export type RunProjectProfilesConfig = ParsedRunProjectProfilesConfig;
|
|
12
13
|
export type RunProjectResourceBudgets = ParsedRunProjectResourceBudgets;
|
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":"AAIA,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,EAEH,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,+BAA+B,IAAI,qCAAqC,EAC7E,KAAK,4BAA4B,IAAI,kCAAkC,EACvE,KAAK,gCAAgC,IAAI,sCAAsC,EAC/E,KAAK,uBAAuB,IAAI,6BAA6B,EAC7D,KAAK,wBAAwB,IAAI,8BAA8B,EAC/D,KAAK,yBAAyB,IAAI,+BAA+B,EACjE,KAAK,6BAA6B,IAAI,mCAAmC,EACzE,KAAK,uBAAuB,IAAI,6BAA6B,EAC7D,KAAK,iCAAiC,IAAI,uCAAuC,EACpF,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"run-config.d.ts","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":"AAIA,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,EAEH,KAAK,gBAAgB,IAAI,sBAAsB,EAC/C,KAAK,+BAA+B,IAAI,qCAAqC,EAC7E,KAAK,4BAA4B,IAAI,kCAAkC,EACvE,KAAK,gCAAgC,IAAI,sCAAsC,EAC/E,KAAK,sBAAsB,IAAI,4BAA4B,EAC3D,KAAK,uBAAuB,IAAI,6BAA6B,EAC7D,KAAK,wBAAwB,IAAI,8BAA8B,EAC/D,KAAK,yBAAyB,IAAI,+BAA+B,EACjE,KAAK,6BAA6B,IAAI,mCAAmC,EACzE,KAAK,uBAAuB,IAAI,6BAA6B,EAC7D,KAAK,iCAAiC,IAAI,uCAAuC,EACpF,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEH,KAAK,eAAe,EAKpB,KAAK,iBAAiB,EAIzB,MAAM,gBAAgB,CAAC;AAMxB,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACtD,MAAM,MAAM,+BAA+B,GAAG,qCAAqC,CAAC;AACpF,MAAM,MAAM,4BAA4B,GAAG,kCAAkC,CAAC;AAC9E,MAAM,MAAM,gCAAgC,GAAG,sCAAsC,CAAC;AACtF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAClE,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AACtE,MAAM,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AACxE,MAAM,MAAM,6BAA6B,GAAG,mCAAmC,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AACpE,MAAM,MAAM,iCAAiC,GAAG,uCAAuC,CAAC;AAQxF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC3D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;gBAClB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;CAIvE;AA6BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEvE;AA+RD,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAW3F"}
|
package/run/run-config.js
CHANGED
|
@@ -13,6 +13,7 @@ import { parse } from '@schema-hub/zod-error-formatter';
|
|
|
13
13
|
import { createPlainOutputRenderer } from "../engine/reporter-output.js";
|
|
14
14
|
import { projectConfigSchema } from "./run-config-schema.js";
|
|
15
15
|
import { invalidRunProfileNameMessage } from "./run-types.js";
|
|
16
|
+
import { invalidProfileFileGlobConfigMessage } from "./profile-file-glob.js";
|
|
16
17
|
const defaultConfigFileNames = ['overkill.config.ts', 'overkill.config.js'];
|
|
17
18
|
const defaultResourceUsageSamplingIntervalMilliseconds = 100;
|
|
18
19
|
const defaultMicrotestCollectionTimeoutMilliseconds = 1000;
|
|
@@ -182,6 +183,28 @@ function assertValidTimeouts(timeouts) {
|
|
|
182
183
|
throw new RunConfigError('Invalid profile timeouts: softMilliseconds must be less than or equal to hardMilliseconds.');
|
|
183
184
|
}
|
|
184
185
|
}
|
|
186
|
+
function assertValidProfileGlob(field, pattern) {
|
|
187
|
+
const message = invalidProfileFileGlobConfigMessage(field, pattern);
|
|
188
|
+
if (message !== null) {
|
|
189
|
+
throw new RunConfigError(message);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
function normalizeProfileFiles(files) {
|
|
193
|
+
if (files === undefined) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
const excludePatterns = files.exclude ?? [];
|
|
197
|
+
for (const pattern of files.include) {
|
|
198
|
+
assertValidProfileGlob('include', pattern);
|
|
199
|
+
}
|
|
200
|
+
for (const pattern of excludePatterns) {
|
|
201
|
+
assertValidProfileGlob('exclude', pattern);
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
exclude: Array.from(excludePatterns),
|
|
205
|
+
include: [files.include[0], ...files.include.slice(1)]
|
|
206
|
+
};
|
|
207
|
+
}
|
|
185
208
|
function normalizeExecution(execution) {
|
|
186
209
|
return {
|
|
187
210
|
processModel: execution?.processModel ?? defaultMicrotestExecution.processModel,
|
|
@@ -193,6 +216,7 @@ function normalizeMicrotestProfile(profile) {
|
|
|
193
216
|
assertValidTimeouts(timeouts);
|
|
194
217
|
return {
|
|
195
218
|
execution: normalizeExecution(profile.execution),
|
|
219
|
+
files: normalizeProfileFiles(profile.files),
|
|
196
220
|
reporters: normalizeReporters(profile.reporters),
|
|
197
221
|
resourceUsage: normalizeResourceUsage(profile.resourceUsage),
|
|
198
222
|
testFamily: 'microtest',
|
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;AAExD,OAAO,EAAE,yBAAyB,EAAuB,MAAM,8BAA8B,CAAC;AAE9F,OAAO,EACH,mBAAmB,
|
|
1
|
+
{"version":3,"file":"run-config.js","sourceRoot":"","sources":["../../../../source/run/run-config.ts"],"names":[],"mappings":"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"}
|
package/run/run-discovery.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { realpath, stat } from 'node:fs/promises';
|
|
1
|
+
import { glob, realpath, stat } from 'node:fs/promises';
|
|
2
2
|
import { isAbsolute, relative, resolve } from 'node:path';
|
|
3
3
|
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { invalidProfileFileGlobMessage } from "./profile-file-glob.js";
|
|
4
5
|
import { invalidRequest, noTestsCollected } from "./run-errors.js";
|
|
5
6
|
function toFileIdentity(path) {
|
|
6
7
|
return path.replaceAll('\\', '/');
|
|
@@ -8,6 +9,11 @@ function toFileIdentity(path) {
|
|
|
8
9
|
function isOutsideCwd(relativePath) {
|
|
9
10
|
return relativePath === '..' || relativePath.startsWith('../') || isAbsolute(relativePath);
|
|
10
11
|
}
|
|
12
|
+
function assertInsideCwd(realCwd, realPath, requestedPath) {
|
|
13
|
+
if (isOutsideCwd(relative(realCwd, realPath))) {
|
|
14
|
+
invalidRequest(`Run path must stay inside cwd: ${requestedPath}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
11
17
|
async function readRealCwd(cwd) {
|
|
12
18
|
try {
|
|
13
19
|
return await realpath(cwd);
|
|
@@ -16,6 +22,20 @@ async function readRealCwd(cwd) {
|
|
|
16
22
|
return invalidRequest(`Run cwd does not exist: ${cwd}`);
|
|
17
23
|
}
|
|
18
24
|
}
|
|
25
|
+
function assertValidProfileGlob(field, pattern) {
|
|
26
|
+
const message = invalidProfileFileGlobMessage(field, pattern);
|
|
27
|
+
if (message !== null) {
|
|
28
|
+
invalidRequest(message);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function assertValidProfileFiles(profileFiles) {
|
|
32
|
+
for (const pattern of profileFiles.include) {
|
|
33
|
+
assertValidProfileGlob('include', pattern);
|
|
34
|
+
}
|
|
35
|
+
for (const pattern of profileFiles.exclude) {
|
|
36
|
+
assertValidProfileGlob('exclude', pattern);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
19
39
|
async function readRealFilePath(cwd, requestedPath) {
|
|
20
40
|
if (requestedPath.trim().length === 0) {
|
|
21
41
|
invalidRequest('Run path must not be empty.');
|
|
@@ -27,11 +47,12 @@ async function readRealFilePath(cwd, requestedPath) {
|
|
|
27
47
|
return invalidRequest(`Run path does not exist: ${requestedPath}`);
|
|
28
48
|
}
|
|
29
49
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
function createDiscoveredRunDirectory(realCwd, realPath, requestedPath) {
|
|
51
|
+
assertInsideCwd(realCwd, realPath, requestedPath);
|
|
52
|
+
return {
|
|
53
|
+
path: realPath,
|
|
54
|
+
requestedPath
|
|
55
|
+
};
|
|
35
56
|
}
|
|
36
57
|
function createDiscoveredRunFile(realCwd, realPath, requestedPath) {
|
|
37
58
|
const relativePath = relative(realCwd, realPath);
|
|
@@ -44,32 +65,173 @@ function createDiscoveredRunFile(realCwd, realPath, requestedPath) {
|
|
|
44
65
|
path: realPath
|
|
45
66
|
};
|
|
46
67
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
49
|
-
|
|
68
|
+
async function discoverRunPath(realCwd, requestedPath) {
|
|
69
|
+
const realPath = await readRealFilePath(realCwd, requestedPath);
|
|
70
|
+
const pathStat = await stat(realPath);
|
|
71
|
+
if (pathStat.isFile()) {
|
|
72
|
+
return {
|
|
73
|
+
file: createDiscoveredRunFile(realCwd, realPath, requestedPath),
|
|
74
|
+
kind: 'file'
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (pathStat.isDirectory()) {
|
|
78
|
+
return {
|
|
79
|
+
directory: createDiscoveredRunDirectory(realCwd, realPath, requestedPath),
|
|
80
|
+
kind: 'directory'
|
|
81
|
+
};
|
|
50
82
|
}
|
|
83
|
+
return invalidRequest(`Run path must be a file or directory: ${requestedPath}`);
|
|
51
84
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
85
|
+
function assertNonEmptyArray(message, values) {
|
|
86
|
+
if (values.length === 0) {
|
|
87
|
+
noTestsCollected(message);
|
|
88
|
+
}
|
|
56
89
|
}
|
|
57
90
|
function assertUniqueRunFile(file, seenPaths) {
|
|
58
91
|
if (seenPaths.has(file.path)) {
|
|
59
92
|
invalidRequest(`Run path must not be duplicated: ${file.file}`);
|
|
60
93
|
}
|
|
61
94
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
95
|
+
function sortedRunFiles(files) {
|
|
96
|
+
return Array.from(files).toSorted(function compareRunFiles(left, right) {
|
|
97
|
+
return left.file.localeCompare(right.file);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function uniqueRunFiles(files) {
|
|
101
|
+
const seenPaths = new Set();
|
|
102
|
+
return files.reduce(function appendUniqueFile(uniqueFiles, file) {
|
|
103
|
+
if (seenPaths.has(file.path)) {
|
|
104
|
+
return uniqueFiles;
|
|
105
|
+
}
|
|
106
|
+
seenPaths.add(file.path);
|
|
107
|
+
return [...uniqueFiles, file];
|
|
108
|
+
}, []);
|
|
109
|
+
}
|
|
110
|
+
async function maybeDiscoverProfileFile(realCwd, requestedPath) {
|
|
111
|
+
const realPath = await realpath(resolve(realCwd, requestedPath));
|
|
112
|
+
const pathStat = await stat(realPath);
|
|
113
|
+
if (!pathStat.isFile()) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return createDiscoveredRunFile(realCwd, realPath, requestedPath);
|
|
117
|
+
}
|
|
118
|
+
async function discoverProfileRunFiles(realCwd, profileFiles) {
|
|
119
|
+
assertValidProfileFiles(profileFiles);
|
|
120
|
+
const files = [];
|
|
121
|
+
const discoveredPaths = glob(profileFiles.include, {
|
|
122
|
+
cwd: realCwd,
|
|
123
|
+
exclude: profileFiles.exclude,
|
|
124
|
+
followSymlinks: false
|
|
125
|
+
});
|
|
126
|
+
for await (const filePath of discoveredPaths) {
|
|
127
|
+
const file = await maybeDiscoverProfileFile(realCwd, filePath);
|
|
128
|
+
if (file !== null) {
|
|
129
|
+
files.push(file);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return sortedRunFiles(uniqueRunFiles(files));
|
|
133
|
+
}
|
|
134
|
+
function discoverExplicitRunFiles(files) {
|
|
67
135
|
const seenPaths = new Set();
|
|
68
136
|
for (const file of files) {
|
|
69
137
|
assertUniqueRunFile(file, seenPaths);
|
|
70
138
|
seenPaths.add(file.path);
|
|
71
139
|
}
|
|
72
|
-
assertNonEmptyDiscoveredFiles(files);
|
|
73
140
|
return files;
|
|
74
141
|
}
|
|
142
|
+
function pathIsInsideDirectory(filePath, directoryPath) {
|
|
143
|
+
const relativePath = relative(directoryPath, filePath);
|
|
144
|
+
return relativePath === '' || !isOutsideCwd(relativePath);
|
|
145
|
+
}
|
|
146
|
+
function filterFilesByDirectory(files, directory) {
|
|
147
|
+
return files.filter(function isInsideDirectory(file) {
|
|
148
|
+
return pathIsInsideDirectory(file.path, directory.path);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
function assertEffectiveDirectoryFilter(directory, profileFiles, filteredFiles) {
|
|
152
|
+
if (filteredFiles.length === 0) {
|
|
153
|
+
noTestsCollected(`Directory run path matched no profile-discovered test files: ${directory.requestedPath}`);
|
|
154
|
+
}
|
|
155
|
+
if (filteredFiles.length === profileFiles.length) {
|
|
156
|
+
invalidRequest(`Directory run path did not narrow profile file discovery: ${directory.requestedPath}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function discoverDirectoryFilteredFiles(profileFiles, directories) {
|
|
160
|
+
const files = [];
|
|
161
|
+
for (const directory of directories) {
|
|
162
|
+
const directoryFiles = filterFilesByDirectory(profileFiles, directory);
|
|
163
|
+
assertEffectiveDirectoryFilter(directory, profileFiles, directoryFiles);
|
|
164
|
+
files.push(...directoryFiles);
|
|
165
|
+
}
|
|
166
|
+
const uniqueFiles = sortedRunFiles(uniqueRunFiles(files));
|
|
167
|
+
assertNonEmptyArray('Directory run paths matched no profile-discovered test files.', uniqueFiles);
|
|
168
|
+
return [uniqueFiles[0], ...uniqueFiles.slice(1)];
|
|
169
|
+
}
|
|
170
|
+
function assertNoDuplicateDirectories(directories) {
|
|
171
|
+
const seenPaths = new Set();
|
|
172
|
+
for (const directory of directories) {
|
|
173
|
+
if (seenPaths.has(directory.path)) {
|
|
174
|
+
invalidRequest(`Run path must not be duplicated: ${directory.requestedPath}`);
|
|
175
|
+
}
|
|
176
|
+
seenPaths.add(directory.path);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
async function discoverDirectoryRunFiles(realCwd, profileFiles, directories) {
|
|
180
|
+
if (profileFiles === null) {
|
|
181
|
+
invalidRequest('Directory run paths require selected profile file discovery.');
|
|
182
|
+
}
|
|
183
|
+
assertNoDuplicateDirectories(directories);
|
|
184
|
+
const files = await discoverProfileRunFiles(realCwd, profileFiles);
|
|
185
|
+
assertNonEmptyArray('Profile file discovery matched no test files.', files);
|
|
186
|
+
return discoverDirectoryFilteredFiles(files, directories);
|
|
187
|
+
}
|
|
188
|
+
async function discoverProfileOnlyRunFiles(realCwd, profileFiles) {
|
|
189
|
+
if (profileFiles === null) {
|
|
190
|
+
noTestsCollected('No run paths were provided and the selected profile has no file discovery policy.');
|
|
191
|
+
}
|
|
192
|
+
const files = await discoverProfileRunFiles(realCwd, profileFiles);
|
|
193
|
+
assertNonEmptyArray('Profile file discovery matched no test files.', files);
|
|
194
|
+
return [files[0], ...files.slice(1)];
|
|
195
|
+
}
|
|
196
|
+
function assertConsistentRunPathKinds(paths) {
|
|
197
|
+
const hasFiles = paths.some(function isFile(path) {
|
|
198
|
+
return path.kind === 'file';
|
|
199
|
+
});
|
|
200
|
+
const hasDirectories = paths.some(function isDirectory(path) {
|
|
201
|
+
return path.kind === 'directory';
|
|
202
|
+
});
|
|
203
|
+
if (hasFiles && hasDirectories) {
|
|
204
|
+
invalidRequest('Run paths must not mix files and directories.');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function discoveredFiles(paths) {
|
|
208
|
+
return paths.flatMap(function toFile(path) {
|
|
209
|
+
return path.kind === 'file' ? [path.file] : [];
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
function discoveredDirectories(paths) {
|
|
213
|
+
return paths.flatMap(function toDirectory(path) {
|
|
214
|
+
return path.kind === 'directory' ? [path.directory] : [];
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
async function discoverRequestedRunFiles(realCwd, request) {
|
|
218
|
+
const paths = await Promise.all(request.paths.map(async function discoverPath(requestedPath) {
|
|
219
|
+
return await discoverRunPath(realCwd, requestedPath);
|
|
220
|
+
}));
|
|
221
|
+
assertConsistentRunPathKinds(paths);
|
|
222
|
+
const files = discoveredFiles(paths);
|
|
223
|
+
const firstFile = files[0];
|
|
224
|
+
if (firstFile !== undefined) {
|
|
225
|
+
return discoverExplicitRunFiles([firstFile, ...files.slice(1)]);
|
|
226
|
+
}
|
|
227
|
+
const directories = discoveredDirectories(paths);
|
|
228
|
+
assertNonEmptyArray('No run paths were provided and the selected profile has no file discovery policy.', directories);
|
|
229
|
+
return await discoverDirectoryRunFiles(realCwd, request.profileFiles, [directories[0], ...directories.slice(1)]);
|
|
230
|
+
}
|
|
231
|
+
export async function discoverRunFiles(request) {
|
|
232
|
+
const realCwd = await readRealCwd(request.cwd);
|
|
233
|
+
return request.paths.length === 0
|
|
234
|
+
? await discoverProfileOnlyRunFiles(realCwd, request.profileFiles)
|
|
235
|
+
: await discoverRequestedRunFiles(realCwd, request);
|
|
236
|
+
}
|
|
75
237
|
//# sourceMappingURL=run-discovery.js.map
|
package/run/run-discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-discovery.js","sourceRoot":"","sources":["../../../../source/run/run-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-discovery.js","sourceRoot":"","sources":["../../../../source/run/run-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { discoverRunFiles } from "./run-discovery.js";
|
|
2
|
+
import { selectedProfile } from "./run-facts.js";
|
|
3
|
+
import { copyRunEngineSelection, copyRunConfig, copyRunRequest, freezeValue } from "./run-support.js";
|
|
4
|
+
import { assertSupportedProcessEngine, validateRunInput } from "./run-validation.js";
|
|
5
|
+
export async function readResolvedRunInput(command) {
|
|
6
|
+
validateRunInput(command);
|
|
7
|
+
const request = freezeValue(copyRunRequest(command.request));
|
|
8
|
+
const config = freezeValue(copyRunConfig(command.config));
|
|
9
|
+
const profile = selectedProfile(request, config);
|
|
10
|
+
assertSupportedProcessEngine(command, profile);
|
|
11
|
+
const files = freezeValue(await discoverRunFiles({
|
|
12
|
+
cwd: command.cwd,
|
|
13
|
+
paths: request.paths,
|
|
14
|
+
profileFiles: profile.files
|
|
15
|
+
}));
|
|
16
|
+
const engine = freezeValue(copyRunEngineSelection(command.engine));
|
|
17
|
+
return { config, engine, files, profile, request };
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=run-input-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACd,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACH,4BAA4B,EAC5B,gBAAgB,EACnB,MAAM,qBAAqB,CAAC;AAU7B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAmB;IAC1D,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,WAAW,CACrB,MAAM,gBAAgB,CAAC;QACnB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,KAAK;KAC9B,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { collectedRunPlanFromTestPlan } from "./collected-run-plan.js";
|
|
2
|
+
function indent(depth) {
|
|
3
|
+
return ' '.repeat(depth);
|
|
4
|
+
}
|
|
5
|
+
function sharedPrefixLength(left, right) {
|
|
6
|
+
let length = 0;
|
|
7
|
+
while (left[length] !== undefined && left[length] === right[length]) {
|
|
8
|
+
length += 1;
|
|
9
|
+
}
|
|
10
|
+
return length;
|
|
11
|
+
}
|
|
12
|
+
function formatCaseName(testCase) {
|
|
13
|
+
if (testCase.params === null) {
|
|
14
|
+
return testCase.name;
|
|
15
|
+
}
|
|
16
|
+
return `${testCase.name} [${testCase.params}]`;
|
|
17
|
+
}
|
|
18
|
+
function renderSuiteLines(sharedLength, suite) {
|
|
19
|
+
const lines = [];
|
|
20
|
+
for (let index = sharedLength; index < suite.length; index += 1) {
|
|
21
|
+
const suiteName = suite[index];
|
|
22
|
+
if (suiteName !== undefined) {
|
|
23
|
+
lines.push(`${indent(index + 1)}${suiteName}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return lines;
|
|
27
|
+
}
|
|
28
|
+
function renderFile(file) {
|
|
29
|
+
const lines = [file.file];
|
|
30
|
+
let currentSuite = [];
|
|
31
|
+
for (const testCase of file.cases) {
|
|
32
|
+
const sharedLength = sharedPrefixLength(currentSuite, testCase.suite);
|
|
33
|
+
lines.push(...renderSuiteLines(sharedLength, testCase.suite), `${indent(testCase.suite.length + 1)}${formatCaseName(testCase)}`);
|
|
34
|
+
currentSuite = testCase.suite;
|
|
35
|
+
}
|
|
36
|
+
return lines;
|
|
37
|
+
}
|
|
38
|
+
function renderOrphan(orphan) {
|
|
39
|
+
return `${indent(1)}${orphan.kind}: ${orphan.name} (${orphan.file ?? '<unknown>'})`;
|
|
40
|
+
}
|
|
41
|
+
function renderOrphans(orphans) {
|
|
42
|
+
if (orphans.length === 0) {
|
|
43
|
+
return ['Orphans', `${indent(1)}(none)`];
|
|
44
|
+
}
|
|
45
|
+
return ['Orphans', ...orphans.map(renderOrphan)];
|
|
46
|
+
}
|
|
47
|
+
function resolvedCollectedPlan(resolvedRun) {
|
|
48
|
+
if (resolvedRun.plan.kind === 'supervised') {
|
|
49
|
+
return resolvedRun.plan.collectedPlan;
|
|
50
|
+
}
|
|
51
|
+
return collectedRunPlanFromTestPlan(resolvedRun.plan.testPlan);
|
|
52
|
+
}
|
|
53
|
+
export function renderResolvedRunList(resolvedRun, options) {
|
|
54
|
+
const plan = resolvedCollectedPlan(resolvedRun);
|
|
55
|
+
const planLines = plan.files.flatMap(renderFile);
|
|
56
|
+
if (!options.withOrphans) {
|
|
57
|
+
return planLines;
|
|
58
|
+
}
|
|
59
|
+
return [...planLines, ...renderOrphans(plan.orphans)];
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=run-list-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-list-renderer.js","sourceRoot":"","sources":["../../../../source/run/run-list-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { RunCollectionError } from "./run-errors.js";
|
|
2
2
|
import { resolveRunEngine } from "./run-engine-selection.js";
|
|
3
|
-
import {
|
|
4
|
-
async function createTestPlan(command, dependencies) {
|
|
3
|
+
import { createRunTestPlanFromFiles } from "./run-test-plan.js";
|
|
4
|
+
async function createTestPlan(command, files, dependencies) {
|
|
5
5
|
const engine = await resolveRunEngine(command.engine, dependencies);
|
|
6
|
-
return await
|
|
6
|
+
return await createRunTestPlanFromFiles({ cwd: command.cwd, engine, files });
|
|
7
7
|
}
|
|
8
|
-
export async function createLocalTestPlan(command, profile, dependencies) {
|
|
8
|
+
export async function createLocalTestPlan(command, profile, files, dependencies) {
|
|
9
9
|
let rejectCollection = function ignoreReject() {
|
|
10
10
|
return undefined;
|
|
11
11
|
};
|
|
@@ -16,7 +16,7 @@ export async function createLocalTestPlan(command, profile, dependencies) {
|
|
|
16
16
|
rejectCollection(new RunCollectionError('Collection exceeded collection timeout.', { cause: null }, 'loader'));
|
|
17
17
|
}, profile.timeouts.collectionMilliseconds);
|
|
18
18
|
try {
|
|
19
|
-
return await Promise.race([createTestPlan(command, dependencies), collectionTimeout]);
|
|
19
|
+
return await Promise.race([createTestPlan(command, files, dependencies), collectionTimeout]);
|
|
20
20
|
}
|
|
21
21
|
finally {
|
|
22
22
|
dependencies.wallClock.clearTimeout(timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-local-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-local-test-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-local-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-local-test-plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAIhE,KAAK,UAAU,cAAc,CACzB,OAAmB,EACnB,KAA+C,EAC/C,YAAyC;IAEzC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEpE,OAAO,MAAM,0BAA0B,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,OAAmB,EACnB,OAAkC,EAClC,KAA+C,EAC/C,YAAyC;IAEzC,IAAI,gBAAgB,GAAwC,SAAS,YAAY;QAC7E,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAQ,SAAS,yBAAyB,CAAC,QAAQ,EAAE,MAAM;QAC5F,gBAAgB,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,sBAAsB;QAC7E,gBAAgB,CACZ,IAAI,kBAAkB,CAClB,yCAAyC,EACzC,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CACJ,CAAC;IACN,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IAE5C,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAE,CAAC,CAAC;IACnG,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;AACL,CAAC"}
|
package/run/run-support.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { createRuntimeCapabilityPolicy } from "./capability-policy.js";
|
|
2
|
+
import { validateRunResourceUsagePolicy } from "./run-validation.js";
|
|
3
|
+
export function freezeValue(value) {
|
|
4
|
+
if (value !== null && typeof value === 'object') {
|
|
5
|
+
for (const propertyValue of Object.values(value)) {
|
|
6
|
+
freezeValue(propertyValue);
|
|
7
|
+
}
|
|
8
|
+
Object.freeze(value);
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
2
12
|
export function resolveRunReporters(profile, fallbackReporters) {
|
|
3
13
|
return profile.reporters ?? fallbackReporters;
|
|
4
14
|
}
|
|
@@ -48,9 +58,19 @@ function copyExecution(execution) {
|
|
|
48
58
|
scheduling: execution.scheduling
|
|
49
59
|
};
|
|
50
60
|
}
|
|
61
|
+
function copyProfileFiles(files) {
|
|
62
|
+
if (files === null) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
exclude: Array.from(files.exclude),
|
|
67
|
+
include: [files.include[0], ...files.include.slice(1)]
|
|
68
|
+
};
|
|
69
|
+
}
|
|
51
70
|
function copyProfileConfig(profile) {
|
|
52
71
|
return {
|
|
53
72
|
execution: copyExecution(profile.execution),
|
|
73
|
+
files: copyProfileFiles(profile.files),
|
|
54
74
|
reporters: profile.reporters === null ? null : Array.from(profile.reporters),
|
|
55
75
|
resourceUsage: copyResourceUsagePolicy(profile.resourceUsage),
|
|
56
76
|
testFamily: profile.testFamily,
|
|
@@ -133,4 +153,7 @@ export function createRunRuntimePolicy(request, dependencies) {
|
|
|
133
153
|
})
|
|
134
154
|
: null;
|
|
135
155
|
}
|
|
156
|
+
export function assertRunnableResourceUsagePolicy(policy) {
|
|
157
|
+
validateRunResourceUsagePolicy(policy);
|
|
158
|
+
}
|
|
136
159
|
//# sourceMappingURL=run-support.js.map
|
package/run/run-support.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-support.js","sourceRoot":"","sources":["../../../../source/run/run-support.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,6BAA6B,EAEhC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-support.js","sourceRoot":"","sources":["../../../../source/run/run-support.ts"],"names":[],"mappings":"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"}
|
package/run/run-test-plan.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./run-discovery.js";
|
|
2
2
|
import { RunCollectionError } from "./run-errors.js";
|
|
3
3
|
import { loadRunTestModules } from "./run-test-modules.js";
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const testFiles = await loadRunTestModules(files, input.engine);
|
|
4
|
+
async function createRunTestPlanFromDiscoveredFiles(input) {
|
|
5
|
+
const testFiles = await loadRunTestModules(input.files, input.engine);
|
|
7
6
|
try {
|
|
8
7
|
return input.engine.createTestPlanFromTestFiles({
|
|
9
8
|
files: testFiles,
|
|
@@ -14,7 +13,11 @@ export async function createRunTestPlan(input) {
|
|
|
14
13
|
});
|
|
15
14
|
}
|
|
16
15
|
catch (error) {
|
|
17
|
-
throw new RunCollectionError('Failed to collect tests from
|
|
16
|
+
throw new RunCollectionError('Failed to collect tests from run inputs.', { cause: error }, 'loader');
|
|
18
17
|
}
|
|
19
18
|
}
|
|
19
|
+
|
|
20
|
+
export async function createRunTestPlanFromFiles(input) {
|
|
21
|
+
return await createRunTestPlanFromDiscoveredFiles(input);
|
|
22
|
+
}
|
|
20
23
|
//# sourceMappingURL=run-test-plan.js.map
|
package/run/run-test-plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-test-plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-test-plan.js","sourceRoot":"","sources":["../../../../source/run/run-test-plan.ts"],"names":[],"mappings":"AAGA,OAAyD,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAc3D,KAAK,UAAU,oCAAoC,CAAC,KAAgC;IAChF,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtE,IAAI,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC;YAC5C,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE;gBACF,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,GAAG;aAClB;SACJ,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;;MAQK,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAAgC;IAC7E,OAAO,MAAM,oCAAoC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}
|