Skip to content

Commit

Permalink
test_runner: refactor Promise chain in run()
Browse files Browse the repository at this point in the history
This commit refactors the chain of functions in run() to use an
async function instead of creating an awkward primordial-based
Promise chain.

PR-URL: #55958
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
  • Loading branch information
cjihrig authored and aduh95 committed Dec 13, 2024
1 parent 2a5d5f0 commit 4d456a8
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions lib/internal/test_runner/runner.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ const {
ArrayPrototypeSort,
ObjectAssign,
PromisePrototypeThen,
PromiseResolve,
PromiseWithResolvers,
SafeMap,
SafePromiseAll,
Expand Down Expand Up @@ -798,9 +797,17 @@ function run(options = kEmptyObject) {
}
}

const setupPromise = PromiseResolve(setup?.(root.reporter));
PromisePrototypeThen(PromisePrototypeThen(PromisePrototypeThen(setupPromise, runFiles), postRun), teardown);
const runChain = async () => {
if (typeof setup === 'function') {
await setup(root.reporter);
}

await runFiles();
postRun?.();
teardown?.();
};

runChain();
return root.reporter;
}

Expand Down

0 comments on commit 4d456a8

Please sign in to comment.