@wdio/local-runner 9.16.2 → 9.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/build/run.js +16 -10
  2. package/package.json +5 -5
package/build/run.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/run.ts
2
- import exitHook from "exit-hook";
3
- import Runner from "@wdio/runner";
2
+ import { asyncExitHook, gracefulExit } from "exit-hook";
4
3
  import logger from "@wdio/logger";
4
+ import Runner from "@wdio/runner";
5
5
 
6
6
  // src/constants.ts
7
7
  var SHUTDOWN_TIMEOUT = 5e3;
@@ -21,7 +21,7 @@ if (typeof process.send === "function") {
21
21
  });
22
22
  }
23
23
  var runner = new Runner();
24
- runner.on("exit", process.exit.bind(process));
24
+ runner.on("exit", (code = 0) => gracefulExit(code));
25
25
  runner.on("error", ({ name, message, stack }) => process.send({
26
26
  origin: "worker",
27
27
  name: "error",
@@ -47,15 +47,21 @@ process.on("message", (m) => {
47
47
  }
48
48
  );
49
49
  });
50
- exitHook(() => {
50
+ process.once("SIGINT", () => {
51
51
  runner.sigintWasCalled = true;
52
- log.info(`Received SIGINT, giving process ${SHUTDOWN_TIMEOUT}ms to shutdown gracefully`);
53
- return new Promise((resolve) => {
54
- setTimeout(() => {
55
- resolve();
56
- }, SHUTDOWN_TIMEOUT);
57
- });
52
+ gracefulExit(130);
58
53
  });
54
+ asyncExitHook(
55
+ async () => {
56
+ if (runner.sigintWasCalled) {
57
+ log.info(`Received SIGINT, giving process ${SHUTDOWN_TIMEOUT}ms to shutdown gracefully`);
58
+ return await new Promise((res) => setTimeout(res, SHUTDOWN_TIMEOUT));
59
+ }
60
+ },
61
+ {
62
+ wait: SHUTDOWN_TIMEOUT
63
+ }
64
+ );
59
65
  export {
60
66
  runner
61
67
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/local-runner",
3
- "version": "9.16.2",
3
+ "version": "9.18.0",
4
4
  "description": "A WebdriverIO runner to run tests locally",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-local-runner",
@@ -37,12 +37,12 @@
37
37
  "typeScriptVersion": "3.8.3",
38
38
  "dependencies": {
39
39
  "@types/node": "^20.1.0",
40
- "@wdio/logger": "9.16.2",
40
+ "@wdio/logger": "9.18.0",
41
41
  "@wdio/repl": "9.16.2",
42
- "@wdio/runner": "9.16.2",
42
+ "@wdio/runner": "9.18.0",
43
43
  "@wdio/types": "9.16.2",
44
44
  "exit-hook": "^4.0.0",
45
- "expect-webdriverio": "^5.3.2",
45
+ "expect-webdriverio": "^5.3.4",
46
46
  "split2": "^4.1.0",
47
47
  "stream-buffers": "^3.0.2"
48
48
  },
@@ -52,5 +52,5 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "ff2154c00e7ba6d6e2a58e0b8e1258a20229752d"
55
+ "gitHead": "a515cdf9ce892da87708c290dd2b05b051bbe602"
56
56
  }