@wdio/local-runner 9.23.0 → 9.23.2
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.
- package/build/index.d.ts.map +1 -1
- package/build/index.js +38 -1
- package/build/run.js +1 -1
- package/build/worker.d.ts +8 -0
- package/build/worker.d.ts.map +1 -1
- package/package.json +5 -5
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,cAAc,MAAM,aAAa,CAAA;AAKxC,YAAY,EAAE,cAAc,EAAE,CAAA;AAE9B,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,gBAAgB;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;CACd;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IASxB,OAAO,CAAC,QAAQ;IAChB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;IATxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAK;IAC/C,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAa;IAEhC,MAAM,uBAA2C;IACjD,MAAM,uBAA2C;gBAGrC,QAAQ,EAAE,KAAK,EACb,MAAM,EAAE,WAAW,CAAC,MAAM;IAaxC;;OAEG;IACG,UAAU;IAIhB,cAAc;IAIR,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,EAAE,OAAO;IA4BtD;;OAEG;YACW,cAAc;IAsB5B;;;;;OAKG;IACG,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,cAAc,MAAM,aAAa,CAAA;AAKxC,YAAY,EAAE,cAAc,EAAE,CAAA;AAE9B,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,gBAAgB;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;CACd;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IASxB,OAAO,CAAC,QAAQ;IAChB,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;IATxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAK;IAC/C,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAa;IAEhC,MAAM,uBAA2C;IACjD,MAAM,uBAA2C;gBAGrC,QAAQ,EAAE,KAAK,EACb,MAAM,EAAE,WAAW,CAAC,MAAM;IAaxC;;OAEG;IACG,UAAU;IAIhB,cAAc;IAIR,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,EAAE,OAAO;IA4BtD;;OAEG;YACW,cAAc;IAsB5B;;;;;OAKG;IACG,QAAQ;CAgFjB"}
|
package/build/index.js
CHANGED
|
@@ -299,6 +299,9 @@ var WorkerInstance = class extends EventEmitter {
|
|
|
299
299
|
}
|
|
300
300
|
if (payload.name === "sessionStarted") {
|
|
301
301
|
this.isSetupResolver(true);
|
|
302
|
+
if (this.retries === -1 && payload.specFileRetries) {
|
|
303
|
+
this.retries = payload.specFileRetries - 1;
|
|
304
|
+
}
|
|
302
305
|
if (payload.content.isMultiremote) {
|
|
303
306
|
Object.assign(this, payload.content);
|
|
304
307
|
} else {
|
|
@@ -336,6 +339,28 @@ var WorkerInstance = class extends EventEmitter {
|
|
|
336
339
|
childProcess.kill("SIGTERM");
|
|
337
340
|
}
|
|
338
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* Forcefully kill the worker process.
|
|
344
|
+
* This is used when a worker doesn't respond to graceful shutdown
|
|
345
|
+
* (e.g., when a test times out with pending async operations).
|
|
346
|
+
*
|
|
347
|
+
* @param signal - The signal to send (default: 'SIGTERM', use 'SIGKILL' for force kill)
|
|
348
|
+
*/
|
|
349
|
+
kill(signal = "SIGTERM") {
|
|
350
|
+
if (!this.childProcess) {
|
|
351
|
+
log.debug(`Worker ${this.cid} has no child process to kill`);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
log.info(`Killing worker ${this.cid} with ${signal}`);
|
|
355
|
+
try {
|
|
356
|
+
this.childProcess.kill(signal);
|
|
357
|
+
} catch (err) {
|
|
358
|
+
log.warn(`Failed to kill worker ${this.cid}:`, err);
|
|
359
|
+
}
|
|
360
|
+
delete this.childProcess;
|
|
361
|
+
this.isBusy = false;
|
|
362
|
+
this.isKilled = true;
|
|
363
|
+
}
|
|
339
364
|
/**
|
|
340
365
|
* sends message to sub process to execute functions in wdio-runner
|
|
341
366
|
* @param command method to run in wdio-runner
|
|
@@ -439,6 +464,7 @@ var LocalRunner = class {
|
|
|
439
464
|
*/
|
|
440
465
|
async shutdown() {
|
|
441
466
|
log2.info("Shutting down spawned worker");
|
|
467
|
+
const workersToShutdown = [];
|
|
442
468
|
for (const [cid, worker] of Object.entries(this.workerPool)) {
|
|
443
469
|
const {
|
|
444
470
|
capabilities,
|
|
@@ -461,10 +487,21 @@ var LocalRunner = class {
|
|
|
461
487
|
delete this.workerPool[cid];
|
|
462
488
|
continue;
|
|
463
489
|
}
|
|
490
|
+
if (worker.isBusy) {
|
|
491
|
+
workersToShutdown.push([cid, worker]);
|
|
492
|
+
}
|
|
464
493
|
await worker.postMessage("endSession", payload);
|
|
465
494
|
}
|
|
466
495
|
const shutdownResult = await new Promise((resolve) => {
|
|
467
|
-
const timeout = setTimeout(
|
|
496
|
+
const timeout = setTimeout(() => {
|
|
497
|
+
for (const [cid, worker] of workersToShutdown) {
|
|
498
|
+
if (worker.isBusy && !worker.isKilled) {
|
|
499
|
+
log2.warn(`Worker ${cid} did not shut down gracefully, force killing with SIGKILL`);
|
|
500
|
+
worker.kill("SIGKILL");
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
resolve(false);
|
|
504
|
+
}, SHUTDOWN_TIMEOUT);
|
|
468
505
|
const interval = setInterval(() => {
|
|
469
506
|
const busyWorker = Object.entries(this.workerPool).filter(
|
|
470
507
|
([, worker]) => worker.isBusy
|
package/build/run.js
CHANGED
package/build/worker.d.ts
CHANGED
|
@@ -53,6 +53,14 @@ export default class WorkerInstance extends EventEmitter implements Workers.Work
|
|
|
53
53
|
private _handleMessage;
|
|
54
54
|
private _handleError;
|
|
55
55
|
private _handleExit;
|
|
56
|
+
/**
|
|
57
|
+
* Forcefully kill the worker process.
|
|
58
|
+
* This is used when a worker doesn't respond to graceful shutdown
|
|
59
|
+
* (e.g., when a test times out with pending async operations).
|
|
60
|
+
*
|
|
61
|
+
* @param signal - The signal to send (default: 'SIGTERM', use 'SIGKILL' for force kill)
|
|
62
|
+
*/
|
|
63
|
+
kill(signal?: NodeJS.Signals): void;
|
|
56
64
|
/**
|
|
57
65
|
* sends message to sub process to execute functions in wdio-runner
|
|
58
66
|
* @param command method to run in wdio-runner
|
package/build/worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAmB1C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAa,YAAW,OAAO,CAAC,MAAM;;IAC9E,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,WAAW,CAAC,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAElB,IAAI,EAAE,WAAW,CAAC,YAAY,CAAA;IAE9B,YAAY,EAAE,WAAW,CAAC,YAAY,CAAA;IACtC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,oBAAoB,CAAA;IAC5B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAK;IAG7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjD,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,MAAM,UAAQ;IACd,QAAQ,UAAQ;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAW;IAC3E,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAW;IAE3E;;;;;;;;;;OAUG;gBAEC,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAC7E,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,WAAW;IAmB5B;;OAEG;IACG,YAAY;IA2DlB,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAmB1C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,YAAa,YAAW,OAAO,CAAC,MAAM;;IAC9E,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,WAAW,CAAC,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAElB,IAAI,EAAE,WAAW,CAAC,YAAY,CAAA;IAE9B,YAAY,EAAE,WAAW,CAAC,YAAY,CAAA;IACtC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,oBAAoB,CAAA;IAC5B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAK;IAG7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjD,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB,MAAM,UAAQ;IACd,QAAQ,UAAQ;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACzB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAW;IAC3E,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CAAW;IAE3E;;;;;;;;;;OAUG;gBAEC,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAC7E,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,WAAW;IAmB5B;;OAEG;IACG,YAAY;IA2DlB,OAAO,CAAC,cAAc;IAyDtB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAkBnB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI;IAiB9C;;;;OAIG;IACG,WAAW,CAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,EAAE,aAAa,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B7G"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/local-runner",
|
|
3
|
-
"version": "9.23.
|
|
3
|
+
"version": "9.23.2",
|
|
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",
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"@types/node": "^20.1.0",
|
|
40
40
|
"@wdio/logger": "9.18.0",
|
|
41
41
|
"@wdio/repl": "9.16.2",
|
|
42
|
-
"@wdio/runner": "9.23.
|
|
43
|
-
"@wdio/types": "9.
|
|
44
|
-
"@wdio/xvfb": "9.
|
|
42
|
+
"@wdio/runner": "9.23.2",
|
|
43
|
+
"@wdio/types": "9.23.2",
|
|
44
|
+
"@wdio/xvfb": "9.23.2",
|
|
45
45
|
"exit-hook": "^4.0.0",
|
|
46
46
|
"expect-webdriverio": "^5.3.4",
|
|
47
47
|
"split2": "^4.1.0",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "3447f2744e52b367ad1164ff6a920924d830e4ee"
|
|
57
57
|
}
|