testplane 8.40.2 → 8.40.3

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 (69) hide show
  1. package/build/package.json +2 -2
  2. package/build/src/browser/cdp/selectivity/hash-writer.js +16 -31
  3. package/build/src/browser/cdp/selectivity/hash-writer.js.map +1 -1
  4. package/build/src/browser/cdp/selectivity/json-utils.js +8 -6
  5. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -1
  6. package/build/src/browser/cdp/selectivity/utils.d.ts +1 -1
  7. package/build/src/browser/cdp/selectivity/utils.js +2 -2
  8. package/build/src/browser/cdp/selectivity/utils.js.map +1 -1
  9. package/build/src/browser-pool/cancelled-error.js +7 -1
  10. package/build/src/browser-pool/cancelled-error.js.map +1 -1
  11. package/build/src/browser-pool/limited-pool.d.ts +1 -1
  12. package/build/src/browser-pool/limited-pool.js +3 -3
  13. package/build/src/browser-pool/limited-pool.js.map +1 -1
  14. package/build/src/browser-pool/per-browser-limited-pool.d.ts +1 -1
  15. package/build/src/browser-pool/per-browser-limited-pool.js +3 -2
  16. package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
  17. package/build/src/browser-pool/types.d.ts +1 -1
  18. package/build/src/cli/index.js +4 -2
  19. package/build/src/cli/index.js.map +1 -1
  20. package/build/src/constants/process-messages.d.ts +1 -0
  21. package/build/src/constants/process-messages.js +2 -1
  22. package/build/src/constants/process-messages.js.map +1 -1
  23. package/build/src/error-snippets/source-maps.d.ts +3 -3
  24. package/build/src/error-snippets/source-maps.js +7 -5
  25. package/build/src/error-snippets/source-maps.js.map +1 -1
  26. package/build/src/errors/unhandled-rejection-error.d.ts +9 -0
  27. package/build/src/errors/unhandled-rejection-error.js +24 -0
  28. package/build/src/errors/unhandled-rejection-error.js.map +1 -0
  29. package/build/src/events/index.d.ts +4 -0
  30. package/build/src/events/index.js +1 -0
  31. package/build/src/events/index.js.map +1 -1
  32. package/build/src/reporters/flat.js +7 -5
  33. package/build/src/reporters/flat.js.map +1 -1
  34. package/build/src/reporters/informers/console.d.ts +3 -3
  35. package/build/src/reporters/informers/console.js +6 -6
  36. package/build/src/reporters/informers/console.js.map +1 -1
  37. package/build/src/reporters/informers/file.d.ts +3 -3
  38. package/build/src/reporters/informers/file.js +13 -6
  39. package/build/src/reporters/informers/file.js.map +1 -1
  40. package/build/src/reporters/plain.js +4 -2
  41. package/build/src/reporters/plain.js.map +1 -1
  42. package/build/src/runner/browser-runner.d.ts +1 -1
  43. package/build/src/runner/browser-runner.js +2 -2
  44. package/build/src/runner/browser-runner.js.map +1 -1
  45. package/build/src/runner/index.d.ts +1 -1
  46. package/build/src/runner/index.js +7 -4
  47. package/build/src/runner/index.js.map +1 -1
  48. package/build/src/runner/test-runner/insistant-test-runner.d.ts +1 -0
  49. package/build/src/runner/tests-tracker.d.ts +25 -0
  50. package/build/src/runner/tests-tracker.js +121 -0
  51. package/build/src/runner/tests-tracker.js.map +1 -0
  52. package/build/src/runner/types.d.ts +1 -1
  53. package/build/src/testplane.d.ts +4 -1
  54. package/build/src/testplane.js +37 -4
  55. package/build/src/testplane.js.map +1 -1
  56. package/build/src/types/index.d.ts +8 -0
  57. package/build/src/utils/ipc.d.ts +1 -1
  58. package/build/src/utils/ipc.js +15 -1
  59. package/build/src/utils/ipc.js.map +1 -1
  60. package/build/src/utils/logger.d.ts +9 -0
  61. package/build/src/utils/logger.js +27 -3
  62. package/build/src/utils/logger.js.map +1 -1
  63. package/build/src/utils/processor.js +11 -3
  64. package/build/src/utils/processor.js.map +1 -1
  65. package/build/src/utils/workers-registry.js +42 -3
  66. package/build/src/utils/workers-registry.js.map +1 -1
  67. package/build/src/worker/runner/index.js +9 -0
  68. package/build/src/worker/runner/index.js.map +1 -1
  69. package/package.json +2 -2
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
2
  const _ = require("lodash");
