prevent 'Failed to launch the browser process!'

pull/7076/head
baseballyama 5 years ago
parent 21c07de407
commit 5f272b9d91

@ -4,7 +4,7 @@ import * as http from 'http';
import { rollup } from 'rollup';
import virtual from '@rollup/plugin-virtual';
import puppeteer from 'puppeteer';
import { addLineNumbers, loadConfig, loadSvelte, getNewPage } from '../helpers';
import { addLineNumbers, loadConfig, loadSvelte, getNewPage, retryAsync } from '../helpers';
import { deepEqual } from 'assert';
const page = `
@ -17,6 +17,7 @@ const page = `
const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8');
describe('custom-elements', function () {
// Note: Increase the timeout in preparation for restarting Chromium due to SIGSEGV.
this.timeout(10000);
let svelte;
let server;
@ -44,7 +45,7 @@ describe('custom-elements', function () {
}
async function launchPuppeteer() {
return await puppeteer.launch();
return await retryAsync(() => puppeteer.launch());
}
before(async () => {

@ -297,3 +297,14 @@ export async function getNewPage(browser: Browser): Promise<Page> {
return page;
}
export async function retryAsync<T>(fn: () => Promise<T>): Promise<T> {
let attempts = 0;
while (attempts <= 3) {
try {
return await fn();
} catch (err) {
if (++attempts >= 3) throw err;
}
}
}

@ -10,7 +10,8 @@ import {
loadSvelte,
mkdirp,
prettyPrintPuppeteerAssertionError,
getNewPage
getNewPage,
retryAsync
} from '../helpers';
import { deepEqual } from 'assert';
@ -50,12 +51,14 @@ function create_server() {
}
async function launchPuppeteer() {
return await puppeteer.launch();
return await retryAsync(() => puppeteer.launch());
}
const assert = fs.readFileSync(`${__dirname}/assert.js`, 'utf-8');
describe('runtime (puppeteer)', () => {
describe('runtime (puppeteer)', function () {
// Note: Increase the timeout in preparation for restarting Chromium due to SIGSEGV.
this.timeout(10000);
before(async () => {
svelte = loadSvelte(false);
console.log('[runtime-puppeteer] Loaded Svelte');

Loading…
Cancel
Save