test: deflake flaky tests on linux (#44383)

This commit is contained in:
John Kleinschmidt 2024-10-24 20:47:17 -04:00 committed by GitHub
parent a0f51d816e
commit 57920e7747
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 6 deletions

View file

@ -942,12 +942,11 @@ describe('BrowserWindow module', () => {
'did-frame-navigate', 'did-frame-navigate',
'did-navigate' 'did-navigate'
]; ];
const allEvents = Promise.all(navigationEvents.map(event => const allEvents = Promise.all(expectedEventOrder.map(event =>
once(w.webContents, event).then(() => firedEvents.push(event)) once(w.webContents, event).then(() => firedEvents.push(event))
)); ));
const timeout = setTimeout(1000);
w.loadURL(url); w.loadURL(url);
await Promise.race([allEvents, timeout]); await allEvents;
expect(firedEvents).to.deep.equal(expectedEventOrder); expect(firedEvents).to.deep.equal(expectedEventOrder);
}); });

View file

@ -4,7 +4,7 @@ import * as cp from 'node:child_process';
import * as fs from 'node:fs'; import * as fs from 'node:fs';
import * as path from 'node:path'; import * as path from 'node:path';
import { ifit } from './lib/spec-helpers'; import { ifit, waitUntil } from './lib/spec-helpers';
const fixturePath = path.resolve(__dirname, 'fixtures', 'crash-cases'); const fixturePath = path.resolve(__dirname, 'fixtures', 'crash-cases');
@ -57,11 +57,11 @@ const shouldRunCase = (crashCase: string) => {
}; };
describe('crash cases', () => { describe('crash cases', () => {
afterEach(() => { afterEach(async () => {
for (const child of children) { for (const child of children) {
child.kill(); child.kill();
} }
expect(children).to.have.lengthOf(0, 'all child processes should have exited cleanly'); await waitUntil(() => (children.length === 0));
children.length = 0; children.length = 0;
}); });
const cases = fs.readdirSync(fixturePath); const cases = fs.readdirSync(fixturePath);