test: deflake flaky tests on linux (#44401)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
This commit is contained in:
trop[bot] 2024-10-25 11:32:00 -04:00 committed by GitHub
parent aa565a7281
commit 6012b50d89
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-navigate'
];
const allEvents = Promise.all(navigationEvents.map(event =>
const allEvents = Promise.all(expectedEventOrder.map(event =>
once(w.webContents, event).then(() => firedEvents.push(event))
));
const timeout = setTimeout(1000);
w.loadURL(url);
await Promise.race([allEvents, timeout]);
await allEvents;
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 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');
@ -57,11 +57,11 @@ const shouldRunCase = (crashCase: string) => {
};
describe('crash cases', () => {
afterEach(() => {
afterEach(async () => {
for (const child of children) {
child.kill();
}
expect(children).to.have.lengthOf(0, 'all child processes should have exited cleanly');
await waitUntil(() => (children.length === 0));
children.length = 0;
});
const cases = fs.readdirSync(fixturePath);