Skip to content

Commit f9c7c17

Browse files
committed
fix: ignore IPC channel closed errors
1 parent eb6db21 commit f9c7c17

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/browser-pool/cancelled-error.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
export class CancelledError extends Error {
55
name = "CancelledError";
6-
message = `Browser request was cancelled
6+
message = `Browser request was cancelled
77
88
What happened:
99
- This test tried to run in a browser that was already stopped

src/utils/ipc.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
"use strict";
22

33
const _ = require("lodash");
4+
const debug = require("debug")("testplane:worker:ipc");
45

56
module.exports = {
6-
emit: (event, data = {}) => process.send({ event, ...data }),
7+
emit: (event, data = {}) => {
8+
try {
9+
process.send({ event, ...data });
10+
} catch (error) {
11+
// This error happens when master has already shut down, so we can't send anything anyways
12+
if (error.code === "ERR_IPC_CHANNEL_CLOSED") {
13+
debug("Ignoring IPC channel closed error:");
14+
debug(error);
15+
return;
16+
}
17+
throw error;
18+
}
19+
},
720
on: (event, baseHandler) => {
821
process.on("message", (...args) => {
922
if (event !== _.get(args[0], "event")) {

0 commit comments

Comments
 (0)