testplane 9.1.1 → 9.2.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 (261) hide show
  1. package/build/package.json +2 -2
  2. package/build/src/base-testplane.d.ts +17 -1
  3. package/build/src/base-testplane.js +43 -9
  4. package/build/src/base-testplane.js.map +1 -1
  5. package/build/src/browser/browser.d.ts +3 -0
  6. package/build/src/browser/browser.js +4 -2
  7. package/build/src/browser/browser.js.map +1 -1
  8. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +19 -19
  9. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  10. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +2 -2
  11. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +2 -2
  12. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +52 -84
  13. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +4 -1
  14. package/build/src/browser/commands/assert-view/index.js +25 -2
  15. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  16. package/build/src/browser/existing-browser.js +8 -1
  17. package/build/src/browser/existing-browser.js.map +1 -1
  18. package/build/src/browser/history/index.d.ts +4 -2
  19. package/build/src/browser/history/index.js +146 -67
  20. package/build/src/browser/history/index.js.map +1 -1
  21. package/build/src/browser/new-browser.js +1 -1
  22. package/build/src/browser/new-browser.js.map +1 -1
  23. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +5 -0
  24. package/build/src/browser/screen-shooter/elements-screen-shooter.js +102 -55
  25. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  26. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +4 -0
  27. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +29 -7
  28. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  29. package/build/src/browser-pool/basic-pool.d.ts +4 -3
  30. package/build/src/browser-pool/basic-pool.js +39 -7
  31. package/build/src/browser-pool/basic-pool.js.map +1 -1
  32. package/build/src/browser-pool/caching-pool.d.ts +3 -2
  33. package/build/src/browser-pool/caching-pool.js +19 -7
  34. package/build/src/browser-pool/caching-pool.js.map +1 -1
  35. package/build/src/browser-pool/index.d.ts +2 -1
  36. package/build/src/browser-pool/index.js +8 -4
  37. package/build/src/browser-pool/index.js.map +1 -1
  38. package/build/src/browser-pool/limited-pool.d.ts +5 -1
  39. package/build/src/browser-pool/limited-pool.js +42 -4
  40. package/build/src/browser-pool/limited-pool.js.map +1 -1
  41. package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -2
  42. package/build/src/browser-pool/per-browser-limited-pool.js +2 -1
  43. package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
  44. package/build/src/browser-pool/types.d.ts +8 -0
  45. package/build/src/cli/commands/config/index.js +7 -3
  46. package/build/src/cli/commands/config/index.js.map +1 -1
  47. package/build/src/cli/commands/install-deps/index.js +46 -38
  48. package/build/src/cli/commands/install-deps/index.js.map +1 -1
  49. package/build/src/cli/commands/list-browsers/index.js +15 -11
  50. package/build/src/cli/commands/list-browsers/index.js.map +1 -1
  51. package/build/src/cli/commands/list-tests/index.js +25 -21
  52. package/build/src/cli/commands/list-tests/index.js.map +1 -1
  53. package/build/src/cli/commands/selectivity-merge-dumps/index.js +12 -5
  54. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -1
  55. package/build/src/cli/index.js +10 -6
  56. package/build/src/cli/index.js.map +1 -1
  57. package/build/src/config/defaults.d.ts +5 -0
  58. package/build/src/config/defaults.js +4 -0
  59. package/build/src/config/defaults.js.map +1 -1
  60. package/build/src/config/index.d.ts +6 -4
  61. package/build/src/config/index.js +60 -19
  62. package/build/src/config/index.js.map +1 -1
  63. package/build/src/config/options.js +26 -0
  64. package/build/src/config/options.js.map +1 -1
  65. package/build/src/config/types.d.ts +19 -0
  66. package/build/src/constants/process-messages.d.ts +3 -0
  67. package/build/src/constants/process-messages.js +4 -1
  68. package/build/src/constants/process-messages.js.map +1 -1
  69. package/build/src/events/async-emitter/index.d.ts +38 -0
  70. package/build/src/events/async-emitter/index.js +248 -5
  71. package/build/src/events/async-emitter/index.js.map +1 -1
  72. package/build/src/events/index.d.ts +3 -0
  73. package/build/src/events/index.js +1 -0
  74. package/build/src/events/index.js.map +1 -1
  75. package/build/src/index.d.ts +2 -1
  76. package/build/src/profiler/analysis/aggregator.d.ts +19 -0
  77. package/build/src/profiler/analysis/aggregator.js +229 -0
  78. package/build/src/profiler/analysis/aggregator.js.map +1 -0
  79. package/build/src/profiler/analysis/analyzers.d.ts +10 -0
  80. package/build/src/profiler/analysis/analyzers.js +1228 -0
  81. package/build/src/profiler/analysis/analyzers.js.map +1 -0
  82. package/build/src/profiler/analysis/compact.d.ts +5 -0
  83. package/build/src/profiler/analysis/compact.js +46 -0
  84. package/build/src/profiler/analysis/compact.js.map +1 -0
  85. package/build/src/profiler/analysis/finding-order.d.ts +4 -0
  86. package/build/src/profiler/analysis/finding-order.js +28 -0
  87. package/build/src/profiler/analysis/finding-order.js.map +1 -0
  88. package/build/src/profiler/analysis/outliers.d.ts +6 -0
  89. package/build/src/profiler/analysis/outliers.js +49 -0
  90. package/build/src/profiler/analysis/outliers.js.map +1 -0
  91. package/build/src/profiler/analysis/policy-v1.d.ts +71 -0
  92. package/build/src/profiler/analysis/policy-v1.js +43 -0
  93. package/build/src/profiler/analysis/policy-v1.js.map +1 -0
  94. package/build/src/profiler/collectors/module-graph.d.ts +14 -0
  95. package/build/src/profiler/collectors/module-graph.js +99 -0
  96. package/build/src/profiler/collectors/module-graph.js.map +1 -0
  97. package/build/src/profiler/collectors/pool-observer.d.ts +9 -0
  98. package/build/src/profiler/collectors/pool-observer.js +40 -0
  99. package/build/src/profiler/collectors/pool-observer.js.map +1 -0
  100. package/build/src/profiler/manager.d.ts +55 -0
  101. package/build/src/profiler/manager.js +343 -0
  102. package/build/src/profiler/manager.js.map +1 -0
  103. package/build/src/profiler/output/console.d.ts +6 -0
  104. package/build/src/profiler/output/console.js +443 -0
  105. package/build/src/profiler/output/console.js.map +1 -0
  106. package/build/src/profiler/output/json.d.ts +2 -0
  107. package/build/src/profiler/output/json.js +24 -0
  108. package/build/src/profiler/output/json.js.map +1 -0
  109. package/build/src/profiler/retention/operation-store.d.ts +22 -0
  110. package/build/src/profiler/retention/operation-store.js +110 -0
  111. package/build/src/profiler/retention/operation-store.js.map +1 -0
  112. package/build/src/profiler/retention/policy-v1.d.ts +22 -0
  113. package/build/src/profiler/retention/policy-v1.js +49 -0
  114. package/build/src/profiler/retention/policy-v1.js.map +1 -0
  115. package/build/src/profiler/retention/result-budget.d.ts +2 -0
  116. package/build/src/profiler/retention/result-budget.js +117 -0
  117. package/build/src/profiler/retention/result-budget.js.map +1 -0
  118. package/build/src/profiler/retention/serialized-budget.d.ts +5 -0
  119. package/build/src/profiler/retention/serialized-budget.js +58 -0
  120. package/build/src/profiler/retention/serialized-budget.js.map +1 -0
  121. package/build/src/profiler/retention/streaming-statistics.d.ts +38 -0
  122. package/build/src/profiler/retention/streaming-statistics.js +191 -0
  123. package/build/src/profiler/retention/streaming-statistics.js.map +1 -0
  124. package/build/src/profiler/retention/top-k.d.ts +13 -0
  125. package/build/src/profiler/retention/top-k.js +57 -0
  126. package/build/src/profiler/retention/top-k.js.map +1 -0
  127. package/build/src/profiler/runtime/async-activity.d.ts +19 -0
  128. package/build/src/profiler/runtime/async-activity.js +113 -0
  129. package/build/src/profiler/runtime/async-activity.js.map +1 -0
  130. package/build/src/profiler/runtime/bootstrap-probe.d.ts +42 -0
  131. package/build/src/profiler/runtime/bootstrap-probe.js +91 -0
  132. package/build/src/profiler/runtime/bootstrap-probe.js.map +1 -0
  133. package/build/src/profiler/runtime/clock.d.ts +22 -0
  134. package/build/src/profiler/runtime/clock.js +15 -0
  135. package/build/src/profiler/runtime/clock.js.map +1 -0
  136. package/build/src/profiler/runtime/event-observer.d.ts +4 -0
  137. package/build/src/profiler/runtime/event-observer.js +142 -0
  138. package/build/src/profiler/runtime/event-observer.js.map +1 -0
  139. package/build/src/profiler/runtime/noop.d.ts +20 -0
  140. package/build/src/profiler/runtime/noop.js +37 -0
  141. package/build/src/profiler/runtime/noop.js.map +1 -0
  142. package/build/src/profiler/runtime/runtime.d.ts +95 -0
  143. package/build/src/profiler/runtime/runtime.js +1343 -0
  144. package/build/src/profiler/runtime/runtime.js.map +1 -0
  145. package/build/src/profiler/runtime/types.d.ts +88 -0
  146. package/build/src/profiler/runtime/types.js +3 -0
  147. package/build/src/profiler/runtime/types.js.map +1 -0
  148. package/build/src/profiler/sanitize.d.ts +15 -0
  149. package/build/src/profiler/sanitize.js +194 -0
  150. package/build/src/profiler/sanitize.js.map +1 -0
  151. package/build/src/profiler/schema/index.d.ts +1 -0
  152. package/build/src/profiler/schema/index.js +18 -0
  153. package/build/src/profiler/schema/index.js.map +1 -0
  154. package/build/src/profiler/schema/v1.d.ts +281 -0
  155. package/build/src/profiler/schema/v1.js +3 -0
  156. package/build/src/profiler/schema/v1.js.map +1 -0
  157. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +30 -0
  158. package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -1
  159. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  160. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +31 -6
  161. package/build/src/runner/browser-env/vite/browser-modules/types.js +8 -8
  162. package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -1
  163. package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +7 -1
  164. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +28 -6
  165. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  166. package/build/src/runner/browser-env/vite/server.js +17 -1
  167. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  168. package/build/src/runner/browser-env/vite/socket.js +4 -0
  169. package/build/src/runner/browser-env/vite/socket.js.map +1 -1
  170. package/build/src/runner/browser-env/vite/types.d.ts +9 -7
  171. package/build/src/runner/browser-env/vite/types.js +8 -8
  172. package/build/src/runner/browser-env/vite/types.js.map +1 -1
  173. package/build/src/runner/browser-env/vite/utils.js +9 -2
  174. package/build/src/runner/browser-env/vite/utils.js.map +1 -1
  175. package/build/src/runner/browser-runner.d.ts +3 -1
  176. package/build/src/runner/browser-runner.js +4 -2
  177. package/build/src/runner/browser-runner.js.map +1 -1
  178. package/build/src/runner/index.d.ts +3 -1
  179. package/build/src/runner/index.js +7 -4
  180. package/build/src/runner/index.js.map +1 -1
  181. package/build/src/runner/test-runner/index.d.ts +2 -1
  182. package/build/src/runner/test-runner/index.js +2 -2
  183. package/build/src/runner/test-runner/index.js.map +1 -1
  184. package/build/src/runner/test-runner/insistant-test-runner.d.ts +2 -1
  185. package/build/src/runner/test-runner/insistant-test-runner.js +3 -2
  186. package/build/src/runner/test-runner/insistant-test-runner.js.map +1 -1
  187. package/build/src/runner/test-runner/regular-test-runner.d.ts +9 -3
  188. package/build/src/runner/test-runner/regular-test-runner.js +77 -16
  189. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  190. package/build/src/signal-handler.js +14 -5
  191. package/build/src/signal-handler.js.map +1 -1
  192. package/build/src/test-reader/index.d.ts +2 -1
  193. package/build/src/test-reader/index.js +19 -10
  194. package/build/src/test-reader/index.js.map +1 -1
  195. package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
  196. package/build/src/test-reader/mocha-reader/index.js +41 -24
  197. package/build/src/test-reader/mocha-reader/index.js.map +1 -1
  198. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
  199. package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
  200. package/build/src/test-reader/mocha-reader/utils.d.ts +2 -0
  201. package/build/src/test-reader/mocha-reader/utils.js +18 -2
  202. package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
  203. package/build/src/test-reader/test-object/hook.d.ts +4 -2
  204. package/build/src/test-reader/test-object/hook.js +3 -1
  205. package/build/src/test-reader/test-object/hook.js.map +1 -1
  206. package/build/src/test-reader/test-parser.d.ts +2 -1
  207. package/build/src/test-reader/test-parser.js +48 -4
  208. package/build/src/test-reader/test-parser.js.map +1 -1
  209. package/build/src/testplane.d.ts +6 -2
  210. package/build/src/testplane.js +82 -27
  211. package/build/src/testplane.js.map +1 -1
  212. package/build/src/types/index.d.ts +4 -1
  213. package/build/src/types/index.js.map +1 -1
  214. package/build/src/utils/exit-code.d.ts +1 -0
  215. package/build/src/utils/exit-code.js +28 -0
  216. package/build/src/utils/exit-code.js.map +1 -0
  217. package/build/src/utils/module-observer-registry.d.ts +43 -0
  218. package/build/src/utils/module-observer-registry.js +257 -0
  219. package/build/src/utils/module-observer-registry.js.map +1 -0
  220. package/build/src/utils/processor.js +1 -0
  221. package/build/src/utils/processor.js.map +1 -1
  222. package/build/src/utils/workers-registry.d.ts +48 -1
  223. package/build/src/utils/workers-registry.js +162 -4
  224. package/build/src/utils/workers-registry.js.map +1 -1
  225. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +15 -1
  226. package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -1
  227. package/build/src/worker/browser-env/runner/test-runner/index.js +20 -0
  228. package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
  229. package/build/src/worker/index.js +39 -1
  230. package/build/src/worker/index.js.map +1 -1
  231. package/build/src/worker/runner/browser-pool.d.ts +3 -2
  232. package/build/src/worker/runner/browser-pool.js +5 -3
  233. package/build/src/worker/runner/browser-pool.js.map +1 -1
  234. package/build/src/worker/runner/caching-test-parser.d.ts +6 -1
  235. package/build/src/worker/runner/caching-test-parser.js +40 -4
  236. package/build/src/worker/runner/caching-test-parser.js.map +1 -1
  237. package/build/src/worker/runner/index.d.ts +10 -9
  238. package/build/src/worker/runner/index.js +52 -6
  239. package/build/src/worker/runner/index.js.map +1 -1
  240. package/build/src/worker/runner/sequence-test-parser.d.ts +4 -1
  241. package/build/src/worker/runner/sequence-test-parser.js +17 -3
  242. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  243. package/build/src/worker/runner/simple-test-parser.d.ts +3 -1
  244. package/build/src/worker/runner/simple-test-parser.js +4 -2
  245. package/build/src/worker/runner/simple-test-parser.js.map +1 -1
  246. package/build/src/worker/runner/test-runner/execution-thread.d.ts +20 -2
  247. package/build/src/worker/runner/test-runner/execution-thread.js +37 -2
  248. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  249. package/build/src/worker/runner/test-runner/hook-runner.d.ts +1 -1
  250. package/build/src/worker/runner/test-runner/hook-runner.js +4 -4
  251. package/build/src/worker/runner/test-runner/hook-runner.js.map +1 -1
  252. package/build/src/worker/runner/test-runner/index.d.ts +8 -7
  253. package/build/src/worker/runner/test-runner/index.js +36 -25
  254. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  255. package/build/src/worker/runner/test-runner/types.d.ts +8 -1
  256. package/build/src/worker/testplane-facade.js +63 -4
  257. package/build/src/worker/testplane-facade.js.map +1 -1
  258. package/build/src/worker/testplane.d.ts +6 -0
  259. package/build/src/worker/testplane.js +7 -1
  260. package/build/src/worker/testplane.js.map +1 -1
  261. package/package.json +2 -2
