@overkill-dev/run 0.0.23 → 0.0.25
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-supervision.js +1 -1
- package/engine/execution-supervision.js.map +1 -1
- package/engine/metadata.d.ts +49 -0
- package/engine/metadata.d.ts.map +1 -0
- package/engine/metadata.js +313 -0
- package/engine/metadata.js.map +1 -0
- package/engine/reporter.d.ts +2 -2
- package/engine/reporter.d.ts.map +1 -1
- package/engine/run-if-main.d.ts +2 -1
- package/engine/run-if-main.d.ts.map +1 -1
- package/engine/run-if-main.js.map +1 -1
- package/engine/test-node.d.ts +1 -2
- package/engine/test-node.d.ts.map +1 -1
- package/engine/test-node.js +5 -7
- package/engine/test-node.js.map +1 -1
- package/engine/test-plan.d.ts +10 -4
- package/engine/test-plan.d.ts.map +1 -1
- package/engine/test-plan.js +22 -14
- package/engine/test-plan.js.map +1 -1
- package/package.json +7 -1
- package/packages/run/filters.entry-point.d.ts +3 -0
- package/packages/run/filters.entry-point.d.ts.map +1 -0
- package/packages/run/filters.entry-point.js +2 -0
- package/packages/run/filters.entry-point.js.map +1 -0
- package/packages/run/run.entry-point.d.ts +1 -1
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/readme.md +27 -5
- package/run/collected-run-plan.js +25 -15
- package/run/collected-run-plan.js.map +1 -1
- package/run/run-facts.js +1 -0
- package/run/run-facts.js.map +1 -1
- package/run/run-local-test-plan.js +3 -3
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-selection-filters.d.ts +29 -0
- package/run/run-selection-filters.d.ts.map +1 -0
- package/run/run-selection-filters.js +346 -0
- package/run/run-selection-filters.js.map +1 -0
- package/run/run-selection.js +104 -0
- package/run/run-selection.js.map +1 -0
- package/run/run-support.js +2 -1
- package/run/run-support.js.map +1 -1
- package/run/run-test-modules.js +1 -0
- package/run/run-test-modules.js.map +1 -1
- package/run/run-test-plan.js +1 -1
- package/run/run-test-plan.js.map +1 -1
- package/run/run-types.d.ts +64 -5
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run-validation.js +8 -0
- package/run/run-validation.js.map +1 -1
- package/run/run.js +74 -32
- package/run/run.js.map +1 -1
- package/run/supervised-run-runtime.js +2 -1
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run.js +9 -2
- package/run/supervised-run.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { posix as path } from 'node:path';
|
|
2
|
+
import { caseIdentityKey } from "../engine/identity.js";
|
|
3
|
+
const filterFields = new Set([
|
|
4
|
+
'file',
|
|
5
|
+
'name',
|
|
6
|
+
'owner',
|
|
7
|
+
'params',
|
|
8
|
+
'runtime',
|
|
9
|
+
'stability',
|
|
10
|
+
'suite',
|
|
11
|
+
'tag'
|
|
12
|
+
]);
|
|
13
|
+
function isRecord(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
15
|
+
}
|
|
16
|
+
function isRunStringFilterField(value) {
|
|
17
|
+
return typeof value === 'string' && filterFields.has(value);
|
|
18
|
+
}
|
|
19
|
+
function assertNonEmptyString(value, label) {
|
|
20
|
+
if (value.trim().length === 0) {
|
|
21
|
+
throw new TypeError(`${label} must not be empty.`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function assertNonEmptyFilters(filters) {
|
|
25
|
+
const [firstFilter, ...remainingFilters] = filters;
|
|
26
|
+
if (firstFilter === undefined) {
|
|
27
|
+
throw new TypeError('Composite run filters must contain at least one child filter.');
|
|
28
|
+
}
|
|
29
|
+
return [firstFilter, ...remainingFilters];
|
|
30
|
+
}
|
|
31
|
+
function copyCaseId(id) {
|
|
32
|
+
return {
|
|
33
|
+
file: id.file,
|
|
34
|
+
name: id.name,
|
|
35
|
+
params: id.params,
|
|
36
|
+
suite: Array.from(id.suite)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export function all(filters) {
|
|
40
|
+
return {
|
|
41
|
+
filters: assertNonEmptyFilters(Array.from(filters)),
|
|
42
|
+
kind: 'all'
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export function any(filters) {
|
|
46
|
+
return {
|
|
47
|
+
filters: assertNonEmptyFilters(Array.from(filters)),
|
|
48
|
+
kind: 'any'
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function not(filter) {
|
|
52
|
+
return { filter, kind: 'not' };
|
|
53
|
+
}
|
|
54
|
+
export function caseId(id) {
|
|
55
|
+
return {
|
|
56
|
+
id: copyCaseId(id),
|
|
57
|
+
kind: 'case-id'
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function equals(field, value) {
|
|
61
|
+
assertNonEmptyString(value, 'Run filter value');
|
|
62
|
+
return { field, kind: 'equals', value };
|
|
63
|
+
}
|
|
64
|
+
export function contains(field, value) {
|
|
65
|
+
assertNonEmptyString(value, 'Run filter value');
|
|
66
|
+
return { field, kind: 'contains', value };
|
|
67
|
+
}
|
|
68
|
+
export function glob(field, pattern) {
|
|
69
|
+
assertNonEmptyString(pattern, 'Run filter glob pattern');
|
|
70
|
+
return { field, kind: 'glob', pattern };
|
|
71
|
+
}
|
|
72
|
+
export function file(pattern) {
|
|
73
|
+
return glob('file', pattern);
|
|
74
|
+
}
|
|
75
|
+
export function name(value) {
|
|
76
|
+
return contains('name', value);
|
|
77
|
+
}
|
|
78
|
+
export function owner(value) {
|
|
79
|
+
return equals('owner', value);
|
|
80
|
+
}
|
|
81
|
+
export function params(value) {
|
|
82
|
+
return contains('params', value);
|
|
83
|
+
}
|
|
84
|
+
export function runtime(value) {
|
|
85
|
+
return equals('runtime', value);
|
|
86
|
+
}
|
|
87
|
+
export function stability(value) {
|
|
88
|
+
return equals('stability', value);
|
|
89
|
+
}
|
|
90
|
+
export function suite(value) {
|
|
91
|
+
return contains('suite', value);
|
|
92
|
+
}
|
|
93
|
+
export function tag(value) {
|
|
94
|
+
return equals('tag', value);
|
|
95
|
+
}
|
|
96
|
+
function hasInvalidSuiteItem(value) {
|
|
97
|
+
return !Array.isArray(value) || value.some(function emptySuiteItem(item) {
|
|
98
|
+
return typeof item !== 'string' || item.trim().length === 0;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
const caseIdFieldValidators = [
|
|
102
|
+
function invalidCaseFile(id) {
|
|
103
|
+
if (typeof id.file !== 'string' && id.file !== null) {
|
|
104
|
+
return 'Run filter case id file must be a string or null.';
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
},
|
|
108
|
+
function invalidCaseName(id) {
|
|
109
|
+
if (typeof id.name !== 'string' || id.name.trim().length === 0) {
|
|
110
|
+
return 'Run filter case id name must be a non-empty string.';
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
},
|
|
114
|
+
function invalidCaseParams(id) {
|
|
115
|
+
if (typeof id.params !== 'string' && id.params !== null) {
|
|
116
|
+
return 'Run filter case id params must be a string or null.';
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
},
|
|
120
|
+
function invalidCaseSuite(id) {
|
|
121
|
+
if (hasInvalidSuiteItem(id.suite)) {
|
|
122
|
+
return 'Run filter case id suite must contain non-empty strings.';
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
];
|
|
127
|
+
function invalidCaseIdFieldMessage(id) {
|
|
128
|
+
for (const validateField of caseIdFieldValidators) {
|
|
129
|
+
const message = validateField(id);
|
|
130
|
+
if (message !== null) {
|
|
131
|
+
return message;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
function invalidCaseIdMessage(id) {
|
|
137
|
+
if (!isRecord(id)) {
|
|
138
|
+
return 'Run filter case id must be an object.';
|
|
139
|
+
}
|
|
140
|
+
return invalidCaseIdFieldMessage(id);
|
|
141
|
+
}
|
|
142
|
+
function invalidStringFilterMessage(filter, valueField) {
|
|
143
|
+
if (!isRunStringFilterField(filter.field)) {
|
|
144
|
+
return 'Run filter field is unknown.';
|
|
145
|
+
}
|
|
146
|
+
if (typeof filter[valueField] !== 'string' || filter[valueField].trim().length === 0) {
|
|
147
|
+
return `Run filter ${valueField} must be a non-empty string.`;
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
function invalidCompositeFilterMessage(filter) {
|
|
152
|
+
if (!Array.isArray(filter.filters) || filter.filters.length === 0) {
|
|
153
|
+
return 'Composite run filters must contain at least one child filter.';
|
|
154
|
+
}
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
const filterNodeValidators = {
|
|
158
|
+
all: invalidCompositeFilterMessage,
|
|
159
|
+
any: invalidCompositeFilterMessage,
|
|
160
|
+
'case-id': function invalidCaseIdFilter(filter) {
|
|
161
|
+
return invalidCaseIdMessage(filter.id);
|
|
162
|
+
},
|
|
163
|
+
contains: function invalidContainsFilter(filter) {
|
|
164
|
+
return invalidStringFilterMessage(filter, 'value');
|
|
165
|
+
},
|
|
166
|
+
equals: function invalidEqualsFilter(filter) {
|
|
167
|
+
return invalidStringFilterMessage(filter, 'value');
|
|
168
|
+
},
|
|
169
|
+
glob: function invalidGlobFilter(filter) {
|
|
170
|
+
return invalidStringFilterMessage(filter, 'pattern');
|
|
171
|
+
},
|
|
172
|
+
not: function invalidNotFilter(filter) {
|
|
173
|
+
return isRecord(filter.filter) ? null : 'Run filter must be an object.';
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
function invalidKnownFilterMessage(filter) {
|
|
177
|
+
const validate = typeof filter.kind === 'string' ? filterNodeValidators[filter.kind] : undefined;
|
|
178
|
+
return validate === undefined ? 'Run filter kind is unknown.' : validate(filter);
|
|
179
|
+
}
|
|
180
|
+
function filterChildren(filter) {
|
|
181
|
+
if ((filter.kind === 'all' || filter.kind === 'any') && Array.isArray(filter.filters)) {
|
|
182
|
+
return filter.filters;
|
|
183
|
+
}
|
|
184
|
+
return filter.kind === 'not' ? [filter.filter] : [];
|
|
185
|
+
}
|
|
186
|
+
function invalidFilterNodeMessage(filter) {
|
|
187
|
+
if (!isRecord(filter)) {
|
|
188
|
+
return 'Run filter must be an object.';
|
|
189
|
+
}
|
|
190
|
+
return invalidKnownFilterMessage(filter);
|
|
191
|
+
}
|
|
192
|
+
function childFilterLevel(filters) {
|
|
193
|
+
return filters.flatMap(function childFilters(filter) {
|
|
194
|
+
return isRecord(filter) ? filterChildren(filter) : [];
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
function invalidFilterLevelMessage(filters) {
|
|
198
|
+
for (const filter of filters) {
|
|
199
|
+
const message = invalidFilterNodeMessage(filter);
|
|
200
|
+
if (message !== null) {
|
|
201
|
+
return message;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
function invalidRunFilterMessage(filter) {
|
|
207
|
+
let pendingFilters = [filter];
|
|
208
|
+
while (pendingFilters.length > 0) {
|
|
209
|
+
const message = invalidFilterLevelMessage(pendingFilters);
|
|
210
|
+
if (message !== null) {
|
|
211
|
+
return message;
|
|
212
|
+
}
|
|
213
|
+
pendingFilters = childFilterLevel(pendingFilters);
|
|
214
|
+
}
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
export function invalidRunSelectionMessage(selection) {
|
|
218
|
+
if (!isRecord(selection)) {
|
|
219
|
+
return 'Run selection must be an object.';
|
|
220
|
+
}
|
|
221
|
+
if (selection.kind === 'all') {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
224
|
+
if (selection.kind === 'filter') {
|
|
225
|
+
return invalidRunFilterMessage(selection.filter);
|
|
226
|
+
}
|
|
227
|
+
return 'Run selection kind is unknown.';
|
|
228
|
+
}
|
|
229
|
+
function copyRunFilter(filter) {
|
|
230
|
+
if (filter.kind === 'all' || filter.kind === 'any') {
|
|
231
|
+
return {
|
|
232
|
+
filters: assertNonEmptyFilters(filter.filters.map(copyRunFilter)),
|
|
233
|
+
kind: filter.kind
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
if (filter.kind === 'not') {
|
|
237
|
+
return {
|
|
238
|
+
filter: copyRunFilter(filter.filter),
|
|
239
|
+
kind: 'not'
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
if (filter.kind === 'case-id') {
|
|
243
|
+
return caseId(filter.id);
|
|
244
|
+
}
|
|
245
|
+
if (filter.kind === 'glob') {
|
|
246
|
+
return glob(filter.field, filter.pattern);
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
field: filter.field,
|
|
250
|
+
kind: filter.kind,
|
|
251
|
+
value: filter.value
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
export function copyRunSelection(selection) {
|
|
255
|
+
if (selection.kind === 'all') {
|
|
256
|
+
return { kind: 'all' };
|
|
257
|
+
}
|
|
258
|
+
return {
|
|
259
|
+
filter: copyRunFilter(selection.filter),
|
|
260
|
+
kind: 'filter'
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
function normalizedValue(value) {
|
|
264
|
+
return value.toLowerCase();
|
|
265
|
+
}
|
|
266
|
+
function suitePath(suiteParts) {
|
|
267
|
+
if (suiteParts.length === 0) {
|
|
268
|
+
return [];
|
|
269
|
+
}
|
|
270
|
+
return [suiteParts.join(' > ')];
|
|
271
|
+
}
|
|
272
|
+
const candidateFieldReaders = {
|
|
273
|
+
file(candidate) {
|
|
274
|
+
return candidate.id.file === null ? [] : [candidate.id.file];
|
|
275
|
+
},
|
|
276
|
+
name(candidate) {
|
|
277
|
+
return [candidate.id.name];
|
|
278
|
+
},
|
|
279
|
+
owner(candidate) {
|
|
280
|
+
return candidate.metadata.ownership;
|
|
281
|
+
},
|
|
282
|
+
params(candidate) {
|
|
283
|
+
return candidate.id.params === null ? [] : [candidate.id.params];
|
|
284
|
+
},
|
|
285
|
+
runtime(candidate) {
|
|
286
|
+
return candidate.metadata.runtimes;
|
|
287
|
+
},
|
|
288
|
+
stability(candidate) {
|
|
289
|
+
return [candidate.metadata.stability];
|
|
290
|
+
},
|
|
291
|
+
suite(candidate) {
|
|
292
|
+
return suitePath(candidate.id.suite);
|
|
293
|
+
},
|
|
294
|
+
tag(candidate) {
|
|
295
|
+
return candidate.metadata.tags;
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
function candidateFieldValues(candidate, field) {
|
|
299
|
+
return candidateFieldReaders[field](candidate);
|
|
300
|
+
}
|
|
301
|
+
function matchesStringFilter(candidate, field, match) {
|
|
302
|
+
return candidateFieldValues(candidate, field)
|
|
303
|
+
.map(normalizedValue)
|
|
304
|
+
.some(match);
|
|
305
|
+
}
|
|
306
|
+
function matchesTextFilter(filter, candidate) {
|
|
307
|
+
if (filter.kind === 'contains') {
|
|
308
|
+
const expected = normalizedValue(filter.value);
|
|
309
|
+
return matchesStringFilter(candidate, filter.field, function valueContains(value) {
|
|
310
|
+
return value.includes(expected);
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
if (filter.kind === 'equals') {
|
|
314
|
+
const expected = normalizedValue(filter.value);
|
|
315
|
+
return matchesStringFilter(candidate, filter.field, function valueEquals(value) {
|
|
316
|
+
return value === expected;
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
if (filter.kind === 'glob') {
|
|
320
|
+
const pattern = normalizedValue(filter.pattern);
|
|
321
|
+
return matchesStringFilter(candidate, filter.field, function valueMatchesGlob(value) {
|
|
322
|
+
return path.matchesGlob(value, pattern);
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
export function matchesRunFilter(filter, candidate) {
|
|
328
|
+
if (filter.kind === 'all') {
|
|
329
|
+
return filter.filters.every(function childMatches(childFilter) {
|
|
330
|
+
return matchesRunFilter(childFilter, candidate);
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
if (filter.kind === 'any') {
|
|
334
|
+
return filter.filters.some(function childMatches(childFilter) {
|
|
335
|
+
return matchesRunFilter(childFilter, candidate);
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
if (filter.kind === 'not') {
|
|
339
|
+
return !matchesRunFilter(filter.filter, candidate);
|
|
340
|
+
}
|
|
341
|
+
if (filter.kind === 'case-id') {
|
|
342
|
+
return caseIdentityKey(filter.id) === caseIdentityKey(candidate.id);
|
|
343
|
+
}
|
|
344
|
+
return matchesTextFilter(filter, candidate);
|
|
345
|
+
}
|
|
346
|
+
//# sourceMappingURL=run-selection-filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-selection-filters.js","sourceRoot":"","sources":["../../../../source/run/run-selection-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createCaseId } from "../engine/identity.js";
|
|
2
|
+
import { noTestsCollected } from "./run-errors.js";
|
|
3
|
+
import { matchesRunFilter } from "./run-selection-filters.js";
|
|
4
|
+
function selectedCases(cases, selection, matchesCase) {
|
|
5
|
+
if (selection.kind === 'all') {
|
|
6
|
+
return {
|
|
7
|
+
discoveredCases: cases,
|
|
8
|
+
plannedCases: cases
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
discoveredCases: cases,
|
|
13
|
+
plannedCases: cases.filter(matchesCase)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function matchesTestPlanCase(selection) {
|
|
17
|
+
if (selection.kind === 'all') {
|
|
18
|
+
return function keepAllCases() {
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return function testPlanCaseMatches(testCase) {
|
|
23
|
+
return matchesRunFilter(selection.filter, {
|
|
24
|
+
id: testCase.id,
|
|
25
|
+
metadata: testCase.metadata
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function selectedTestPlanCases(testPlan, selection) {
|
|
30
|
+
return selectedCases(testPlan.discoveredCases, selection, matchesTestPlanCase(selection));
|
|
31
|
+
}
|
|
32
|
+
export function selectedTestPlan(testPlan, selection) {
|
|
33
|
+
const selectionResult = selectedTestPlanCases(testPlan, selection);
|
|
34
|
+
const firstCase = selectionResult.plannedCases[0];
|
|
35
|
+
if (firstCase === undefined) {
|
|
36
|
+
noTestsCollected('Run selection matched no test cases.');
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
...testPlan,
|
|
40
|
+
cases: [firstCase, ...selectionResult.plannedCases.slice(1)]
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function collectedCaseId(file, testCase) {
|
|
44
|
+
return createCaseId(file, testCase.suite, testCase.name, testCase.params);
|
|
45
|
+
}
|
|
46
|
+
function collectedCases(files) {
|
|
47
|
+
return files.flatMap(function collectFileCases(file) {
|
|
48
|
+
return file.cases.map(function collectCase(testCase) {
|
|
49
|
+
return {
|
|
50
|
+
file: file.file,
|
|
51
|
+
testCase
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function matchesCollectedCase(selection) {
|
|
57
|
+
if (selection.kind === 'all') {
|
|
58
|
+
return function keepAllCases() {
|
|
59
|
+
return true;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return function collectedCaseMatches(input) {
|
|
63
|
+
return matchesRunFilter(selection.filter, {
|
|
64
|
+
id: collectedCaseId(input.file, input.testCase),
|
|
65
|
+
metadata: input.testCase.metadata
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function collectedRunFile(file, cases) {
|
|
70
|
+
if (cases.length === 0) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return { cases, file };
|
|
74
|
+
}
|
|
75
|
+
function collectedRunFiles(cases) {
|
|
76
|
+
return Array
|
|
77
|
+
.from(Map.groupBy(cases, function groupByFile(input) {
|
|
78
|
+
return input.file;
|
|
79
|
+
}))
|
|
80
|
+
.flatMap(function toCollectedFile([file, fileCases]) {
|
|
81
|
+
const plannedFile = collectedRunFile(file, fileCases.map(function toTestCase(input) {
|
|
82
|
+
return input.testCase;
|
|
83
|
+
}));
|
|
84
|
+
return plannedFile === null ? [] : [plannedFile];
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
export function selectedCollectedRunPlan(plan, selection) {
|
|
88
|
+
const discoveredCases = collectedCases(plan.discoveredFiles);
|
|
89
|
+
const plannedCases = selection.kind === 'all'
|
|
90
|
+
? discoveredCases
|
|
91
|
+
: discoveredCases.filter(matchesCollectedCase(selection));
|
|
92
|
+
return {
|
|
93
|
+
...plan,
|
|
94
|
+
files: collectedRunFiles(plannedCases)
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export function assertCollectedRunPlanHasCases(plan) {
|
|
98
|
+
if (plan.files.every(function fileHasNoCases(file) {
|
|
99
|
+
return file.cases.length === 0;
|
|
100
|
+
})) {
|
|
101
|
+
noTestsCollected('Run selection matched no test cases.');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=run-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-selection.js","sourceRoot":"","sources":["../../../../source/run/run-selection.ts"],"names":[],"mappings":"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"}
|
package/run/run-support.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createRuntimeCapabilityPolicy } from "./capability-policy.js";
|
|
2
|
+
import { copyRunSelection } from "./run-selection-filters.js";
|
|
2
3
|
import { validateRunResourceUsagePolicy } from "./run-validation.js";
|
|
3
4
|
export function freezeValue(value) {
|
|
4
5
|
if (value !== null && typeof value === 'object') {
|
|
@@ -99,7 +100,7 @@ export function copyRunRequest(request) {
|
|
|
99
100
|
resourceBudgetOverrides: copyResourceBudgetOverrides(request.resourceBudgetOverrides),
|
|
100
101
|
resourceUsageSamplingIntervalMilliseconds: request.resourceUsageSamplingIntervalMilliseconds,
|
|
101
102
|
seed: { value: request.seed.value },
|
|
102
|
-
selection:
|
|
103
|
+
selection: copyRunSelection(request.selection),
|
|
103
104
|
shard: copyRunShard(request.shard),
|
|
104
105
|
verbose: request.verbose
|
|
105
106
|
};
|
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":"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
|
|
1
|
+
{"version":3,"file":"run-support.js","sourceRoot":"","sources":["../../../../source/run/run-support.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,6BAA6B,EAEhC,MAAM,wBAAwB,CAAC;AAiBhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAIrE,MAAM,UAAU,WAAW,CAAQ,KAAY;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAC/B,OAAkC,EAClC,iBAAyC;IAEzC,OAAO,OAAO,CAAC,SAAS,IAAI,iBAAiB,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAuB;IAC7C,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAAe;IACjC,OAAO;QACH,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,eAAmC;IACnE,OAAO;QACH,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;QACxD,yBAAyB,EAAE,eAAe,CAAC,yBAAyB;QACpE,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;QAClD,+BAA+B,EAAE,eAAe,CAAC,+BAA+B;KACnF,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAoC;IACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA8B;IAC3D,OAAO;QACH,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;KACpE,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAwB;IAC/C,OAAO;QACH,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KAC5C,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,SAAgC;IACnD,OAAO;QACH,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,UAAU,EAAE,SAAS,CAAC,UAAU;KACnC,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA6B;IACnD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,CAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE;KAC3D,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAkC;IACzD,OAAO;QACH,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;QAC3C,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5E,aAAa,EAAE,uBAAuB,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7D,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAChD,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA2B;IACtD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,gBAAgB,CAAC,CAAE,IAAI,EAAE,OAAO,CAAE;QACpE,OAAO,CAAE,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAE,CAAC;IAChD,CAAC,CAAC,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAmB;IAC9C,OAAO;QACH,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE;QACrE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE;YACH,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YACxB,SAAS,EAAE,EAAE;SAChB;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,uBAAuB,EAAE,2BAA2B,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACrF,yCAAyC,EAAE,OAAO,CAAC,yCAAyC;QAC5F,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QACnC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC3C,OAAO;QACH,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChD,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;KAC1C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,UAAU;SACnB,CAAC;IACN,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACN,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA0B;IACrD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM,CAAC,SAAS;SAC9B,CAAC;IACN,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,OAAmB,EACnB,YAAyC;IAEzC,OAAO,OAAO,CAAC,sBAAsB,CAAC,IAAI,KAAK,SAAS;QACpD,CAAC,CAAC,6BAA6B,CAAC;YAC5B,YAAY,EAAE,YAAY,CAAC,uBAAuB;YAClD,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;SACxB,CAAC;QACF,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAA8B;IAC5E,8BAA8B,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC"}
|
package/run/run-test-modules.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-modules.js","sourceRoot":"","sources":["../../../../source/run/run-test-modules.ts"],"names":[],"mappings":";;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrE,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,OAAO,MAAM,MAAM,kCAAC,IAAI,EAAY,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IACnD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CACxB,4CAA4C,IAAI,CAAC,IAAI,EAAE,EACvD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,eAAoC,EAAE,IAAuB,EAAE,MAAc;IAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,gEAAgE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;KACX,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAA+C,EAC/C,MAAc;IAEd,MAAM,CAAE,SAAS,EAAE,GAAG,cAAc,CAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CAAE,aAAa,EAAE,GAAG,kBAAkB,CAAE,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"run-test-modules.js","sourceRoot":"","sources":["../../../../source/run/run-test-modules.ts"],"names":[],"mappings":";;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAIrE,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,OAAO,MAAM,MAAM,kCAAC,IAAI,EAAY,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IACtD,IAAI,CAAC;QACD,OAAO,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,kBAAkB,CAAC,+BAA+B,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IACnD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CACxB,4CAA4C,IAAI,CAAC,IAAI,EAAE,EACvD,EAAE,KAAK,EAAE,IAAI,EAAE,EACf,QAAQ,CACX,CAAC;IACN,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,eAAoC,EAAE,IAAuB,EAAE,MAAc;IAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,gEAAgE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACH,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ;KACX,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,KAA+C,EAC/C,MAAc;IAEd,MAAM,CAAE,SAAS,EAAE,GAAG,cAAc,CAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAChC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,CAAE,aAAa,EAAE,GAAG,kBAAkB,CAAE,CAAC;AACpD,CAAC"}
|
package/run/run-test-plan.js
CHANGED
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":"AAGA,OAAyD,oBAAoB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
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;AAiB3D,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,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;gBACpC,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;;MAaK,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAAgC;IAC7E,OAAO,MAAM,oCAAoC,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}
|
package/run/run-types.d.ts
CHANGED
|
@@ -10,8 +10,68 @@ import type { RuntimeCapabilityPolicyDependencies } from './capability-policy.ts
|
|
|
10
10
|
import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
|
|
11
11
|
export type SerializedValue = SerializedValueShape;
|
|
12
12
|
type RunExecuteOptions = NonNullable<Parameters<Execute>[1]>;
|
|
13
|
+
type RunCaseId = TestPlan['discoveredCases'][number]['id'];
|
|
13
14
|
type RunOutputRenderer = NonNullable<RunExecuteOptions['outputRenderer']>;
|
|
14
15
|
type RunReporters = RunExecuteOptions['reporters'];
|
|
16
|
+
export type RunStringFilterField = keyof {
|
|
17
|
+
readonly file: true;
|
|
18
|
+
readonly name: true;
|
|
19
|
+
readonly owner: true;
|
|
20
|
+
readonly params: true;
|
|
21
|
+
readonly runtime: true;
|
|
22
|
+
readonly stability: true;
|
|
23
|
+
readonly suite: true;
|
|
24
|
+
readonly tag: true;
|
|
25
|
+
};
|
|
26
|
+
type RunAllFilter = {
|
|
27
|
+
readonly filters: NonEmptyReadonlyArray<RunFilter>;
|
|
28
|
+
readonly kind: 'all';
|
|
29
|
+
};
|
|
30
|
+
type RunAnyFilter = {
|
|
31
|
+
readonly filters: NonEmptyReadonlyArray<RunFilter>;
|
|
32
|
+
readonly kind: 'any';
|
|
33
|
+
};
|
|
34
|
+
type RunCaseIdFilter = {
|
|
35
|
+
readonly id: RunCaseId;
|
|
36
|
+
readonly kind: 'case-id';
|
|
37
|
+
};
|
|
38
|
+
type RunContainsFilter = {
|
|
39
|
+
readonly field: RunStringFilterField;
|
|
40
|
+
readonly kind: 'contains';
|
|
41
|
+
readonly value: string;
|
|
42
|
+
};
|
|
43
|
+
type RunEqualsFilter = {
|
|
44
|
+
readonly field: RunStringFilterField;
|
|
45
|
+
readonly kind: 'equals';
|
|
46
|
+
readonly value: string;
|
|
47
|
+
};
|
|
48
|
+
type RunGlobFilter = {
|
|
49
|
+
readonly field: RunStringFilterField;
|
|
50
|
+
readonly kind: 'glob';
|
|
51
|
+
readonly pattern: string;
|
|
52
|
+
};
|
|
53
|
+
type RunNotFilter = {
|
|
54
|
+
readonly filter: RunFilter;
|
|
55
|
+
readonly kind: 'not';
|
|
56
|
+
};
|
|
57
|
+
type RunFilterByKind = {
|
|
58
|
+
readonly all: RunAllFilter;
|
|
59
|
+
readonly any: RunAnyFilter;
|
|
60
|
+
readonly 'case-id': RunCaseIdFilter;
|
|
61
|
+
readonly contains: RunContainsFilter;
|
|
62
|
+
readonly equals: RunEqualsFilter;
|
|
63
|
+
readonly glob: RunGlobFilter;
|
|
64
|
+
readonly not: RunNotFilter;
|
|
65
|
+
};
|
|
66
|
+
export type RunFilter = RunFilterByKind[keyof RunFilterByKind];
|
|
67
|
+
type RunAllSelection = {
|
|
68
|
+
readonly kind: 'all';
|
|
69
|
+
};
|
|
70
|
+
type RunFilterSelection = {
|
|
71
|
+
readonly filter: RunFilter;
|
|
72
|
+
readonly kind: 'filter';
|
|
73
|
+
};
|
|
74
|
+
export type RunSelection = RunAllSelection | RunFilterSelection;
|
|
15
75
|
export type RunEngineSelection = {
|
|
16
76
|
readonly engine: Engine;
|
|
17
77
|
readonly kind: 'instance';
|
|
@@ -23,9 +83,6 @@ export type RunEngineSelection = {
|
|
|
23
83
|
} | {
|
|
24
84
|
readonly kind: 'default';
|
|
25
85
|
};
|
|
26
|
-
export type RunSelection = {
|
|
27
|
-
readonly kind: 'all';
|
|
28
|
-
};
|
|
29
86
|
export type RunShard = {
|
|
30
87
|
readonly index: number;
|
|
31
88
|
readonly total: number;
|
|
@@ -150,6 +207,7 @@ export type RunExecutionFacts = {
|
|
|
150
207
|
readonly verbose: false;
|
|
151
208
|
};
|
|
152
209
|
export type RunReproducibilityFacts = {
|
|
210
|
+
readonly selection: RunSelection;
|
|
153
211
|
readonly seed: string;
|
|
154
212
|
readonly shard: RunShard;
|
|
155
213
|
};
|
|
@@ -164,7 +222,7 @@ export type RunEngineFacts = {
|
|
|
164
222
|
readonly kind: 'instance';
|
|
165
223
|
};
|
|
166
224
|
export type CollectedRunCase = {
|
|
167
|
-
readonly metadata:
|
|
225
|
+
readonly metadata: TestPlan['cases'][number]['metadata'];
|
|
168
226
|
readonly name: string;
|
|
169
227
|
readonly params: string | null;
|
|
170
228
|
readonly suite: readonly string[];
|
|
@@ -175,10 +233,11 @@ export type CollectedRunFile = {
|
|
|
175
233
|
};
|
|
176
234
|
export type CollectedRunPlan = {
|
|
177
235
|
readonly defined: number;
|
|
236
|
+
readonly discoveredFiles: readonly CollectedRunFile[];
|
|
178
237
|
readonly files: readonly CollectedRunFile[];
|
|
179
238
|
readonly orphans: readonly OrphanedNode[];
|
|
180
239
|
readonly root: {
|
|
181
|
-
readonly metadata:
|
|
240
|
+
readonly metadata: TestPlan['root']['metadata'];
|
|
182
241
|
readonly name: string;
|
|
183
242
|
};
|
|
184
243
|
};
|