Skip to content

Commit ab5b318

Browse files
cjihrigdanielleadams
authored andcommitted
test_runner: track bootstrapping process
This commit updates the test harness and root test to track when bootstrapping has completed. PR-URL: #46962 Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
1 parent c463f13 commit ab5b318

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

lib/internal/test_runner/harness.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,14 @@ function getGlobalRoot() {
176176
globalRoot.reporter.once('test:fail', () => {
177177
process.exitCode = 1;
178178
});
179-
reportersSetup = setupTestReporters(globalRoot.reporter);
179+
reportersSetup = setupTestReporters(globalRoot);
180180
}
181181
return globalRoot;
182182
}
183183

184184
async function startSubtest(subtest) {
185185
await reportersSetup;
186+
getGlobalRoot().harness.bootstrapComplete = true;
186187
await subtest.start();
187188
}
188189

lib/internal/test_runner/runner.js

+9-6
Original file line numberDiff line numberDiff line change
@@ -386,13 +386,16 @@ function run(options) {
386386
filesWatcher = watchFiles(testFiles, root, inspectPort);
387387
postRun = undefined;
388388
}
389-
const runFiles = () => SafePromiseAllSettledReturnVoid(testFiles, (path) => {
390-
const subtest = runTestFile(path, root, inspectPort, filesWatcher);
391-
runningSubtests.set(path, subtest);
392-
return subtest;
393-
});
389+
const runFiles = () => {
390+
root.harness.bootstrapComplete = true;
391+
return SafePromiseAllSettledReturnVoid(testFiles, (path) => {
392+
const subtest = runTestFile(path, root, inspectPort, filesWatcher);
393+
runningSubtests.set(path, subtest);
394+
return subtest;
395+
});
396+
};
394397

395-
PromisePrototypeThen(PromisePrototypeThen(PromiseResolve(setup?.(root.reporter)), runFiles), postRun);
398+
PromisePrototypeThen(PromisePrototypeThen(PromiseResolve(setup?.(root)), runFiles), postRun);
396399

397400
return root.reporter;
398401
}

lib/internal/test_runner/utils.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ async function getReportersMap(reporters, destinations) {
151151
}
152152

153153

154-
async function setupTestReporters(testsStream) {
154+
async function setupTestReporters(rootTest) {
155155
try {
156156
const { reporters, destinations } = parseCommandLine();
157157
const reportersMap = await getReportersMap(reporters, destinations);
158158
for (let i = 0; i < reportersMap.length; i++) {
159159
const { reporter, destination } = reportersMap[i];
160-
compose(testsStream, reporter).pipe(destination);
160+
compose(rootTest.reporter, reporter).pipe(destination);
161161
}
162162
} catch (err) {
163163
throw new ERR_TEST_FAILURE(err, kAsyncBootstrapFailure);

0 commit comments

Comments
 (0)