@overkill-dev/run 0.0.36 → 0.0.37
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 +6 -5
- package/packages/run/command-line.entry-point.d.ts +7 -5
- package/packages/run/command-line.entry-point.d.ts.map +1 -1
- package/packages/run/command-line.entry-point.js +48 -3
- package/packages/run/command-line.entry-point.js.map +1 -1
- package/packages/run/config.entry-point.d.ts +3 -2
- package/packages/run/config.entry-point.d.ts.map +1 -1
- package/packages/run/config.entry-point.js +28 -1
- package/packages/run/config.entry-point.js.map +1 -1
- package/packages/run/run.entry-point.d.ts +5 -4
- package/packages/run/run.entry-point.d.ts.map +1 -1
- package/packages/run/run.entry-point.js +34 -2
- package/packages/run/run.entry-point.js.map +1 -1
- package/run/command-line-runner.d.ts +1 -2
- package/run/command-line-runner.d.ts.map +1 -1
- package/run/command-line-runner.js +1 -33
- package/run/command-line-runner.js.map +1 -1
- package/run/current-process-run-orchestrator.d.ts +11 -0
- package/run/current-process-run-orchestrator.d.ts.map +1 -0
- package/run/current-process-run-orchestrator.js +5 -1
- package/run/current-process-run-orchestrator.js.map +1 -1
- package/run/default-run-engine.d.ts +3 -0
- package/run/default-run-engine.d.ts.map +1 -0
- package/run/node-command-line-runner.d.ts +16 -2
- package/run/node-command-line-runner.d.ts.map +1 -1
- package/run/node-command-line-runner.js +8 -4
- package/run/node-command-line-runner.js.map +1 -1
- package/run/node-run-dependencies.entry-point.js +31 -0
- package/run/node-run-dependencies.entry-point.js.map +1 -0
- package/run/resource-usage.js.map +1 -1
- package/run/run-collection-error-result.js.map +1 -1
- package/run/run-config.d.ts +6 -1
- package/run/run-config.d.ts.map +1 -1
- package/run/run-config.js +16 -33
- package/run/run-config.js.map +1 -1
- package/run/run-discovery-types.d.ts +37 -0
- package/run/run-discovery-types.d.ts.map +1 -0
- package/run/run-discovery.js +50 -45
- package/run/run-discovery.js.map +1 -1
- package/run/run-engine-selection.d.ts +17 -0
- package/run/run-engine-selection.d.ts.map +1 -0
- package/run/run-engine-selection.js +8 -14
- package/run/run-engine-selection.js.map +1 -1
- package/run/run-if-main-options.d.ts +5 -2
- package/run/run-if-main-options.d.ts.map +1 -1
- package/run/run-if-main-options.js +6 -6
- package/run/run-if-main-options.js.map +1 -1
- package/run/run-if-main-profile.d.ts +31 -0
- package/run/run-if-main-profile.d.ts.map +1 -0
- package/run/run-if-main-profile.js +66 -62
- package/run/run-if-main-profile.js.map +1 -1
- package/run/run-if-main.d.ts +23 -1
- package/run/run-if-main.d.ts.map +1 -1
- package/run/run-if-main.js +26 -29
- package/run/run-if-main.js.map +1 -1
- package/run/run-input-resolution.js +2 -3
- package/run/run-input-resolution.js.map +1 -1
- package/run/run-local-test-plan.js +7 -1
- package/run/run-local-test-plan.js.map +1 -1
- package/run/run-orchestrator-dependencies.d.ts +41 -0
- package/run/run-orchestrator-dependencies.d.ts.map +1 -0
- package/run/run-orchestrator.d.ts +27 -0
- package/run/run-orchestrator.d.ts.map +1 -0
- package/run/run-orchestrator.entry-point.d.ts +1 -0
- package/run/run-orchestrator.entry-point.d.ts.map +1 -1
- package/run/run-orchestrator.entry-point.js +56 -1
- package/run/run-orchestrator.entry-point.js.map +1 -1
- package/run/run-orchestrator.js +4 -0
- package/run/run-orchestrator.js.map +1 -1
- package/run/run-test-modules.d.ts +12 -0
- package/run/run-test-modules.d.ts.map +1 -0
- package/run/run-test-modules.js +16 -24
- package/run/run-test-modules.js.map +1 -1
- package/run/run-test-plan.js +3 -4
- package/run/run-test-plan.js.map +1 -1
- package/run/run-types.d.ts +1 -27
- package/run/run-types.d.ts.map +1 -1
- package/run/run-types.js.map +1 -1
- package/run/run.js +3 -3
- package/run/run.js.map +1 -1
- package/run/supervised-child-process.d.ts +75 -0
- package/run/supervised-child-process.d.ts.map +1 -0
- package/run/supervised-child-process.entry-point.js +6 -0
- package/run/supervised-child-process.entry-point.js.map +1 -0
- package/run/supervised-child-process.js +25 -27
- package/run/supervised-child-process.js.map +1 -1
- package/run/supervised-child-test-plan.js +6 -5
- package/run/supervised-child-test-plan.js.map +1 -1
- package/run/supervised-child.entry-point.js +9 -0
- package/run/supervised-child.entry-point.js.map +1 -1
- package/run/supervised-child.js +21 -18
- package/run/supervised-child.js.map +1 -1
- package/run/supervised-protocol.d.ts +49 -0
- package/run/supervised-protocol.d.ts.map +1 -0
- package/run/supervised-run-runtime.js.map +1 -1
- package/run/supervised-run-state.d.ts +31 -0
- package/run/supervised-run-state.d.ts.map +1 -0
- package/run/supervised-run.js +13 -10
- package/run/supervised-run.js.map +1 -1
- package/sbom.cdx.json +4 -4
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type LoadedRunConfig, type RunConfigLoader } from './run-config.ts';
|
|
2
|
+
import type { RunProfileConfig } from './run-types.ts';
|
|
3
|
+
type SelectedDirectProfile = {
|
|
4
|
+
readonly fileSet: string | null;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly profile: RunProfileConfig;
|
|
7
|
+
};
|
|
8
|
+
type RunIfMainProfileGlobOptions = {
|
|
9
|
+
readonly cwd: string;
|
|
10
|
+
readonly exclude: readonly string[];
|
|
11
|
+
readonly followSymlinks: boolean;
|
|
12
|
+
};
|
|
13
|
+
type RunIfMainProfilePathStats = {
|
|
14
|
+
readonly isFile: () => boolean;
|
|
15
|
+
};
|
|
16
|
+
export type DirectProfileContext = SelectedDirectProfile & {
|
|
17
|
+
readonly config: LoadedRunConfig;
|
|
18
|
+
readonly file: string;
|
|
19
|
+
readonly projectRoot: string;
|
|
20
|
+
};
|
|
21
|
+
export type RunIfMainProfileResolverDependencies = {
|
|
22
|
+
readonly fileURLToPath: (url: string) => string;
|
|
23
|
+
readonly glob: (pattern: string | readonly string[], options: RunIfMainProfileGlobOptions) => AsyncIterable<string>;
|
|
24
|
+
readonly loadRunConfig: RunConfigLoader;
|
|
25
|
+
readonly realpath: (filePath: string) => Promise<string>;
|
|
26
|
+
readonly stat: (filePath: string) => Promise<RunIfMainProfilePathStats>;
|
|
27
|
+
};
|
|
28
|
+
export type RunIfMainProfileResolver = (meta: Readonly<ImportMeta>, cwd: string) => Promise<DirectProfileContext>;
|
|
29
|
+
export declare function createDirectProfileResolver(dependencies: RunIfMainProfileResolverDependencies): RunIfMainProfileResolver;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=run-if-main-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-if-main-profile.d.ts","sourceRoot":"","sources":["../../../../source/run/run-if-main-profile.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,eAAe,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACR,gBAAgB,EAGnB,MAAM,gBAAgB,CAAC;AAExB,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACtC,CAAC;AAEF,KAAK,2BAA2B,GAAG;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACvD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAC/C,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,CACX,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,2BAA2B,KACnC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CACnC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC1B,GAAG,EAAE,MAAM,KACV,OAAO,CAAC,oBAAoB,CAAC,CAAC;AA0VnC,wBAAgB,2BAA2B,CACvC,YAAY,EAAE,oCAAoC,GACnD,wBAAwB,CAkB1B"}
|
|
@@ -1,84 +1,86 @@
|
|
|
1
|
-
import { glob, realpath, stat } from 'node:fs/promises';
|
|
2
1
|
import { relative, resolve } from 'node:path';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
function directFilePath(meta) {
|
|
2
|
+
import { RunConfigError } from "./run-config.js";
|
|
3
|
+
function directFilePath(meta, dependencies) {
|
|
6
4
|
try {
|
|
7
|
-
return fileURLToPath(meta.url);
|
|
5
|
+
return dependencies.fileURLToPath(meta.url);
|
|
8
6
|
}
|
|
9
7
|
catch (error) {
|
|
10
8
|
throw new RunConfigError('runIfMain() requires a file: import.meta.url.', { cause: error });
|
|
11
9
|
}
|
|
12
10
|
}
|
|
13
|
-
async function sameRealPath(firstPath, secondPath) {
|
|
11
|
+
async function sameRealPath(firstPath, secondPath, dependencies) {
|
|
14
12
|
try {
|
|
15
|
-
return await realpath(firstPath) === await realpath(secondPath);
|
|
13
|
+
return await dependencies.realpath(firstPath) === await dependencies.realpath(secondPath);
|
|
16
14
|
}
|
|
17
15
|
catch {
|
|
18
16
|
return resolve(firstPath) === resolve(secondPath);
|
|
19
17
|
}
|
|
20
18
|
}
|
|
21
|
-
async function canonicalPath(filePath) {
|
|
19
|
+
async function canonicalPath(filePath, dependencies) {
|
|
22
20
|
try {
|
|
23
|
-
return await realpath(filePath);
|
|
21
|
+
return await dependencies.realpath(filePath);
|
|
24
22
|
}
|
|
25
23
|
catch {
|
|
26
24
|
return resolve(filePath);
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
|
-
async function matchedFiles(pattern, cwd) {
|
|
27
|
+
async function matchedFiles(pattern, cwd, dependencies) {
|
|
30
28
|
const files = [];
|
|
31
|
-
const matches = glob(pattern, { cwd, exclude: [] });
|
|
29
|
+
const matches = dependencies.glob(pattern, { cwd, exclude: [], followSymlinks: false });
|
|
32
30
|
for await (const file of matches) {
|
|
33
31
|
files.push(resolve(cwd, file));
|
|
34
32
|
}
|
|
35
33
|
return files;
|
|
36
34
|
}
|
|
37
|
-
async function matchedProfilePatternFiles(profileFiles, cwd) {
|
|
35
|
+
async function matchedProfilePatternFiles(profileFiles, cwd, dependencies) {
|
|
38
36
|
const files = [];
|
|
39
|
-
const matches = glob(profileFiles.include, {
|
|
37
|
+
const matches = dependencies.glob(profileFiles.include, {
|
|
38
|
+
cwd,
|
|
39
|
+
exclude: profileFiles.exclude,
|
|
40
|
+
followSymlinks: false
|
|
41
|
+
});
|
|
40
42
|
for await (const file of matches) {
|
|
41
43
|
const filePath = resolve(cwd, file);
|
|
42
|
-
const fileStat = await stat(filePath);
|
|
44
|
+
const fileStat = await dependencies.stat(filePath);
|
|
43
45
|
if (fileStat.isFile()) {
|
|
44
|
-
files.push(await canonicalPath(filePath));
|
|
46
|
+
files.push(await canonicalPath(filePath, dependencies));
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
return Array.from(new Set(files)).toSorted(function compareFiles(left, right) {
|
|
48
50
|
return left.localeCompare(right);
|
|
49
51
|
});
|
|
50
52
|
}
|
|
51
|
-
async function patternSetIncludesFile(profileFiles, file, cwd) {
|
|
53
|
+
async function patternSetIncludesFile(profileFiles, file, cwd, dependencies) {
|
|
52
54
|
for (const includePattern of profileFiles.include) {
|
|
53
|
-
const includedFiles = await matchedFiles(includePattern, cwd);
|
|
55
|
+
const includedFiles = await matchedFiles(includePattern, cwd, dependencies);
|
|
54
56
|
for (const includedFile of includedFiles) {
|
|
55
|
-
if (await sameRealPath(includedFile, file)) {
|
|
57
|
+
if (await sameRealPath(includedFile, file, dependencies)) {
|
|
56
58
|
return true;
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
return false;
|
|
61
63
|
}
|
|
62
|
-
async function patternSetExcludesFile(profileFiles, file, cwd) {
|
|
64
|
+
async function patternSetExcludesFile(profileFiles, file, cwd, dependencies) {
|
|
63
65
|
for (const excludePattern of profileFiles.exclude) {
|
|
64
|
-
const excludedFiles = await matchedFiles(excludePattern, cwd);
|
|
66
|
+
const excludedFiles = await matchedFiles(excludePattern, cwd, dependencies);
|
|
65
67
|
for (const excludedFile of excludedFiles) {
|
|
66
|
-
if (await sameRealPath(excludedFile, file)) {
|
|
68
|
+
if (await sameRealPath(excludedFile, file, dependencies)) {
|
|
67
69
|
return true;
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
return false;
|
|
72
74
|
}
|
|
73
|
-
async function patternSetMatchesFile(profileFiles, file, cwd) {
|
|
74
|
-
return await patternSetIncludesFile(profileFiles, file, cwd) &&
|
|
75
|
-
!await patternSetExcludesFile(profileFiles, file, cwd);
|
|
75
|
+
async function patternSetMatchesFile(profileFiles, file, cwd, dependencies) {
|
|
76
|
+
return await patternSetIncludesFile(profileFiles, file, cwd, dependencies) &&
|
|
77
|
+
!await patternSetExcludesFile(profileFiles, file, cwd, dependencies);
|
|
76
78
|
}
|
|
77
79
|
function hasProfileFileSets(profileFiles) {
|
|
78
80
|
return profileFiles.sets !== undefined;
|
|
79
81
|
}
|
|
80
|
-
async function directProfileFileSet(name, profileFiles, cwd) {
|
|
81
|
-
const files = await matchedProfilePatternFiles(profileFiles, cwd);
|
|
82
|
+
async function directProfileFileSet(name, profileFiles, cwd, dependencies) {
|
|
83
|
+
const files = await matchedProfilePatternFiles(profileFiles, cwd, dependencies);
|
|
82
84
|
if (files.length === 0) {
|
|
83
85
|
throw new RunConfigError(`Profile files.sets.${name} matched no test files.`);
|
|
84
86
|
}
|
|
@@ -99,36 +101,36 @@ function assertNonOverlappingDirectProfileFileSets(fileSets, cwd) {
|
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
|
-
async function directProfileFileSets(sets, cwd) {
|
|
104
|
+
async function directProfileFileSets(sets, cwd, dependencies) {
|
|
103
105
|
const fileSets = await Promise.all(Object.entries(sets).map(async function discoverFileSet([name, set]) {
|
|
104
|
-
return await directProfileFileSet(name, set, cwd);
|
|
106
|
+
return await directProfileFileSet(name, set, cwd, dependencies);
|
|
105
107
|
}));
|
|
106
108
|
assertNonOverlappingDirectProfileFileSets(fileSets, cwd);
|
|
107
109
|
return fileSets;
|
|
108
110
|
}
|
|
109
|
-
async function profilePatternFileSetForFile(profileFiles, file, cwd) {
|
|
110
|
-
return await patternSetMatchesFile(profileFiles, file, cwd) ? null : undefined;
|
|
111
|
+
async function profilePatternFileSetForFile(profileFiles, file, cwd, dependencies) {
|
|
112
|
+
return await patternSetMatchesFile(profileFiles, file, cwd, dependencies) ? null : undefined;
|
|
111
113
|
}
|
|
112
|
-
async function namedProfileFileSetForFile(profileFiles, file, cwd) {
|
|
113
|
-
const canonicalFile = await canonicalPath(file);
|
|
114
|
-
const fileSets = await directProfileFileSets(profileFiles.sets, cwd);
|
|
114
|
+
async function namedProfileFileSetForFile(profileFiles, file, cwd, dependencies) {
|
|
115
|
+
const canonicalFile = await canonicalPath(file, dependencies);
|
|
116
|
+
const fileSets = await directProfileFileSets(profileFiles.sets, cwd, dependencies);
|
|
115
117
|
const matchedSet = fileSets.find(function includesFile(fileSet) {
|
|
116
118
|
return fileSet.files.includes(canonicalFile);
|
|
117
119
|
});
|
|
118
120
|
return matchedSet?.name;
|
|
119
121
|
}
|
|
120
|
-
async function profileFileSetForFile(profileFiles, file, cwd) {
|
|
122
|
+
async function profileFileSetForFile(profileFiles, file, cwd, dependencies) {
|
|
121
123
|
if (!hasProfileFileSets(profileFiles)) {
|
|
122
|
-
return await profilePatternFileSetForFile(profileFiles, file, cwd);
|
|
124
|
+
return await profilePatternFileSetForFile(profileFiles, file, cwd, dependencies);
|
|
123
125
|
}
|
|
124
|
-
return await namedProfileFileSetForFile(profileFiles, file, cwd);
|
|
126
|
+
return await namedProfileFileSetForFile(profileFiles, file, cwd, dependencies);
|
|
125
127
|
}
|
|
126
|
-
async function selectedProfileForFile([name, profile], file, cwd) {
|
|
128
|
+
async function selectedProfileForFile([name, profile], file, cwd, dependencies) {
|
|
127
129
|
const profileFiles = profile.files;
|
|
128
130
|
if (profileFiles === null) {
|
|
129
131
|
return null;
|
|
130
132
|
}
|
|
131
|
-
const fileSet = await profileFileSetForFile(profileFiles, file, cwd);
|
|
133
|
+
const fileSet = await profileFileSetForFile(profileFiles, file, cwd, dependencies);
|
|
132
134
|
if (fileSet === undefined) {
|
|
133
135
|
return null;
|
|
134
136
|
}
|
|
@@ -137,9 +139,9 @@ async function selectedProfileForFile([name, profile], file, cwd) {
|
|
|
137
139
|
function isSelectedDirectProfile(profile) {
|
|
138
140
|
return profile !== null;
|
|
139
141
|
}
|
|
140
|
-
async function matchingProfiles(config, file, cwd) {
|
|
142
|
+
async function matchingProfiles(config, file, cwd, dependencies) {
|
|
141
143
|
const profiles = await Promise.all(Object.entries(config.profiles).map(async function matchProfile(entry) {
|
|
142
|
-
return await selectedProfileForFile(entry, file, cwd);
|
|
144
|
+
return await selectedProfileForFile(entry, file, cwd, dependencies);
|
|
143
145
|
}));
|
|
144
146
|
return profiles.filter(isSelectedDirectProfile);
|
|
145
147
|
}
|
|
@@ -150,22 +152,22 @@ function ambiguousProfileMessage(file, cwd, profiles) {
|
|
|
150
152
|
});
|
|
151
153
|
return `runIfMain() matched multiple profiles for "${relativeFile}": ${profileNames.join(', ')}.`;
|
|
152
154
|
}
|
|
153
|
-
async function configuredMicrotestFileSet(profile, file, cwd) {
|
|
155
|
+
async function configuredMicrotestFileSet(profile, file, cwd, dependencies) {
|
|
154
156
|
if (profile.files === null) {
|
|
155
157
|
return null;
|
|
156
158
|
}
|
|
157
|
-
const fileSet = await profileFileSetForFile(profile.files, file, cwd);
|
|
159
|
+
const fileSet = await profileFileSetForFile(profile.files, file, cwd, dependencies);
|
|
158
160
|
if (profile.files.sets !== undefined && fileSet === undefined) {
|
|
159
161
|
throw new RunConfigError(`runIfMain() file must match exactly one profile file set for "microtest": ${relative(cwd, file)}.`);
|
|
160
162
|
}
|
|
161
163
|
return fileSet ?? null;
|
|
162
164
|
}
|
|
163
|
-
async function configuredMicrotest(config, file, cwd) {
|
|
165
|
+
async function configuredMicrotest(config, file, cwd, dependencies) {
|
|
164
166
|
const profile = config.profiles.microtest;
|
|
165
167
|
if (profile?.testFamily !== 'microtest') {
|
|
166
168
|
throw new RunConfigError('runIfMain() requires the configured "microtest" profile.');
|
|
167
169
|
}
|
|
168
|
-
const fileSet = await configuredMicrotestFileSet(profile, file, cwd);
|
|
170
|
+
const fileSet = await configuredMicrotestFileSet(profile, file, cwd, dependencies);
|
|
169
171
|
return { fileSet, name: 'microtest', profile };
|
|
170
172
|
}
|
|
171
173
|
function assertSupportedDirectProfile(context) {
|
|
@@ -177,11 +179,11 @@ function assertSupportedDirectProfile(context) {
|
|
|
177
179
|
.join(' '));
|
|
178
180
|
}
|
|
179
181
|
}
|
|
180
|
-
async function selectDirectProfile(config, file, cwd) {
|
|
182
|
+
async function selectDirectProfile(config, file, cwd, dependencies) {
|
|
181
183
|
if (config.configPath === null) {
|
|
182
|
-
return await configuredMicrotest(config, file, cwd);
|
|
184
|
+
return await configuredMicrotest(config, file, cwd, dependencies);
|
|
183
185
|
}
|
|
184
|
-
const matches = await matchingProfiles(config, file, cwd);
|
|
186
|
+
const matches = await matchingProfiles(config, file, cwd, dependencies);
|
|
185
187
|
if (matches.length > 1) {
|
|
186
188
|
throw new RunConfigError(ambiguousProfileMessage(file, cwd, matches));
|
|
187
189
|
}
|
|
@@ -189,21 +191,23 @@ async function selectDirectProfile(config, file, cwd) {
|
|
|
189
191
|
if (profile !== undefined) {
|
|
190
192
|
return profile;
|
|
191
193
|
}
|
|
192
|
-
return await configuredMicrotest(config, file, cwd);
|
|
193
|
-
}
|
|
194
|
-
export
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
194
|
+
return await configuredMicrotest(config, file, cwd, dependencies);
|
|
195
|
+
}
|
|
196
|
+
export function createDirectProfileResolver(dependencies) {
|
|
197
|
+
return async function resolveDirectProfile(meta, cwd) {
|
|
198
|
+
const canonicalCwd = await canonicalPath(cwd, dependencies);
|
|
199
|
+
const file = await canonicalPath(directFilePath(meta, dependencies), dependencies);
|
|
200
|
+
const config = await dependencies.loadRunConfig({ configPath: null, cwd: canonicalCwd });
|
|
201
|
+
const selectedProfile = await selectDirectProfile(config, file, canonicalCwd, dependencies);
|
|
202
|
+
assertSupportedDirectProfile(selectedProfile);
|
|
203
|
+
return {
|
|
204
|
+
config,
|
|
205
|
+
file,
|
|
206
|
+
fileSet: selectedProfile.fileSet,
|
|
207
|
+
name: selectedProfile.name,
|
|
208
|
+
projectRoot: canonicalCwd,
|
|
209
|
+
profile: selectedProfile.profile
|
|
210
|
+
};
|
|
207
211
|
};
|
|
208
212
|
}
|
|
209
213
|
//# sourceMappingURL=run-if-main-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-if-main-profile.js","sourceRoot":"","sources":["../../../../source/run/run-if-main-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"run-if-main-profile.js","sourceRoot":"","sources":["../../../../source/run/run-if-main-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EACH,cAAc,EAGjB,MAAM,iBAAiB,CAAC;AA6CzB,SAAS,cAAc,CAAC,IAA0B,EAAE,YAAkD;IAClG,IAAI,CAAC;QACD,OAAO,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CACvB,SAAiB,EACjB,UAAkB,EAClB,YAAkD;IAElD,IAAI,CAAC;QACD,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,YAAkD;IAC7F,IAAI,CAAC;QACD,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CACvB,OAAe,EACf,GAAW,EACX,YAAkD;IAElD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAExF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,YAA+B,EAC/B,GAAW,EACX,YAAkD;IAElD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACpD,GAAG;QACH,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,cAAc,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,YAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAE5E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,YAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,KAAK,MAAM,cAAc,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAE5E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,YAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,OAAO,MAAM,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC;QACtE,CAAC,MAAM,sBAAsB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC;AAWD,SAAS,kBAAkB,CAAC,YAA6B;IACrD,OAAO,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,IAAY,EACZ,YAA+B,EAC/B,GAAW,EACX,YAAkD;IAElD,MAAM,KAAK,GAAG,MAAM,0BAA0B,CAAC,YAAY,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAEhF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,cAAc,CAAC,sBAAsB,IAAI,yBAAyB,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY,EAAE,GAAW,EAAE,QAAgB,EAAE,SAAiB;IAClG,OAAO,mDACH,QAAQ,CAAC,GAAG,EAAE,IAAI,CACtB,YAAY,QAAQ,QAAQ,SAAS,GAAG,CAAC;AAC7C,CAAC;AAED,SAAS,yCAAyC,CAAC,QAAyC,EAAE,GAAW;IACrG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,cAAc,CAAC,8BAA8B,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,IAAiD,EACjD,GAAW,EACX,YAAkD;IAElD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,UAAU,eAAe,CAAC,CAAE,IAAI,EAAE,GAAG,CAAE;QACjE,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;IAEF,yCAAyC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAEzD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,4BAA4B,CACvC,YAA+B,EAC/B,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,OAAO,MAAM,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,YAAgC,EAChC,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,OAAO;QAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,EAAE,IAAI,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,YAA6B,EAC7B,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,MAAM,4BAA4B,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,0BAA0B,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,CAAE,IAAI,EAAE,OAAO,CAAuC,EACtD,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAEnC,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAEnF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqC;IAClE,OAAO,OAAO,KAAK,IAAI,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,MAAuB,EACvB,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,UAAU,YAAY,CAAC,KAAK;QACjE,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACxE,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,GAAW,EAAE,QAA0C;IAClG,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,aAAa,CAAC,OAAO;QAC5D,OAAO,OAAO,CAAC,IAAI,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,OAAO,8CAA8C,YAAY,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,0BAA0B,CACrC,OAAiE,EACjE,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAEpF,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5D,MAAM,IAAI,cAAc,CACpB,6EAA6E,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CACtG,CAAC;IACN,CAAC;IAED,OAAO,OAAO,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,MAAuB,EACvB,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IAE1C,IAAI,OAAO,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,IAAI,cAAc,CAAC,0DAA0D,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAEnF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA8B;IAChE,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;QAC/C,MAAM,IAAI,cAAc,CACpB;YACI,qDAAqD,OAAO,CAAC,IAAI,QAAQ;YACzE,uCAAuC,OAAO,CAAC,IAAI,GAAG;SACzD;aACI,IAAI,CAAC,GAAG,CAAC,CACjB,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,MAAuB,EACvB,IAAY,EACZ,GAAW,EACX,YAAkD;IAElD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,cAAc,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAE,OAAO,CAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACvC,YAAkD;IAElD,OAAO,KAAK,UAAU,oBAAoB,CAAC,IAAI,EAAE,GAAG;QAChD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QACzF,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5F,4BAA4B,CAAC,eAAe,CAAC,CAAC;QAE9C,OAAO;YACH,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,WAAW,EAAE,YAAY;YACzB,OAAO,EAAE,eAAe,CAAC,OAAO;SACnC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
|
package/run/run-if-main.d.ts
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { ExecuteOptions } from '../engine/execution.ts';
|
|
1
3
|
import type { TestNode } from '../engine/test-node.ts';
|
|
4
|
+
import type { defaultRunEngine } from './default-run-engine.ts';
|
|
5
|
+
import type { ResourceUsageTrackerOptions } from './resource-usage.ts';
|
|
2
6
|
import { type RunIfMainOptions } from './run-if-main-options.ts';
|
|
7
|
+
import type { DirectProfileContext } from './run-if-main-profile.ts';
|
|
3
8
|
export type RunIfMain = (meta: Readonly<ImportMeta>, testNode: TestNode, options?: RunIfMainOptions) => Promise<void>;
|
|
4
|
-
|
|
9
|
+
type RunIfMainExitCode = number | string | null | undefined;
|
|
10
|
+
type DirectRuntimePolicy = Exclude<ExecuteOptions['runtimePolicy'], undefined>;
|
|
11
|
+
type DirectResourceUsageTracker = Exclude<ExecuteOptions['resourceUsageTracker'], null | undefined>;
|
|
12
|
+
export type RunIfMainDependencies = {
|
|
13
|
+
readonly createResourceUsageTracker: (wallClock: WallClock, options: ResourceUsageTrackerOptions) => DirectResourceUsageTracker;
|
|
14
|
+
readonly createRuntimePolicy: () => DirectRuntimePolicy;
|
|
15
|
+
readonly createWallClock: () => WallClock;
|
|
16
|
+
readonly currentWorkingDirectory: () => string;
|
|
17
|
+
readonly readExitCode: () => RunIfMainExitCode;
|
|
18
|
+
readonly resolveDirectProfile: (meta: Readonly<ImportMeta>, cwd: string) => Promise<DirectProfileContext>;
|
|
19
|
+
readonly runEngine: typeof defaultRunEngine;
|
|
20
|
+
readonly setExitCode: (exitCode: number) => void;
|
|
21
|
+
readonly stderr: {
|
|
22
|
+
readonly write: (chunk: string) => unknown;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function createRunIfMain(dependencies: RunIfMainDependencies): RunIfMain;
|
|
26
|
+
export {};
|
|
5
27
|
//# sourceMappingURL=run-if-main.d.ts.map
|
package/run/run-if-main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-if-main.d.ts","sourceRoot":"","sources":["../../../../source/run/run-if-main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-if-main.d.ts","sourceRoot":"","sources":["../../../../source/run/run-if-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAMvE,OAAO,EAQH,KAAK,gBAAgB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,MAAM,MAAM,SAAS,GAAG,CACpB,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE,gBAAgB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAC5D,KAAK,mBAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/E,KAAK,0BAA0B,GAAG,OAAO,CAAC,cAAc,CAAC,sBAAsB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,0BAA0B,EAAE,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,2BAA2B,KACnC,0BAA0B,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,MAAM,SAAS,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,MAAM,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,MAAM,iBAAiB,CAAC;IAC/C,QAAQ,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1G,QAAQ,CAAC,SAAS,EAAE,OAAO,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;KAC9C,CAAC;CACL,CAAC;AA2GF,wBAAgB,eAAe,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,CAQ9E"}
|
package/run/run-if-main.js
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
|
-
import { createWallClock } from '@enormora/wall-clock';
|
|
2
|
-
import { createDirectRuntimePolicy } from "./direct-runtime-policy.js";
|
|
3
|
-
import { defaultRunEngine } from "./default-run-engine.js";
|
|
4
|
-
import { createNodeResourceUsageTracker } from "./resource-usage.js";
|
|
5
1
|
import { assertDirectTestPlanMatchesTestFamily, directRunFacts, runConfig } from "./run-if-main-facts.js";
|
|
6
2
|
import { executionMode, rootAnnotations, rootControls, rootTitle, selectedOutputRenderer, selectedReporters, warnOnSupervisedDowngrade } from "./run-if-main-options.js";
|
|
7
|
-
import { resolveDirectProfile } from "./run-if-main-profile.js";
|
|
8
3
|
import { createSeededTestPlan } from "./run-selection.js";
|
|
9
4
|
const failureExitCodes = new Set([undefined, null, 0, '0']);
|
|
10
5
|
function shouldSetFailureExitCode(exitCode) {
|
|
11
6
|
return failureExitCodes.has(exitCode);
|
|
12
7
|
}
|
|
13
|
-
async function createDirectRunContext(meta, testNode, options) {
|
|
14
|
-
const context = await resolveDirectProfile(meta,
|
|
8
|
+
async function createDirectRunContext(meta, testNode, options, dependencies) {
|
|
9
|
+
const context = await dependencies.resolveDirectProfile(meta, dependencies.currentWorkingDirectory());
|
|
15
10
|
return {
|
|
16
11
|
...context,
|
|
17
12
|
options,
|
|
18
13
|
testNode
|
|
19
14
|
};
|
|
20
15
|
}
|
|
21
|
-
function directTestPlan(context) {
|
|
22
|
-
return
|
|
16
|
+
function directTestPlan(context, dependencies) {
|
|
17
|
+
return dependencies.runEngine.createTestPlan(dependencies.runEngine.createRoot({
|
|
23
18
|
annotations: rootAnnotations(context.options),
|
|
24
19
|
children: [context.testNode],
|
|
25
20
|
controls: rootControls(context.options),
|
|
26
|
-
title: rootTitle(context.options)
|
|
21
|
+
title: rootTitle(context.options, context.projectRoot)
|
|
27
22
|
}));
|
|
28
23
|
}
|
|
29
|
-
async function executeDirectTestPlan(context, testPlan) {
|
|
30
|
-
const wallClock = createWallClock();
|
|
24
|
+
async function executeDirectTestPlan(context, testPlan, dependencies) {
|
|
25
|
+
const wallClock = dependencies.createWallClock();
|
|
31
26
|
const reporters = await selectedReporters(context.profile, context.config, context.options);
|
|
32
27
|
const config = runConfig(context.config, reporters);
|
|
33
28
|
const ordered = createSeededTestPlan(testPlan);
|
|
@@ -39,17 +34,17 @@ async function executeDirectTestPlan(context, testPlan) {
|
|
|
39
34
|
seed: ordered.seed,
|
|
40
35
|
testPlan: ordered.testPlan
|
|
41
36
|
});
|
|
42
|
-
const runtimePolicy =
|
|
37
|
+
const runtimePolicy = dependencies.createRuntimePolicy();
|
|
43
38
|
const { resourceUsagePolicy } = runFacts.execution;
|
|
44
39
|
const startedAt = new Date(wallClock.currentTimestampInMilliseconds);
|
|
45
|
-
warnOnSupervisedDowngrade(context.profile);
|
|
46
|
-
return await
|
|
40
|
+
warnOnSupervisedDowngrade(context.profile, dependencies.stderr);
|
|
41
|
+
return await dependencies.runEngine.execute(ordered.testPlan, {
|
|
47
42
|
execution: { mode: executionMode(context.profile) },
|
|
48
43
|
outputRenderer: selectedOutputRenderer(context.config, context.options),
|
|
49
44
|
reporters,
|
|
50
45
|
resourceBudgets: resourceUsagePolicy.budgets,
|
|
51
46
|
resourceUsageTracker: resourceUsagePolicy.measure
|
|
52
|
-
?
|
|
47
|
+
? dependencies.createResourceUsageTracker(wallClock, {
|
|
53
48
|
samplingIntervalMilliseconds: resourceUsagePolicy.samplingIntervalMilliseconds
|
|
54
49
|
})
|
|
55
50
|
: null,
|
|
@@ -65,23 +60,25 @@ async function executeDirectTestPlan(context, testPlan) {
|
|
|
65
60
|
function hasFailure(result) {
|
|
66
61
|
return result.summary.failed > 0 || result.runnerErrors.length > 0;
|
|
67
62
|
}
|
|
68
|
-
function applyFailureExitCode(result) {
|
|
69
|
-
if (hasFailure(result) && shouldSetFailureExitCode(
|
|
70
|
-
|
|
63
|
+
function applyFailureExitCode(result, dependencies) {
|
|
64
|
+
if (hasFailure(result) && shouldSetFailureExitCode(dependencies.readExitCode())) {
|
|
65
|
+
dependencies.setExitCode(1);
|
|
71
66
|
}
|
|
72
67
|
}
|
|
73
|
-
async function executeDirectRun(context) {
|
|
74
|
-
const testPlan = directTestPlan(context);
|
|
68
|
+
async function executeDirectRun(context, dependencies) {
|
|
69
|
+
const testPlan = directTestPlan(context, dependencies);
|
|
75
70
|
assertDirectTestPlanMatchesTestFamily(testPlan, context.profile.testFamily);
|
|
76
|
-
applyFailureExitCode(await executeDirectTestPlan(context, testPlan));
|
|
71
|
+
applyFailureExitCode(await executeDirectTestPlan(context, testPlan, dependencies), dependencies);
|
|
77
72
|
}
|
|
78
|
-
async function runDirectEntrypoint(meta, testNode, options) {
|
|
79
|
-
await executeDirectRun(await createDirectRunContext(meta, testNode, options));
|
|
73
|
+
async function runDirectEntrypoint(meta, testNode, options, dependencies) {
|
|
74
|
+
await executeDirectRun(await createDirectRunContext(meta, testNode, options, dependencies), dependencies);
|
|
80
75
|
}
|
|
81
|
-
export
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
export function createRunIfMain(dependencies) {
|
|
77
|
+
return async function runIfMain(meta, testNode, options) {
|
|
78
|
+
if (!meta.main) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
await runDirectEntrypoint(meta, testNode, options, dependencies);
|
|
82
|
+
};
|
|
86
83
|
}
|
|
87
84
|
//# sourceMappingURL=run-if-main.js.map
|
package/run/run-if-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-if-main.js","sourceRoot":"","sources":["../../../../source/run/run-if-main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-if-main.js","sourceRoot":"","sources":["../../../../source/run/run-if-main.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,qCAAqC,EACrC,cAAc,EACd,SAAS,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EAE5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAmC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAqC,CAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAE,CAAC,CAAC;AAElG,SAAS,wBAAwB,CAAC,QAA4C;IAC1E,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACjC,IAA0B,EAC1B,QAAkB,EAClB,OAAqC,EACrC,YAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEtG,OAAO;QACH,GAAG,OAAO;QACV,OAAO;QACP,QAAQ;KACX,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,OAAyB,EAAE,YAAmC;IAClF,OAAO,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;QAC3E,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,QAAQ,EAAE,CAAE,OAAO,CAAC,QAAQ,CAAE;QAC9B,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;QACvC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;KACzD,CAAC,CAAC,CAAC;AACR,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,OAAyB,EACzB,QAAkB,EAClB,YAAmC;IAEnC,MAAM,SAAS,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC5B,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC7B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC;IACzD,MAAM,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IAErE,yBAAyB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEhE,OAAO,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnD,cAAc,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC;QACvE,SAAS;QACT,eAAe,EAAE,mBAAmB,CAAC,OAAO;QAC5C,oBAAoB,EAAE,mBAAmB,CAAC,OAAO;YAC7C,CAAC,CAAC,YAAY,CAAC,0BAA0B,CAAC,SAAS,EAAE;gBACjD,4BAA4B,EAAE,mBAAmB,CAAC,4BAA4B;aACjF,CAAC;YACF,CAAC,CAAC,IAAI;QACV,aAAa;QACb,QAAQ;QACR,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;QAClC,aAAa,EAAE;YACX,uBAAuB,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB;YAC1E,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB;SACzE;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAuB,EAAE,YAAmC;IACtF,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;QAC9E,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAyB,EAAE,YAAmC;IAC1F,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEvD,qCAAqC,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E,oBAAoB,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;AACrG,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,IAA0B,EAC1B,QAAkB,EAClB,OAAqC,EACrC,YAAmC;IAEnC,MAAM,gBAAgB,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAmC;IAC/D,OAAO,KAAK,UAAU,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QAED,MAAM,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { discoverRunFilesWithProjectRoot } from "./run-discovery.js";
|
|
2
1
|
import { selectedProfile } from "./run-facts.js";
|
|
3
2
|
import { copyRunEngineSelection, copyRunConfig, copyRunRequest, freezeValue } from "./run-support.js";
|
|
4
3
|
import { assertSupportedProcessEngine, validateRunInput } from "./run-validation.js";
|
|
@@ -20,14 +19,14 @@ export function assertMicrotestControlCaptureSupported(profile, collectedPlan) {
|
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
export async function readResolvedRunInput(command) {
|
|
22
|
+
export async function readResolvedRunInput(command, dependencies) {
|
|
24
23
|
validateRunInput(command);
|
|
25
24
|
const request = freezeValue(copyRunRequest(command.request));
|
|
26
25
|
const config = freezeValue(copyRunConfig(command.config));
|
|
27
26
|
const profile = selectedProfile(request, config);
|
|
28
27
|
assertMicrotestCaptureSupported(request, profile);
|
|
29
28
|
assertSupportedProcessEngine(command, profile);
|
|
30
|
-
const discovery = freezeValue(await discoverRunFilesWithProjectRoot({
|
|
29
|
+
const discovery = freezeValue(await dependencies.discoverRunFilesWithProjectRoot({
|
|
31
30
|
cwd: command.cwd,
|
|
32
31
|
paths: request.paths,
|
|
33
32
|
profileFiles: profile.files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACd,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACH,4BAA4B,EAC5B,gBAAgB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAWjD,SAAS,+BAA+B,CACpC,OAAmB,EACnB,OAAyB;IAEzB,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACnE,cAAc,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CAClD,OAAyB,EACzB,aAA+B;IAE/B,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrC,cAAc,CAAC,iDAAiD,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAAmB,EACnB,YAAyC;IAEzC,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,+BAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,CACzB,MAAM,YAAY,CAAC,+BAA+B,CAAC;QAC/C,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,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;AAC5G,CAAC"}
|
|
@@ -3,7 +3,13 @@ import { resolveRunEngine } from "./run-engine-selection.js";
|
|
|
3
3
|
import { createRunTestPlanFromFiles } from "./run-test-plan.js";
|
|
4
4
|
async function createTestPlan(command, profile, files, dependencies) {
|
|
5
5
|
const engine = await resolveRunEngine(command.engine, dependencies);
|
|
6
|
-
return await createRunTestPlanFromFiles({
|
|
6
|
+
return await createRunTestPlanFromFiles({
|
|
7
|
+
cwd: command.cwd,
|
|
8
|
+
engine,
|
|
9
|
+
files,
|
|
10
|
+
loadRunTestModules: dependencies.loadRunTestModules,
|
|
11
|
+
testFamily: profile.testFamily
|
|
12
|
+
});
|
|
7
13
|
}
|
|
8
14
|
export async function createLocalTestPlan(command, profile, files, dependencies) {
|
|
9
15
|
let rejectCollection = function ignoreReject() {
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAKhE,KAAK,UAAU,cAAc,CACzB,OAAmB,EACnB,OAAyB,EACzB,KAA+C,EAC/C,YAAyC;IAEzC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEpE,OAAO,MAAM,0BAA0B,CAAC;QACpC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM;QACN,KAAK;QACL,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;QACnD,UAAU,EAAE,OAAO,CAAC,UAAU;KACjC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,OAAmB,EACnB,OAAyB,EACzB,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,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAE,CAAC,CAAC;IAC5G,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { Execute } from '../engine/execution.ts';
|
|
3
|
+
import type { Engine } from '../engine/engine.ts';
|
|
4
|
+
import type { ReporterDispatcher } from '../engine/reporter-dispatcher.ts';
|
|
5
|
+
import type { RunResourceUsageTracker } from '../engine/run-result.ts';
|
|
6
|
+
import type { RuntimeCapabilityPolicyDependencies } from './capability-policy.ts';
|
|
7
|
+
import type { RunDiscovery } from './run-discovery-types.ts';
|
|
8
|
+
import type { RunEngineModuleLoader } from './run-engine-selection.ts';
|
|
9
|
+
import type { RunTestModuleLoader } from './run-test-modules.ts';
|
|
10
|
+
import type { SupervisedChildProcessStarter } from './supervised-child-process.ts';
|
|
11
|
+
type ResourceUsageTrackerOptions = {
|
|
12
|
+
readonly samplingIntervalMilliseconds: number;
|
|
13
|
+
};
|
|
14
|
+
export type RunOrchestratorDependencies = {
|
|
15
|
+
readonly createSeed: () => bigint;
|
|
16
|
+
readonly createResourceUsageTracker: (options: ResourceUsageTrackerOptions) => RunResourceUsageTracker;
|
|
17
|
+
readonly defaultEngine: Engine;
|
|
18
|
+
readonly discoverRunFilesWithProjectRoot: RunDiscovery['discoverRunFilesWithProjectRoot'];
|
|
19
|
+
readonly execute: Execute;
|
|
20
|
+
readonly loadRunEngineModule: RunEngineModuleLoader;
|
|
21
|
+
readonly loadRunTestModules: RunTestModuleLoader;
|
|
22
|
+
readonly liveOutput: {
|
|
23
|
+
readonly stderr: {
|
|
24
|
+
readonly write: (chunk: Uint8Array) => void;
|
|
25
|
+
};
|
|
26
|
+
readonly stdout: {
|
|
27
|
+
readonly write: (chunk: Uint8Array) => void;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
readonly runtimeCapabilityPolicy: RuntimeCapabilityPolicyDependencies;
|
|
31
|
+
readonly node: {
|
|
32
|
+
readonly arch: string;
|
|
33
|
+
readonly platform: string;
|
|
34
|
+
readonly version: string;
|
|
35
|
+
};
|
|
36
|
+
readonly reporterDispatcher: ReporterDispatcher;
|
|
37
|
+
readonly startSupervisedChild: SupervisedChildProcessStarter;
|
|
38
|
+
readonly wallClock: WallClock;
|
|
39
|
+
};
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=run-orchestrator-dependencies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-orchestrator-dependencies.d.ts","sourceRoot":"","sources":["../../../../source/run/run-orchestrator-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,KAAK,2BAA2B,GAAG;IAC/B,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAC;IAClC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,uBAAuB,CAAC;IACvG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,+BAA+B,EAAE,YAAY,CAAC,iCAAiC,CAAC,CAAC;IAC1F,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE;YACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;SAC/C,CAAC;QACF,QAAQ,CAAC,MAAM,EAAE;YACb,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;SAC/C,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;IACtE,QAAQ,CAAC,IAAI,EAAE;QACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CACjC,CAAC"}
|