From 13a4d1976457a3c3fcb9c3d7f0d078a72b0fc8a1 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Fri, 18 Oct 2024 08:58:22 +0200 Subject: [PATCH] don't swallow the first error if the second throws --- packages/playwright/src/runner/tasks.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/playwright/src/runner/tasks.ts b/packages/playwright/src/runner/tasks.ts index aeaceadc8b..aeeafe7b41 100644 --- a/packages/playwright/src/runner/tasks.ts +++ b/packages/playwright/src/runner/tasks.ts @@ -182,15 +182,18 @@ function createGlobalSetupTask(index: number, length: number): Task { globalSetupFinished = true; }, teardown: async ({ config }) => { - let firstError: any; + const errors = []; if (typeof globalSetupResult === 'function') - try { await globalSetupResult(); } catch (error) { firstError = error; } + try { await globalSetupResult(); } catch (error) { errors.push(error); } if (globalSetupFinished) - await teardownHook?.(config.config); + try { await teardownHook?.(config.config); } catch (error) { errors.push(error); } - if (firstError) - throw firstError; + if (errors.length === 1) + throw errors[0]; + + if (errors.length > 1) + throw new AggregateError(errors); }, }; }