test: close extra browser (#1756)

This commit is contained in:
Dmitry Gozman 2020-04-12 15:30:53 -07:00 committed by GitHub
parent 368e1cc49b
commit 277c7d872f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 7 deletions

View File

@ -72,6 +72,7 @@ describe('extensions', () => {
expect(backgroundPage).toBeTruthy();
expect(context.backgroundPages()).toContain(backgroundPage);
expect(context.pages()).not.toContain(backgroundPage);
await context.close();
await removeUserDataDir(userDataDir);
});
});

View File

@ -251,8 +251,12 @@ describe('browserType.launch |webSocket| option', function() {
const browserServer = await browserType.launchServer(defaultBrowserOptions);
const browser = await browserType.connect({ wsEndpoint: browserServer.wsEndpoint() });
const disconnectedEventPromise = new Promise(resolve => browser.once('disconnected', resolve));
const closedPromise = new Promise(f => browserServer.on('close', f));
browserServer.kill();
await disconnectedEventPromise;
await Promise.all([
disconnectedEventPromise,
closedPromise,
]);
});
});

View File

@ -105,15 +105,12 @@ function collect(browserNames) {
const browserEnvironment = new Environment(browserName);
browserEnvironment.beforeAll(async state => {
state.browser = await state.browserType.launch(launchOptions);
// TODO: remove browserServer from state.
state.browserServer = state.browser._ownedServer;
state._stdout = readline.createInterface({ input: state.browserServer.process().stdout });
state._stderr = readline.createInterface({ input: state.browserServer.process().stderr });
state._stdout = readline.createInterface({ input: state.browser._ownedServer.process().stdout });
state._stderr = readline.createInterface({ input: state.browser._ownedServer.process().stderr });
});
browserEnvironment.afterAll(async state => {
await state.browserServer.close();
await state.browser.close();
delete state.browser;
delete state.browserServer;
state._stdout.close();
state._stderr.close();
delete state._stdout;