From 94c59c2370d8804f7addd06fe2c87876dbbe6bfb Mon Sep 17 00:00:00 2001 From: Amila Welihinda Date: Wed, 8 Feb 2023 23:10:49 -0800 Subject: [PATCH] fix: close puppeteer browser instance --- src/helpers/ast-node-types-tester.ts | 30 +++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/helpers/ast-node-types-tester.ts b/src/helpers/ast-node-types-tester.ts index d457167b..0e62ac40 100644 --- a/src/helpers/ast-node-types-tester.ts +++ b/src/helpers/ast-node-types-tester.ts @@ -197,6 +197,9 @@ export function getJsAssertions( }; } +// @hack enable infinity event listener chaining +process.setMaxListeners(0); + /** * @HACK: Tests wont run unless the tests are parallelized across browsers * This is a temporary solution that creates two browser sessions and @@ -205,15 +208,24 @@ export function getJsAssertions( async function parallelizeBrowserTests(tests: string[]): Promise { const browser = await puppeteer.launch(); const page = await browser.newPage(); - await page.goto("https://example.com"); - const res = await page.evaluate( - // eslint-disable-next-line no-eval - (compatTest: string) => eval(compatTest), - `(function() { - return [${tests.join(",")}]; - })()` - ); - await page.close(); + let res: T[] = []; + + try { + await page.goto("https://example.com"); + res = await page.evaluate( + // eslint-disable-next-line no-eval + (compatTest: string) => eval(compatTest), + `(function() { + return [${tests.join(",")}]; + })()` + ); + } catch (e) { + console.error(e); + } finally { + await page.close(); + await browser.close(); + } + return res; }