@@ -48,11 +48,27 @@ const computeFile = mochaSuite => {
48
48
  const getMethodsByInterface = (mochaInterface = "bdd") => {
49
49
  switch (mochaInterface) {
50
50
  case "tdd":
51
+ return {
52
+ suiteMethods: ["suite"],
53
+ testMethods: ["test"],
54
+ beforeEachMethods: ["setup"],
55
+ afterEachMethods: ["teardown"],
56
+ };
51
57
  case "qunit":
52
- return { suiteMethods: ["suite"], testMethods: ["test"] };
58
+ return {
59
+ suiteMethods: ["suite"],
60
+ testMethods: ["test"],
61
+ beforeEachMethods: ["beforeEach"],
62
+ afterEachMethods: ["afterEach"],
63
+ };
53
64
  case "bdd":
54
65
  default:
55
- return { suiteMethods: ["describe", "context"], testMethods: ["it", "specify"] };
66
+ return {
67
+ suiteMethods: ["describe", "context"],
68
+ testMethods: ["it", "specify"],
69
+ beforeEachMethods: ["beforeEach"],
70
+ afterEachMethods: ["afterEach"],
71
+ };
56
72
  }
57
73
  };
58
74
  module.exports = {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/utils.js"],"names":[],"mappings":";AAAA,uGAAuG;AACvG,iHAAiH;AAEjH,MAAM,gBAAgB,GAAG,UAAU,CAAC,EAAE;IAClC,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE;IACzB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,YAAY,CAAC;QACxB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;IAC7C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACzC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE;IAC7B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACvB,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,cAAc,GAAG,KAAK,EAAE,EAAE;IACrD,QAAQ,cAAc,EAAE,CAAC;QACrB,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACR,OAAO,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,KAAK,KAAK,CAAC;QACX;YACI,OAAO,EAAE,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACzF,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG;IACb,WAAW;IACX,qBAAqB;CACxB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/utils.js"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { TestObject } from "./test-object";
2
- import type { TestObjectData, ConfigurableTestObjectData, TestFunction, TestFunctionCtx } from "./types";
2
+ import type { TestObjectData, ConfigurableTestObjectData, TestFunction, TestFunctionCtx, Location } from "./types";
3
3
  type HookOpts = TestObjectData & {
4
4
  fn: TestFunction<TestFunctionCtx>;
5
+ location?: Location;
5
6
  };
6
7
  export declare class Hook extends TestObject {
7
8
  fn: TestFunction<TestFunctionCtx>;
9
+ readonly location?: Location;
8
10
  static create<T extends Hook>(this: new (opts: HookOpts) => T, opts: HookOpts): T;
9
- constructor({ title, fn }: HookOpts);
11
+ constructor({ title, fn, location }: HookOpts);
10
12
  clone(): Hook;
11
13
  get file(): ConfigurableTestObjectData["file"];
12
14
  get timeout(): ConfigurableTestObjectData["timeout"];
@@ -6,14 +6,16 @@ class Hook extends test_object_1.TestObject {
6
6
  static create(opts) {
7
7
  return new this(opts);
8
8
  }
9
- constructor({ title, fn }) {
9
+ constructor({ title, fn, location }) {
10
10
  super({ title });
11
11
  this.fn = fn;
12
+ this.location = location;
12
13
  }
13
14
  clone() {
14
15
  return new Hook({
15
16
  title: this.title,
16
17
  fn: this.fn,
18
+ location: this.location,
17
19
  }).assign(this);
18
20
  }
19
21
  get file() {
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/test-reader/test-object/hook.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAO3C,MAAa,IAAK,SAAQ,wBAAU;IAGhC,MAAM,CAAC,MAAM,CAAkD,IAAc;QACzE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,EAAE,EAAY;QAC/B,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;CACJ;AA/BD,oBA+BC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../../src/test-reader/test-object/hook.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAQ3C,MAAa,IAAK,SAAQ,wBAAU;IAIhC,MAAM,CAAC,MAAM,CAAkD,IAAc;QACzE,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAY;QACzC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK;QACD,OAAO,IAAI,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,CAAC;CACJ;AAlCD,oBAkCC"}
@@ -5,6 +5,7 @@ import { Config } from "../config";
5
5
  import { BrowserConfig } from "../config/browser-config";
6
6
  import type { ReadTestsOpts } from "../testplane";
7
7
  import { TagFilter } from "../utils/cli";
8
+ import type { ProfilerRuntimeLike } from "../profiler/runtime/types";
8
9
  export type TestParserParseOpts = {
9
10
  browserId: string;
10
11
  grep?: RegExp;
@@ -17,7 +18,7 @@ type LoadFilesOpts = {
17
18
  };
18
19
  export declare class TestParser extends EventEmitter {
19
20
  #private;
20
- constructor();
21
+ constructor(profiler?: ProfilerRuntimeLike);
21
22
  loadFiles(files: string[], { config, runnableOpts }: LoadFilesOpts): Promise<void>;
22
23
  parse(files: string[], { browserId, config, grep, tag }: TestParserParseOpts): Test[];
23
24
  }
@@ -36,7 +36,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
36
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
38
  };
39
- var _TestParser_instances, _TestParser_failedTests, _TestParser_buildInstructions, _TestParser_applyInstructionsEvents, _TestParser_passthroughFileEvents, _TestParser_clearRequireCache, _TestParser_validateUniqTitles;
39
+ var _TestParser_instances, _TestParser_failedTests, _TestParser_buildInstructions, _TestParser_profiler, _TestParser_applyInstructionsEvents, _TestParser_passthroughFileEvents, _TestParser_clearRequireCache, _TestParser_validateUniqTitles;
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.TestParser = void 0;
42
42
  const events_1 = require("events");
@@ -57,15 +57,20 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
57
57
  const logger = __importStar(require("../utils/logger"));
58
58
  const crypto_1 = require("../utils/crypto");
59
59
  const config_1 = require("../utils/config");
60
+ const noop_1 = require("../profiler/runtime/noop");
61
+ const sanitize_1 = require("../profiler/sanitize");
62
+ const module_graph_1 = require("../profiler/collectors/module-graph");
60
63
  const getFailedTestId = (test) => (0, crypto_1.getShortMD5)(`${test.fullTitle}${test.browserId}${test.browserVersion}`);
61
64
  class TestParser extends events_1.EventEmitter {
62
- constructor() {
65
+ constructor(profiler = noop_1.noopProfilerRuntime) {
63
66
  super();
64
67
  _TestParser_instances.add(this);
65
68
  _TestParser_failedTests.set(this, void 0);
66
69
  _TestParser_buildInstructions.set(this, void 0);
70
+ _TestParser_profiler.set(this, void 0);
67
71
  __classPrivateFieldSet(this, _TestParser_failedTests, new Set(), "f");
68
72
  __classPrivateFieldSet(this, _TestParser_buildInstructions, new build_instructions_1.InstructionsList(), "f");
73
+ __classPrivateFieldSet(this, _TestParser_profiler, profiler, "f");
69
74
  }
70
75
  async loadFiles(files, { config, runnableOpts }) {
71
76
  const eventBus = new events_1.EventEmitter();
@@ -93,7 +98,46 @@ class TestParser extends events_1.EventEmitter {
93
98
  const rand = Math.random();
94
99
  const esmDecorator = (f) => f + `?rand=${rand}`;
95
100
  const isBrowserEnv = (0, config_1.isRunInBrowserEnv)(config);
96
- await readFiles(files, { esmDecorator, config: mochaOpts, eventBus, runnableOpts, isBrowserEnv });
101
+ const profileTestFiles = __classPrivateFieldGet(this, _TestParser_profiler, "f").isEnabled(2);
102
+ const effectiveRunnableOpts = profileTestFiles ? { ...runnableOpts, saveHookLocations: true } : runnableOpts;
103
+ const openFileSpans = new Map();
104
+ const moduleGraph = __classPrivateFieldGet(this, _TestParser_profiler, "f").isEnabled(3) ? new module_graph_1.ProfilerModuleGraphCollector(__classPrivateFieldGet(this, _TestParser_profiler, "f")) : undefined;
105
+ const sanitizer = profileTestFiles ? new sanitize_1.ProfilerSanitizer() : undefined;
106
+ const fileObserver = sanitizer
107
+ ? {
108
+ start: (file) => {
109
+ moduleGraph?.enterFile(file);
110
+ openFileSpans.get(file)?.end("interrupted");
111
+ const sanitizedFile = sanitizer.path(file);
112
+ openFileSpans.set(file, __classPrivateFieldGet(this, _TestParser_profiler, "f").startSpan("test.file.load", {
113
+ minLevel: 2,
114
+ name: sanitizedFile,
115
+ attributes: { file: sanitizedFile, cache: "master" },
116
+ }));
117
+ },
118
+ end: (file) => {
119
+ openFileSpans.get(file)?.end();
120
+ openFileSpans.delete(file);
121
+ moduleGraph?.leaveFile();
122
+ },
123
+ }
124
+ : undefined;
125
+ try {
126
+ await readFiles(files, {
127
+ esmDecorator,
128
+ config: mochaOpts,
129
+ eventBus,
130
+ runnableOpts: effectiveRunnableOpts,
131
+ isBrowserEnv,
132
+ fileObserver,
133
+ });
134
+ }
135
+ finally {
136
+ for (const span of openFileSpans.values()) {
137
+ span.end("interrupted");
138
+ }
139
+ moduleGraph?.dispose();
140
+ }
97
141
  if (config.lastFailed.only) {
98
142
  try {
99
143
  __classPrivateFieldSet(this, _TestParser_failedTests, new Set(), "f");
@@ -147,7 +191,7 @@ class TestParser extends events_1.EventEmitter {
147
191
  }
148
192
  }
149
193
  exports.TestParser = TestParser;
150
- _TestParser_failedTests = new WeakMap(), _TestParser_buildInstructions = new WeakMap(), _TestParser_instances = new WeakSet(), _TestParser_applyInstructionsEvents = function _TestParser_applyInstructionsEvents(eventBus) {
194
+ _TestParser_failedTests = new WeakMap(), _TestParser_buildInstructions = new WeakMap(), _TestParser_profiler = new WeakMap(), _TestParser_instances = new WeakSet(), _TestParser_applyInstructionsEvents = function _TestParser_applyInstructionsEvents(eventBus) {
151
195
  let currentFile;
152
196
  eventBus
153
197
  .on(events_3.MasterEvents.BEFORE_FILE_READ, ({ file }) => (currentFile = file))
@@ -1 +1 @@
1
- {"version":3,"file":"test-parser.js","sourceRoot":"","sources":["../../../src/test-reader/test-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-parser.js","sourceRoot":"","sources":["../../../src/test-reader/test-parser.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export type FailedListItem = {
38
38
  };
39
39
  interface RunnableOpts {
40
40
  saveLocations?: boolean;
41
+ saveHookLocations?: boolean;
41
42
  }
42
43
  export interface ReadTestsOpts extends Pick<RunOpts, "tag" | "browsers" | "sets" | "grep" | "replMode" | "keepBrowserMode"> {
43
44
  silent: boolean;
@@ -66,11 +67,14 @@ export declare class Testplane extends BaseTestplane {
66
67
  extendCli(parser: Command): Promise<void>;
67
68
  addFileToRemove(path: string): void;
68
69
  protected _startServersIfNeeded(): Promise<void>;
69
- run(testPaths: TestCollection | string[], { browsers, sets, grep, tag, updateRefs, requireModules, inspectMode, replMode, local, keepBrowserMode, reporters, }?: Partial<RunOpts>): Promise<boolean>;
70
+ run(testPaths: TestCollection | string[], options?: Partial<RunOpts>): Promise<boolean>;
71
+ private _run;
72
+ private _runConfigHook;
70
73
  protected _saveFailed(): Promise<void>;
71
74
  protected _readTests(testPaths: string[] | TestCollection, opts: Partial<ReadTestsOpts>): Promise<TestCollection>;
72
75
  addTestToRun(test: Test, browserId: string): boolean;
73
- readTests(testPaths: string[], { browsers, sets, grep, tag, silent, ignore, replMode, keepBrowserMode, runnableOpts, }?: Partial<ReadTestsOpts>): Promise<TestCollection>;
76
+ readTests(testPaths: string[], options?: Partial<ReadTestsOpts>): Promise<TestCollection>;
77
+ private _readTestsOperation;
74
78
  isFailed(): boolean;
75
79
  protected _fail(): void;
76
80
  protected _addFailedTest(result: TestResult): void;
@@ -41,6 +41,7 @@ const validators_1 = require("./validators");
41
41
  const reporters_1 = require("./reporters");
42
42
  const logger = __importStar(require("./utils/logger"));
43
43
  const config_1 = require("./utils/config");
44
+ const exit_code_1 = require("./utils/exit-code");
44
45
  const dev_server_1 = require("./dev-server");
45
46
  const preload_utils_1 = require("./utils/preload-utils");
46
47
  const selectivity_1 = require("./browser/cdp/selectivity");
@@ -48,6 +49,16 @@ const server_1 = require("./runner/browser-env/vite/server");
48
49
  const globalFilesToRemove_1 = require("./globalFilesToRemove");
49
50
  const tests_tracker_1 = require("./runner/tests-tracker");
50
51
  const unhandled_rejection_error_1 = require("./errors/unhandled-rejection-error");
52
+ const sanitize_1 = require("./profiler/sanitize");
53
+ const configCallbackSource = (configPath, functionName) => ({
54
+ file: configPath ? new sanitize_1.ProfilerSanitizer().path(configPath) : undefined,
55
+ functionName,
56
+ confidence: configPath ? "medium" : "low",
57
+ });
58
+ const CONFIG_HOOK_PHASES = {
59
+ beforeAll: { kind: "testplane.phase.before-all", name: "Run beforeAll" },
60
+ afterAll: { kind: "testplane.phase.after-all", name: "Run afterAll" },
61
+ };
51
62
  class Testplane extends base_testplane_1.BaseTestplane {
52
63
  constructor(config) {
53
64
  super(config);
@@ -57,6 +68,15 @@ class Testplane extends base_testplane_1.BaseTestplane {
57
68
  this.viteServer = null;
58
69
  this._filesToRemove = [];
59
70
  this.testsTracker = null;
71
+ this.on(events_1.MasterEvents.EXIT, (error) => {
72
+ if (!this._profiler?.isEnabled()) {
73
+ return;
74
+ }
75
+ this._profiler.abort({
76
+ code: "SIGNAL",
77
+ message: this._profiler.sanitizeMessage(error?.message ?? "Process termination signal received"),
78
+ });
79
+ });
60
80
  }
61
81
  async extendCli(parser) {
62
82
  await this.emitAndWait(events_1.MasterEvents.CLI, parser);
@@ -80,7 +100,24 @@ class Testplane extends base_testplane_1.BaseTestplane {
80
100
  }
81
101
  }
82
102
  }
83
- async run(testPaths, { browsers, sets, grep, tag, updateRefs, requireModules, inspectMode, replMode, local, keepBrowserMode, reporters = [], } = {}) {
103
+ async run(testPaths, options = {}) {
104
+ const finalizeAfterSignal = async (...args) => {
105
+ try {
106
+ await this.emitAndWait(events_1.MasterEvents.RUNNER_END, ...args);
107
+ }
108
+ finally {
109
+ await this._profiler.finalizeSafely();
110
+ }
111
+ };
112
+ signal_handler_1.default.once(events_1.MasterEvents.RUNNER_END, finalizeAfterSignal);
113
+ try {
114
+ return await this._profiler.profileOperation("run", () => this._run(testPaths, options));
115
+ }
116
+ finally {
117
+ signal_handler_1.default.off(events_1.MasterEvents.RUNNER_END, finalizeAfterSignal);
118
+ }
119
+ }
120
+ async _run(testPaths, { browsers, sets, grep, tag, updateRefs, requireModules, inspectMode, replMode, local, keepBrowserMode, reporters = [], }) {
84
121
  (0, validators_1.validateUnknownBrowsers)(browsers, lodash_1.default.keys(this._config.browsers));
85
122
  runtime_config_1.default.getInstance().extend({
86
123
  updateRefs,
@@ -94,7 +131,7 @@ class Testplane extends base_testplane_1.BaseTestplane {
94
131
  this._config.system.mochaOpts.timeout = 0;
95
132
  }
96
133
  const RunnerClass = await Promise.resolve().then(() => __importStar(require("./runner"))).then(m => m.MainRunner);
97
- const runner = RunnerClass.create(this._config, this._interceptors);
134
+ const runner = RunnerClass.create(this._config, this._interceptors, this._profiler.runtime);
98
135
  this.runner = runner;
99
136
  this.on(events_1.MasterEvents.TEST_FAIL, res => {
100
137
  this._fail();
@@ -104,29 +141,29 @@ class Testplane extends base_testplane_1.BaseTestplane {
104
141
  this.on(events_1.MasterEvents.RUNNER_END, async () => await this._saveFailed());
105
142
  this.on(events_1.MasterEvents.ADD_FILE_TO_REMOVE, this.addFileToRemove);
106
143
  this.testsTracker = new tests_tracker_1.TestsTracker(this);
107
- await (0, reporters_1.initReporters)(reporters, this);
144
+ await this._profiler.runtime.withSpan("testplane.phase.reporters", { name: "Initialize reporters" }, () => (0, reporters_1.initReporters)(reporters, this));
108
145
  utils_1.default.passthroughEvent(this.runner, this, lodash_1.default.values(events_1.MasterSyncEvents));
109
- utils_1.default.passthroughEventAsync(this.runner, this, lodash_1.default.values(events_1.MasterAsyncEvents));
146
+ utils_1.default.passthroughEventAsync(this.runner, this, lodash_1.default.without(lodash_1.default.values(events_1.MasterAsyncEvents), events_1.MasterEvents.PROFILER_RESULT));
110
147
  utils_1.default.passthroughEventAsync(signal_handler_1.default, this, events_1.MasterEvents.EXIT);
111
- utils_1.default.passthroughEventAsync(signal_handler_1.default, this, events_1.MasterEvents.RUNNER_END);
112
148
  utils_1.default.passthroughEventAsync(signal_handler_1.default, this.runner, events_1.MasterEvents.EXIT);
113
- await this._startServersIfNeeded();
149
+ await this._profiler.runtime.withSpan("testplane.phase.server-startup", { name: "Start development servers" }, () => this._startServersIfNeeded());
114
150
  await this._emitInitEventOnce();
115
- runner.init();
116
- (0, preload_utils_1.preloadWebdriverIO)();
117
- (0, globalFilesToRemove_1.initGlobalFilesToRemove)();
118
- if (this.config.beforeAll) {
119
- await this.config.beforeAll.call({ config: this.config }, { config: this.config });
120
- }
151
+ this._profiler.runtime.withSpan("testplane.phase.runner-init", { name: "Initialize runner and workers" }, () => {
152
+ runner.init();
153
+ (0, preload_utils_1.preloadWebdriverIO)();
154
+ (0, globalFilesToRemove_1.initGlobalFilesToRemove)();
155
+ });
156
+ await this._runConfigHook("beforeAll");
121
157
  const hasTestPathsFilter = lodash_1.default.isArray(testPaths) ? Boolean(testPaths.length) : true;
122
158
  const hasTestFilter = hasTestPathsFilter || Boolean(sets?.length) || Boolean(grep) || Boolean(tag);
123
159
  const shouldDisableSelectivity = Boolean(hasTestFilter);
124
- await runner.run(await this._readTests(testPaths, { browsers, sets, grep, tag, replMode, keepBrowserMode }), stats_1.Stats.create(this), { shouldDisableSelectivity });
160
+ const collection = await this._profiler.runtime.withSpan("testplane.phase.read-tests", { name: "Read tests" }, () => this._readTests(testPaths, { browsers, sets, grep, tag, replMode, keepBrowserMode }));
161
+ await this._profiler.runtime.withSpan("testplane.phase.execution", { name: "Execute tests" }, () => runner.run(collection, stats_1.Stats.create(this), { shouldDisableSelectivity }));
125
162
  if (!shouldDisableSelectivity) {
126
- const [updateResult, clearResult] = await Promise.allSettled([
163
+ const [updateResult, clearResult] = await this._profiler.runtime.withSpan("testplane.phase.selectivity", { name: "Update selectivity state" }, () => Promise.allSettled([
127
164
  (0, selectivity_1.updateSelectivityHashes)(this.config, this.isFailed()),
128
165
  (0, selectivity_1.clearUnusedSelectivityDumps)(this.config, this.isFailed()),
129
- ]);
166
+ ]));
130
167
  if (updateResult.status === "rejected") {
131
168
  console.error("Couldn't update selectivity state: ", updateResult.reason);
132
169
  }
@@ -134,15 +171,26 @@ class Testplane extends base_testplane_1.BaseTestplane {
134
171
  console.error("Couldn't clear stale selectivity files: ", clearResult.reason);
135
172
  }
136
173
  }
137
- if (this.config.afterAll) {
138
- await this.config.afterAll.call({ config: this.config }, { config: this.config });
139
- }
174
+ await this._runConfigHook("afterAll");
140
175
  const filesToRemove = [...new Set([...this._filesToRemove, ...(0, globalFilesToRemove_1.getGlobalFilesToRemove)()])];
141
176
  if (filesToRemove.length > 0) {
142
- await Promise.all(filesToRemove.map(path => fs_extra_1.default.remove(path)));
177
+ await this._profiler.runtime.withSpan("testplane.phase.cleanup", { name: "Clean temporary files" }, () => Promise.all(filesToRemove.map(path => fs_extra_1.default.remove(path))));
143
178
  }
144
179
  return !this.isFailed();
145
180
  }
181
+ async _runConfigHook(name) {
182
+ const hook = this.config[name];
183
+ if (!hook) {
184
+ return;
185
+ }
186
+ const runtime = this._profiler.runtime;
187
+ await runtime.withSpan(CONFIG_HOOK_PHASES[name].kind, { name: CONFIG_HOOK_PHASES[name].name }, () => runtime.withSpan("user.callback", {
188
+ minLevel: 2,
189
+ name: hook.name || name,
190
+ source: runtime.isEnabled(2) ? configCallbackSource(this._config.configPath, hook.name) : undefined,
191
+ attributes: { callback: name },
192
+ }, () => hook.call({ config: this.config }, { config: this.config })));
193
+ }
146
194
  async _saveFailed() {
147
195
  await fs_extra_1.default.outputJSON(this._config.lastFailed.output, this.failedList); // No spaces because users usually don't need to read it
148
196
  }
@@ -152,8 +200,11 @@ class Testplane extends base_testplane_1.BaseTestplane {
152
200
  addTestToRun(test, browserId) {
153
201
  return this.runner ? this.runner.addTestToRun(test, browserId) : false;
154
202
  }
155
- async readTests(testPaths, { browsers, sets, grep, tag, silent, ignore, replMode, keepBrowserMode, runnableOpts, } = {}) {
156
- const testReader = test_reader_1.TestReader.create(this._config);
203
+ async readTests(testPaths, options = {}) {
204
+ return this._profiler.profileOperation("readTests", () => this._readTestsOperation(testPaths, options));
205
+ }
206
+ async _readTestsOperation(testPaths, { browsers, sets, grep, tag, silent, ignore, replMode, keepBrowserMode, runnableOpts }) {
207
+ const testReader = test_reader_1.TestReader.create(this._config, this._profiler.runtime);
157
208
  if (!silent) {
158
209
  await this._emitInitEventOnce();
159
210
  utils_1.default.passthroughEvent(testReader, this, [
@@ -161,7 +212,7 @@ class Testplane extends base_testplane_1.BaseTestplane {
161
212
  events_1.MasterEvents.AFTER_FILE_READ,
162
213
  ]);
163
214
  }
164
- const specs = await testReader.read({
215
+ const specs = await this._profiler.runtime.withSpan("testplane.phase.test-discovery", { name: "Discover and load test files" }, () => testReader.read({
165
216
  paths: testPaths,
166
217
  browsers,
167
218
  ignore,
@@ -171,13 +222,13 @@ class Testplane extends base_testplane_1.BaseTestplane {
171
222
  replMode,
172
223
  keepBrowserMode,
173
224
  runnableOpts,
174
- });
175
- const collection = test_collection_1.TestCollection.create(specs);
176
- collection.getBrowsers().forEach(bro => {
225
+ }));
226
+ const collection = this._profiler.runtime.withSpan("testplane.phase.collection-build", { name: "Build test collection" }, () => test_collection_1.TestCollection.create(specs));
227
+ this._profiler.runtime.withSpan("testplane.phase.collection-sort", { name: "Sort test collection" }, () => collection.getBrowsers().forEach(bro => {
177
228
  if (this._config.forBrowser(bro).strictTestsOrder) {
178
229
  collection.sortTests(bro, ({ id: a }, { id: b }) => (a < b ? -1 : 1));
179
230
  }
180
- });
231
+ }));
181
232
  if (!silent) {
182
233
  this.emit(events_1.MasterEvents.AFTER_TESTS_READ, collection);
183
234
  }
@@ -230,11 +281,15 @@ class Testplane extends base_testplane_1.BaseTestplane {
230
281
  logger.error("Terminating on critical error:", err);
231
282
  }
232
283
  this._fail();
284
+ this._profiler.addPartialReason({
285
+ code: "CONTROLLED_ABORT",
286
+ message: this._profiler.sanitizeMessage(err?.message ?? "Testplane run was aborted"),
287
+ });
233
288
  if (timeout > 0) {
234
289
  setTimeout(() => {
235
290
  logger.error("Forcing shutdown...");
236
291
  logger.error(err);
237
- process.exit(1);
292
+ process.exit((0, exit_code_1.resolveExitCode)(1));
238
293
  }, timeout).unref();
239
294
  }
240
295
  if (this.viteServer) {
@@ -1 +1 @@
1
- {"version":3,"file":"testplane.js","sourceRoot":"","sources":["../../src/testplane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testplane.js","sourceRoot":"","sources":["../../src/testplane.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import type { CoordBounds, LooksSameOptions } from "looks-same";
16
16
  import type { eventWithTime as RrwebEvent } from "@rrweb/types";
17
17
  import type { runGroup } from "../browser/history";
18
18
  import type { NormalizedDependencies, SelectivityCompressionType } from "../browser/cdp/selectivity/types";
19
+ import type { ProfilerResultV1 } from "../profiler/schema";
19
20
  export type { Test } from "../test-reader/test-object/test";
20
21
  export type { Suite } from "../test-reader/test-object/suite";
21
22
  export type { TestFunction, TestFunctionCtx, TestTag } from "../test-reader/test-object/types";
@@ -206,6 +207,7 @@ export interface TestAssignedToWorkerData {
206
207
  file: string;
207
208
  sessionId: string;
208
209
  workerPid: number;
210
+ attemptId?: string;
209
211
  }
210
212
  export type MasterEventHandler<T extends BaseTestplane> = {
211
213
  (event: Events["INIT"], callback: () => Promise<void> | void): T;
@@ -213,7 +215,8 @@ export type MasterEventHandler<T extends BaseTestplane> = {
213
215
  (event: Events["RUNNER_END"], callback: (result: StatsResult) => Promise<void> | void): T;
214
216
  (event: Events["SESSION_START"], callback: AsyncSessionEventCallback): T;
215
217
  (event: Events["SESSION_END"], callback: AsyncSessionEventCallback): T;
216
- (event: Events["EXIT"], callback: () => Promise<void> | void): T;
218
+ (event: Events["EXIT"], callback: (error?: Error) => Promise<void> | void): T;
219
+ (event: Events["PROFILER_RESULT"], callback: (result: Readonly<ProfilerResultV1>) => Promise<void> | void): T;
217
220
  (event: Events["NEW_WORKER_PROCESS"], callback: (suite: WorkerProcess) => void): T;
218
221
  (event: Events["SUITE_BEGIN"], callback: (suite: Suite) => void): T;
219
222
  (event: Events["SUITE_END"], callback: (suite: Suite) => void): T;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAoHA,IAAY,WAYX;AAZD,WAAY,WAAW;IACnB,yBAAU,CAAA;IACV,yBAAU,CAAA;IACV,0BAAW,CAAA;IACX,6BAAc,CAAA;IACd,+BAAgB,CAAA;IAChB,6BAAc,CAAA;IACd,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,6BAAc,CAAA;IACd,6BAAc,CAAA;IACd,wBAAS,CAAA;AACb,CAAC,EAZW,WAAW,2BAAX,WAAW,QAYtB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAqHA,IAAY,WAYX;AAZD,WAAY,WAAW;IACnB,yBAAU,CAAA;IACV,yBAAU,CAAA;IACV,0BAAW,CAAA;IACX,6BAAc,CAAA;IACd,+BAAgB,CAAA;IAChB,6BAAc,CAAA;IACd,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,6BAAc,CAAA;IACd,6BAAc,CAAA;IACd,wBAAS,CAAA;AACb,CAAC,EAZW,WAAW,2BAAX,WAAW,QAYtB"}
@@ -0,0 +1 @@
1
+ export declare const resolveExitCode: (fallback: number) => number;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveExitCode = void 0;
4
+ const MAX_EXIT_CODE = 255;
5
+ const MIN_SIGNAL_EXIT_CODE = 129;
6
+ const normalizeExitCode = (exitCode) => {
7
+ const numericExitCode = typeof exitCode === "string" && /^(?:0|[1-9]\d*)$/.test(exitCode) ? Number(exitCode) : exitCode;
8
+ return typeof numericExitCode === "number" &&
9
+ Number.isInteger(numericExitCode) &&
10
+ numericExitCode >= 0 &&
11
+ numericExitCode <= MAX_EXIT_CODE
12
+ ? numericExitCode
13
+ : undefined;
14
+ };
15
+ const resolveExitCode = (fallback) => {
16
+ const safeFallback = normalizeExitCode(fallback) ?? 1;
17
+ const rawPendingExitCode = process.exitCode;
18
+ const pendingExitCode = normalizeExitCode(rawPendingExitCode);
19
+ if (rawPendingExitCode === null || rawPendingExitCode === undefined || pendingExitCode === 0) {
20
+ return safeFallback;
21
+ }
22
+ if (pendingExitCode === undefined) {
23
+ return safeFallback || 1;
24
+ }
25
+ return pendingExitCode >= MIN_SIGNAL_EXIT_CODE || safeFallback === 0 ? pendingExitCode : safeFallback;
26
+ };
27
+ exports.resolveExitCode = resolveExitCode;
28
+ //# sourceMappingURL=exit-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-code.js","sourceRoot":"","sources":["../../../src/utils/exit-code.ts"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,MAAM,iBAAiB,GAAG,CAAC,QAAoC,EAAsB,EAAE;IACnF,MAAM,eAAe,GACjB,OAAO,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpG,OAAO,OAAO,eAAe,KAAK,QAAQ;QACtC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC;QACjC,eAAe,IAAI,CAAC;QACpB,eAAe,IAAI,aAAa;QAChC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAU,EAAE;IACxD,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC5C,MAAM,eAAe,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE9D,IAAI,kBAAkB,KAAK,IAAI,IAAI,kBAAkB,KAAK,SAAS,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,YAAY,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,eAAe,IAAI,oBAAoB,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC;AAC1G,CAAC,CAAC;AAdW,QAAA,eAAe,mBAc1B"}
@@ -0,0 +1,43 @@
1
+ interface ResolveInfo {
2
+ request: string;
3
+ resolved?: string;
4
+ parent?: string;
5
+ }
6
+ interface LoadInfo extends ResolveInfo {
7
+ cacheHit: boolean;
8
+ moduleSystem: "cjs" | "esm";
9
+ }
10
+ export interface ModuleLoadObserver {
11
+ onResolve?(info: ResolveInfo): void;
12
+ onLoadStart?(info: LoadInfo): unknown;
13
+ onLoadEnd?(info: LoadInfo, token: unknown, error?: unknown): void;
14
+ onError?(error: unknown): void;
15
+ }
16
+ export interface ModuleObserverRegistration {
17
+ run<T>(action: () => T): T;
18
+ enter(): () => void;
19
+ dispose(): void;
20
+ }
21
+ declare class ModuleObserverRegistry {
22
+ private readonly _active;
23
+ private readonly _insideCommonJsLoad;
24
+ private _registrationCount;
25
+ private _originalResolve?;
26
+ private _originalLoad?;
27
+ private _installedResolve?;
28
+ private _installedLoad?;
29
+ private _commonJsHookState?;
30
+ private _esmHooks?;
31
+ register(observer: ModuleLoadObserver): ModuleObserverRegistration;
32
+ private _appendObserver;
33
+ private _install;
34
+ private _installCommonJsHooks;
35
+ private _installEsmHooks;
36
+ private _startLoad;
37
+ private _endLoad;
38
+ private _notify;
39
+ private _safe;
40
+ private _uninstall;
41
+ }
42
+ export declare const moduleObserverRegistry: ModuleObserverRegistry;
43
+ export {};