diff --git a/packages/core/src/lib/Config.ts b/packages/core/src/lib/Config.ts index 91f176a6..fb90af51 100644 --- a/packages/core/src/lib/Config.ts +++ b/packages/core/src/lib/Config.ts @@ -240,6 +240,7 @@ export class MemLabConfig { noReCluster: boolean; maxSamplesForClustering: number; filterTraceByName: Nullable; + skipBrowserCloseWait: boolean; constructor(options: ConfigOption = {}) { // init properties, they can be configured manually @@ -370,6 +371,8 @@ export class MemLabConfig { // if specified via CLI options, this will filter leak traces by // node and edge names in the leak trace this.filterTraceByName = null; + // if true, memlab will not wait for the browser to close successfully + this.skipBrowserCloseWait = false; } // initialize configurable parameters diff --git a/packages/core/src/lib/Utils.ts b/packages/core/src/lib/Utils.ts index 0a5a3b66..7aed3873 100644 --- a/packages/core/src/lib/Utils.ts +++ b/packages/core/src/lib/Utils.ts @@ -1325,6 +1325,8 @@ async function closePuppeteer( if (config.isLocalPuppeteer && !options.warmup) { await Promise.all(pages.map(page => page.close())); await browser.disconnect(); + } else if (config.skipBrowserCloseWait) { + browser.close(); } else { await browser.close(); }