3
+ const debug = require("debug")("testplane:worker:ipc");
3
4
  module.exports = {
4
- emit: (event, data = {}) => process.send({ event, ...data }),
5
+ emit: (event, data = {}) => {
6
+ try {
7
+ process.send({ event, ...data });
8
+ }
9
+ catch (error) {
10
+ // This error happens when master has already shut down, so we can't send anything anyways
11
+ if (error.code === "ERR_IPC_CHANNEL_CLOSED") {
12
+ debug("Ignoring IPC channel closed error:");
13
+ debug(error);
14
+ return;
15
+ }
16
+ throw error;
17
+ }
18
+ },
5
19
  on: (event, baseHandler) => {
6
20
  process.on("message", (...args) => {
7
21
  if (event !== _.get(args[0], "event")) {
@@ -1 +1 @@
1
- {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../src/utils/ipc.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE5B,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;IAC5D,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAC9B,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpC,OAAO;YACX,CAAC;YAED,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../src/utils/ipc.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEvD,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,0FAA0F;YAC1F,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;gBAC1C,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBAC5C,KAAK,CAAC,KAAK,CAAC,CAAC;gBACb,OAAO;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACvB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;YAC9B,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;gBACpC,OAAO;YACX,CAAC;YAED,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAC"}
@@ -1,3 +1,12 @@
1
+ declare const LOG_OPTIONS: unique symbol;
2
+ export interface LogOptions {
3
+ timestamp?: boolean;
4
+ prefixEachLine?: string;
5
+ }
6
+ export declare function withLogOptions(opts: LogOptions): {
7
+ [LOG_OPTIONS]: LogOptions;
8
+ };
1
9
  export declare const log: (...args: unknown[]) => void;
2
10
  export declare const warn: (...args: unknown[]) => void;
3
11
  export declare const error: (...args: unknown[]) => void;
12
+ export {};
@@ -3,11 +3,35 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.error = exports.warn = exports.log = void 0;
6
+ exports.error = exports.warn = exports.log = exports.withLogOptions = void 0;
7
7
  const strftime_1 = __importDefault(require("strftime"));
8
+ const LOG_OPTIONS = Symbol("logOptions");
9
+ function withLogOptions(opts) {
10
+ return { [LOG_OPTIONS]: opts };
11
+ }
12
+ exports.withLogOptions = withLogOptions;
8
13
  const withTimestampPrefix = (logFnName) => (...args) => {
9
- const timestamp = (0, strftime_1.default)("%H:%M:%S %z");
10
- console[logFnName](`[${timestamp}]`, ...args);
14
+ const lastArg = args[args.length - 1];
15
+ const options = lastArg && typeof lastArg === "object" && LOG_OPTIONS in lastArg
16
+ ? args.pop()[LOG_OPTIONS]
17
+ : undefined;
18
+ const shouldTimestamp = options?.timestamp !== false;
19
+ let transformedArgs = args;
20
+ if (options?.prefixEachLine) {
21
+ transformedArgs = transformedArgs.map(arg => {
22
+ return String(arg)
23
+ .split("\n")
24
+ .map(line => `${options.prefixEachLine}${line}`)
25
+ .join("\n");
26
+ });
27
+ }
28
+ if (shouldTimestamp) {
29
+ const timestamp = (0, strftime_1.default)("%H:%M:%S %z");
30
+ console[logFnName](`[${timestamp}]`, ...transformedArgs);
31
+ }
32
+ else {
33
+ console[logFnName](...transformedArgs);
34
+ }
11
35
  };
12
36
  exports.log = withTimestampPrefix("log");
13
37
  exports.warn = withTimestampPrefix("warn");
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA8B;AAE9B,MAAM,mBAAmB,GACrB,CAAC,SAAmC,EAAE,EAAE,CACxC,CAAC,GAAG,IAAe,EAAQ,EAAE;IACzB,MAAM,SAAS,GAAG,IAAA,kBAAM,EAAC,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAEO,QAAA,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA8B;AAE9B,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAOzC,SAAgB,cAAc,CAAC,IAAgB;IAC3C,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAFD,wCAEC;AAED,MAAM,mBAAmB,GACrB,CAAC,SAAmC,EAAE,EAAE,CACxC,CAAC,GAAG,IAAe,EAAQ,EAAE;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GACT,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,WAAW,IAAI,OAAO;QAC5D,CAAC,CAAE,IAAI,CAAC,GAAG,EAAoC,CAAC,WAAW,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC;IAEpB,MAAM,eAAe,GAAG,OAAO,EAAE,SAAS,KAAK,KAAK,CAAC;IAErD,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACxC,OAAO,MAAM,CAAC,GAAG,CAAC;iBACb,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;iBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,IAAA,kBAAM,EAAC,aAAa,CAAC,CAAC;QACxC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS,GAAG,EAAE,GAAG,eAAe,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC,CAAC;AAEO,QAAA,GAAG,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC"}
@@ -1,22 +1,30 @@
1
1
  "use strict";
2
2
  const _ = require("lodash");
3
3
  const { WORKER_UNHANDLED_REJECTION } = require("../constants/process-messages");
4
+ const debug = require("debug")("testplane:worker:processor");
4
5
  const logger = require("./logger");
5
6
  const ipc = require("./ipc");
6
7
  const { shouldIgnoreUnhandledRejection } = require("./errors");
7
8
  const { utilInspectSafe } = require("./secret-replacer");
8
9
  const { preloadWebdriverIO, preloadMochaReader } = require("./preload-utils.js");
9
- process.on("unhandledRejection", (reason, p) => {
10
+ process.on("uncaughtException", err => {
11
+ if (err.code === "EPIPE" || err.code === "ERR_IPC_CHANNEL_CLOSED") {
12
+ debug("The following error was ignored in worker, because we tried to send message to master process, but it has already exited");
13
+ debug(err);
14
+ return;
15
+ }
16
+ throw err;
17
+ });
18
+ process.on("unhandledRejection", reason => {
10
19
  if (shouldIgnoreUnhandledRejection(reason)) {
11
20
  logger.warn(`Unhandled Rejection "${reason}" in testplane:worker:${process.pid} was ignored`);
12
21
  return;
13
22
  }
14
23
  const error = [
15
24
  `Unhandled Rejection in testplane:worker:${process.pid}:`,
16
- `Promise: ${utilInspectSafe(p)}`,
17
25
  `Reason: ${utilInspectSafe(reason)}`,
18
26
  ].join("\n");
19
- ipc.emit(WORKER_UNHANDLED_REJECTION, { error });
27
+ ipc.emit(WORKER_UNHANDLED_REJECTION, { error, workerPid: process.pid });
20
28
  });
21
29
  preloadWebdriverIO();
22
30
  preloadMochaReader();
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/utils/processor.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAChF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,MAAM,EAAE,8BAA8B,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACzD,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEjF,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IAC3C,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,yBAAyB,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9F,OAAO;IACX,CAAC;IAED,MAAM,KAAK,GAAG;QACV,2CAA2C,OAAO,CAAC,GAAG,GAAG;QACzD,YAAY,eAAe,CAAC,CAAC,CAAC,EAAE;QAChC,WAAW,eAAe,CAAC,MAAM,CAAC,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,kBAAkB,EAAE,CAAC;AACrB,kBAAkB,EAAE,CAAC;AAErB,OAAO,CAAC,UAAU,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC,CAAC,+BAA+B;IAE1C,EAAE,CAAC,IAAI,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,GAAG,EAAE,EAAE;IACtB,IAAI,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,SAAS;YACT,OAAO;YACP,MAAM;YACN,YAAY;YACZ,+DAA+D;YAC/D,cAAc;YACd,aAAa;YACb,MAAM;YACN,SAAS;SACZ,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC,CAAC;IACrB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/utils/processor.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAChF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,4BAA4B,CAAC,CAAC;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7B,MAAM,EAAE,8BAA8B,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/D,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACzD,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEjF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;IAClC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAChE,KAAK,CACD,0HAA0H,CAC7H,CAAC;QACF,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,OAAO;IACX,CAAC;IACD,MAAM,GAAG,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE;IACtC,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,yBAAyB,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;QAC9F,OAAO;IACX,CAAC;IAED,MAAM,KAAK,GAAG;QACV,2CAA2C,OAAO,CAAC,GAAG,GAAG;QACzD,WAAW,eAAe,CAAC,MAAM,CAAC,EAAE;KACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,kBAAkB,EAAE,CAAC;AACrB,kBAAkB,EAAE,CAAC;AAErB,OAAO,CAAC,UAAU,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE;IACpC,IAAI,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC,CAAC,+BAA+B;IAE1C,EAAE,CAAC,IAAI,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;IACzD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9D,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,GAAG,EAAE,EAAE;IACtB,IAAI,CAAC;QACD,EAAE,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC7B,SAAS;YACT,OAAO;YACP,MAAM;YACN,YAAY;YACZ,+DAA+D;YAC/D,cAAc;YACd,aAAa;YACb,MAAM;YACN,SAAS;SACZ,CAAC,CAAC;QAEH,EAAE,CAAC,YAAY,CAAC,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -7,8 +7,23 @@ const { MasterEvents } = require("../events");
7
7
  const RuntimeConfig = require("../config/runtime-config");
8
8
  const { WorkerProcess } = require("./worker-process");
9
9
  const logger = require("../utils/logger");
10
- const { MASTER_INIT, MASTER_SYNC_CONFIG, WORKER_INIT, WORKER_SYNC_CONFIG, WORKER_UNHANDLED_REJECTION, } = require("../constants/process-messages");
10
+ const { MASTER_INIT, MASTER_SYNC_CONFIG, WORKER_INIT, WORKER_SYNC_CONFIG, WORKER_UNHANDLED_REJECTION, TEST_ASSIGNED_TO_WORKER, } = require("../constants/process-messages");
11
11
  const { isRunInNodeJsEnv } = require("./config");
12
+ const { utilInspectSafe } = require("./secret-replacer");
13
+ const { NEW_ISSUE_LINK } = require("../constants/help");
14
+ const extractErrorFromWorkerMessage = data => {
15
+ if (data.error) {
16
+ let error = data.error;
17
+ if (!(error instanceof Error)) {
18
+ const errorTextLines = String(error).split("\n");
19
+ error = new Error(errorTextLines[0]);
20
+ error.stack = errorTextLines.slice(1).join("\n");
21
+ }
22
+ error.workerPid = data.workerPid;
23
+ return error;
24
+ }
25
+ return null;
26
+ };
12
27
  module.exports = class WorkersRegistry extends EventEmitter {
13
28
  static create(...args) {
14
29
  return new WorkersRegistry(...args);
@@ -45,7 +60,27 @@ module.exports = class WorkersRegistry extends EventEmitter {
45
60
  if (this._ended) {
46
61
  return Promise.reject(new Error(`Can't execute method '${methodName}' because worker farm ended.`));
47
62
  }
48
- return promisify(this._workerFarm.execute)(workerFilepath, methodName, args);
63
+ const stack = new Error().stack;
64
+ return promisify(this._workerFarm.execute)(workerFilepath, methodName, args).catch(error => {
65
+ if (error.name === "ProcessTerminatedError") {
66
+ const workerCallError = new Error(`Testplane tried to run method '${methodName}' with args ${utilInspectSafe(args)} in worker, but failed to do so.\n` +
67
+ `Most likely this happened due to a critical error in the worker like unhandled promise rejection or the worker process was terminated unexpectedly.\n` +
68
+ `Check surrounding logs for more details on the cause. If you believe this should not have happened, let us know: ${NEW_ISSUE_LINK}\n\n`);
69
+ try {
70
+ const nodeInternalLinesFilter = line => !/node:internal|node:events|node:domain/.test(line);
71
+ workerCallError.stack =
72
+ workerCallError.name +
73
+ stack.split("\n").slice(1).filter(nodeInternalLinesFilter).join("\n");
74
+ error.stack = error.stack.split("\n").filter(nodeInternalLinesFilter).join("\n");
75
+ }
76
+ catch {
77
+ /* */
78
+ }
79
+ workerCallError.cause = error;
80
+ throw workerCallError;
81
+ }
82
+ throw error;
83
+ });
49
84
  };
50
85
  }
51
86
  return workers;
@@ -103,9 +138,13 @@ module.exports = class WorkersRegistry extends EventEmitter {
103
138
  break;
104
139
  case WORKER_UNHANDLED_REJECTION:
105
140
  if (data.error) {
106
- this.emit(MasterEvents.ERROR, data.error);
141
+ const error = extractErrorFromWorkerMessage(data);
142
+ this.emit(MasterEvents.ERROR, error);
107
143
  }
108
144
  break;
145
+ case TEST_ASSIGNED_TO_WORKER:
146
+ this.emit(MasterEvents.TEST_ASSIGNED_TO_WORKER, data);
147
+ break;
109
148
  case MasterEvents.DOM_SNAPSHOTS: {
110
149
  this.emit(MasterEvents.DOM_SNAPSHOTS, data.context, data.data);
111
150
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"workers-registry.js","sourceRoot":"","sources":["../../../src/utils/workers-registry.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers-registry.js","sourceRoot":"","sources":["../../../src/utils/workers-registry.js"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ const { BrowserAgent } = require("./browser-agent");
30
30
  const { CachingTestParser } = require("./caching-test-parser");
31
31
  const { isRunInNodeJsEnv } = require("../../utils/config");
32
32
  const { runWithTestplaneDependenciesCollecting, readTestFileWithTestplaneDependenciesCollecting, } = require("../../browser/cdp/selectivity/testplane-selectivity");
33
+ const ipc = require("../../utils/ipc");
34
+ const { TEST_ASSIGNED_TO_WORKER } = require("../../constants/process-messages");
33
35
  module.exports = class Runner extends AsyncEmitter {
34
36
  static create(config) {
35
37
  return new Runner(config);
@@ -46,6 +48,13 @@ module.exports = class Runner extends AsyncEmitter {
46
48
  ]);
47
49
  }
48
50
  async runTest(fullTitle, { browserId, browserVersion, file, sessionId, sessionCaps, sessionOpts, state, attempt }) {
51
+ ipc.emit(TEST_ASSIGNED_TO_WORKER, {
52
+ fullTitle,
53
+ browserId,
54
+ file,
55
+ sessionId,
56
+ workerPid: process.pid,
57
+ });
49
58
  const browserAgent = BrowserAgent.create({ id: browserId, version: browserVersion, pool: this._browserPool });
50
59
  const RunnerClass = isRunInNodeJsEnv(this._config)
51
60
  ? await Promise.resolve().then(() => __importStar(require("./test-runner"))).then(m => m.default)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/runner/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/runner/index.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testplane",
3
- "version": "8.40.2",
3
+ "version": "8.40.3",
4
4
  "description": "Tests framework based on mocha and wdio",
5
5
  "main": "build/src/index.js",
6
6
  "files": [
@@ -104,7 +104,7 @@
104
104
  "sizzle": "2.3.6",
105
105
  "socket.io": "4.7.5",
106
106
  "socket.io-client": "4.7.5",
107
- "source-map": "0.7.6",
107
+ "source-map-js": "1.2.1",
108
108
  "strftime": "0.10.2",
109
109
  "strip-ansi": "6.0.1",
110
110
  "temp": "0.8.3",