@overkill-dev/run 0.0.59 → 0.0.61

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 (273) hide show
  1. package/engine/coverage-artifact.d.ts +36 -0
  2. package/engine/coverage-artifact.d.ts.map +1 -0
  3. package/engine/execution-options.d.ts +4 -1
  4. package/engine/execution-options.d.ts.map +1 -1
  5. package/engine/execution-options.js.map +1 -1
  6. package/engine/execution-supervision-state.d.ts +30 -0
  7. package/engine/execution-supervision-state.d.ts.map +1 -0
  8. package/engine/execution-supervision-state.js +25 -0
  9. package/engine/execution-supervision-state.js.map +1 -0
  10. package/engine/execution-supervision.d.ts +5 -25
  11. package/engine/execution-supervision.d.ts.map +1 -1
  12. package/engine/execution-supervision.js +9 -19
  13. package/engine/execution-supervision.js.map +1 -1
  14. package/engine/execution-test-plan-cases.js +108 -71
  15. package/engine/execution-test-plan-cases.js.map +1 -1
  16. package/engine/identity.d.ts +2 -0
  17. package/engine/identity.d.ts.map +1 -1
  18. package/engine/identity.js +2 -1
  19. package/engine/identity.js.map +1 -1
  20. package/engine/reporter-event-queue.js +1 -1
  21. package/engine/reporter-event-queue.js.map +1 -1
  22. package/engine/run-result.d.ts +12 -5
  23. package/engine/run-result.d.ts.map +1 -1
  24. package/engine/run-result.js.map +1 -1
  25. package/engine/run-timings.d.ts +1 -1
  26. package/engine/run-timings.d.ts.map +1 -1
  27. package/engine/run-timings.js +3 -0
  28. package/engine/run-timings.js.map +1 -1
  29. package/engine/test-body-resource-attachment.d.ts +1 -0
  30. package/engine/test-body-resource-attachment.d.ts.map +1 -1
  31. package/engine/test-body-resource-attachment.js +1 -0
  32. package/engine/test-body-resource-attachment.js.map +1 -1
  33. package/engine/test-plan.d.ts +1 -1
  34. package/engine/test-plan.d.ts.map +1 -1
  35. package/package.json +11 -3
  36. package/packages/engine/engine.entry-point.d.ts +2 -1
  37. package/packages/engine/engine.entry-point.d.ts.map +1 -1
  38. package/packages/engine/engine.entry-point.js.map +1 -1
  39. package/packages/run/filters.entry-point.d.ts +2 -2
  40. package/packages/run/filters.entry-point.d.ts.map +1 -1
  41. package/packages/run/filters.entry-point.js +1 -1
  42. package/packages/run/filters.entry-point.js.map +1 -1
  43. package/packages/run/run.entry-point.d.ts +7 -4
  44. package/packages/run/run.entry-point.d.ts.map +1 -1
  45. package/packages/run/run.entry-point.js +3 -9
  46. package/packages/run/run.entry-point.js.map +1 -1
  47. package/readme.md +35 -6
  48. package/reporters/human-reporter-rendering.js +16 -1
  49. package/reporters/human-reporter-rendering.js.map +1 -1
  50. package/reporters/line-reporter.js +9 -0
  51. package/reporters/line-reporter.js.map +1 -1
  52. package/resources/resource-graph.d.ts +1 -0
  53. package/resources/resource-graph.d.ts.map +1 -1
  54. package/resources/resource-graph.js +2 -2
  55. package/resources/resource-graph.js.map +1 -1
  56. package/resources/resources.d.ts +1 -0
  57. package/resources/resources.d.ts.map +1 -1
  58. package/resources/resources.js.map +1 -1
  59. package/resources/runtime-definition.d.ts +2 -0
  60. package/resources/runtime-definition.d.ts.map +1 -1
  61. package/resources/runtime-definition.js +1 -0
  62. package/resources/runtime-definition.js.map +1 -1
  63. package/run/collected-run-plan.js +13 -0
  64. package/run/collected-run-plan.js.map +1 -1
  65. package/run/command-line-runner.d.ts.map +1 -1
  66. package/run/command-line-runner.js +2 -0
  67. package/run/command-line-runner.js.map +1 -1
  68. package/run/coverage-reporting.js +142 -0
  69. package/run/coverage-reporting.js.map +1 -0
  70. package/run/coverage-session.js +8 -0
  71. package/run/coverage-session.js.map +1 -0
  72. package/run/current-process-run-orchestrator.d.ts +2 -1
  73. package/run/current-process-run-orchestrator.d.ts.map +1 -1
  74. package/run/current-process-run-orchestrator.js +30 -1
  75. package/run/current-process-run-orchestrator.js.map +1 -1
  76. package/run/direct-entrypoint-collection.js +27 -0
  77. package/run/direct-entrypoint-collection.js.map +1 -0
  78. package/run/duration-history-schema.d.ts +251 -0
  79. package/run/duration-history-schema.d.ts.map +1 -0
  80. package/run/duration-history-schema.js +121 -0
  81. package/run/duration-history-schema.js.map +1 -0
  82. package/run/duration-history.d.ts +2 -2
  83. package/run/duration-history.d.ts.map +1 -1
  84. package/run/duration-history.js +3 -82
  85. package/run/duration-history.js.map +1 -1
  86. package/run/execution-plan-resolution.js +356 -0
  87. package/run/execution-plan-resolution.js.map +1 -0
  88. package/run/path-containment.js +2 -0
  89. package/run/path-containment.js.map +1 -0
  90. package/run/permission-denial-runtime-policy.js +12 -2
  91. package/run/permission-denial-runtime-policy.js.map +1 -1
  92. package/run/profile-file-glob.js +18 -0
  93. package/run/profile-file-glob.js.map +1 -1
  94. package/run/resource-lifecycle-boundaries.js +28 -9
  95. package/run/resource-lifecycle-boundaries.js.map +1 -1
  96. package/run/resource-lifecycle-cache-identity.js +4 -0
  97. package/run/resource-lifecycle-cache-identity.js.map +1 -1
  98. package/run/resource-lifecycle-composition.d.ts +1 -1
  99. package/run/resource-lifecycle-composition.d.ts.map +1 -1
  100. package/run/resource-lifecycle-composition.js +4 -4
  101. package/run/resource-lifecycle-composition.js.map +1 -1
  102. package/run/resource-lifecycle-state.d.ts +9 -1
  103. package/run/resource-lifecycle-state.d.ts.map +1 -1
  104. package/run/resource-lifecycle-state.js.map +1 -1
  105. package/run/resource-lifecycle.js +37 -5
  106. package/run/resource-lifecycle.js.map +1 -1
  107. package/run/resource-ownership-plan.d.ts +30 -0
  108. package/run/resource-ownership-plan.d.ts.map +1 -0
  109. package/run/run-collected-planning.js +9 -1
  110. package/run/run-collected-planning.js.map +1 -1
  111. package/run/run-collection-source-types.d.ts +12 -0
  112. package/run/run-collection-source-types.d.ts.map +1 -0
  113. package/run/run-collection-source.d.ts +9 -0
  114. package/run/run-collection-source.d.ts.map +1 -0
  115. package/run/run-collection-source.js +9 -0
  116. package/run/run-collection-source.js.map +1 -0
  117. package/run/run-config-defaults.js +13 -4
  118. package/run/run-config-defaults.js.map +1 -1
  119. package/run/run-config-schema.d.ts +12 -0
  120. package/run/run-config-schema.d.ts.map +1 -1
  121. package/run/run-config-schema.js +5 -0
  122. package/run/run-config-schema.js.map +1 -1
  123. package/run/run-config.d.ts +1 -1
  124. package/run/run-config.d.ts.map +1 -1
  125. package/run/run-config.js +4 -9
  126. package/run/run-config.js.map +1 -1
  127. package/run/run-coverage.js +36 -0
  128. package/run/run-coverage.js.map +1 -0
  129. package/run/run-discovery.js +1 -2
  130. package/run/run-discovery.js.map +1 -1
  131. package/run/run-empty-shard.js +3 -4
  132. package/run/run-empty-shard.js.map +1 -1
  133. package/run/run-engine-selection.d.ts +1 -1
  134. package/run/run-engine-selection.d.ts.map +1 -1
  135. package/run/run-errors.d.ts +54 -0
  136. package/run/run-errors.d.ts.map +1 -1
  137. package/run/run-errors.js +61 -0
  138. package/run/run-errors.js.map +1 -1
  139. package/run/run-execution-config.d.ts +28 -0
  140. package/run/run-execution-config.d.ts.map +1 -0
  141. package/run/run-facts.js +2 -0
  142. package/run/run-facts.js.map +1 -1
  143. package/run/run-filter-grammar.d.ts +1 -1
  144. package/run/run-filter-grammar.d.ts.map +1 -1
  145. package/run/run-if-main-options.d.ts +0 -5
  146. package/run/run-if-main-options.d.ts.map +1 -1
  147. package/run/run-if-main-options.js +0 -16
  148. package/run/run-if-main-options.js.map +1 -1
  149. package/run/run-if-main-profile.d.ts.map +1 -1
  150. package/run/run-if-main-profile.js +0 -10
  151. package/run/run-if-main-profile.js.map +1 -1
  152. package/run/run-if-main.d.ts +2 -10
  153. package/run/run-if-main.d.ts.map +1 -1
  154. package/run/run-if-main.js +56 -62
  155. package/run/run-if-main.js.map +1 -1
  156. package/run/run-in-process-execution.js +3 -3
  157. package/run/run-in-process-execution.js.map +1 -1
  158. package/run/run-input-resolution.js +11 -2
  159. package/run/run-input-resolution.js.map +1 -1
  160. package/run/run-isolated-command.js +46 -20
  161. package/run/run-isolated-command.js.map +1 -1
  162. package/run/run-isolated-process.js +68 -101
  163. package/run/run-isolated-process.js.map +1 -1
  164. package/run/run-local-command.js +131 -0
  165. package/run/run-local-command.js.map +1 -0
  166. package/run/run-local-execution.js +7 -10
  167. package/run/run-local-execution.js.map +1 -1
  168. package/run/run-local-resolution.js +10 -5
  169. package/run/run-local-resolution.js.map +1 -1
  170. package/run/run-local-test-plan.js +6 -1
  171. package/run/run-local-test-plan.js.map +1 -1
  172. package/run/run-orchestrator.d.ts +6 -0
  173. package/run/run-orchestrator.d.ts.map +1 -1
  174. package/run/run-orchestrator.entry-point.d.ts +1 -2
  175. package/run/run-orchestrator.entry-point.d.ts.map +1 -1
  176. package/run/run-orchestrator.entry-point.js +4 -4
  177. package/run/run-orchestrator.entry-point.js.map +1 -1
  178. package/run/run-orchestrator.js +11 -4
  179. package/run/run-orchestrator.js.map +1 -1
  180. package/run/run-ordering.js +36 -0
  181. package/run/run-ordering.js.map +1 -0
  182. package/run/run-request-types.d.ts +89 -0
  183. package/run/run-request-types.d.ts.map +1 -0
  184. package/run/run-selection-filters.d.ts +7 -2
  185. package/run/run-selection-filters.d.ts.map +1 -1
  186. package/run/run-selection-filters.js +114 -15
  187. package/run/run-selection-filters.js.map +1 -1
  188. package/run/run-selection.js +10 -50
  189. package/run/run-selection.js.map +1 -1
  190. package/run/run-supervised-process.js +108 -0
  191. package/run/run-supervised-process.js.map +1 -0
  192. package/run/run-support.js +9 -0
  193. package/run/run-support.js.map +1 -1
  194. package/run/run-test-plan.js +13 -5
  195. package/run/run-test-plan.js.map +1 -1
  196. package/run/run-types.d.ts +12 -95
  197. package/run/run-types.d.ts.map +1 -1
  198. package/run/run-types.js +0 -19
  199. package/run/run-types.js.map +1 -1
  200. package/run/run-validation.js +1 -1
  201. package/run/run-validation.js.map +1 -1
  202. package/run/run.d.ts +10 -0
  203. package/run/run.d.ts.map +1 -0
  204. package/run/run.js +27 -54
  205. package/run/run.js.map +1 -1
  206. package/run/runtime-matrix-expansion.js +7 -0
  207. package/run/runtime-matrix-expansion.js.map +1 -1
  208. package/run/supervised-child-process.d.ts +24 -2
  209. package/run/supervised-child-process.d.ts.map +1 -1
  210. package/run/supervised-child-process.js +40 -1
  211. package/run/supervised-child-process.js.map +1 -1
  212. package/run/supervised-child-test-plan.js +1 -0
  213. package/run/supervised-child-test-plan.js.map +1 -1
  214. package/run/supervised-child.js +2 -5
  215. package/run/supervised-child.js.map +1 -1
  216. package/run/supervised-protocol.js +2 -7
  217. package/run/supervised-protocol.js.map +1 -1
  218. package/run/supervised-run-collection.js +2 -0
  219. package/run/supervised-run-collection.js.map +1 -1
  220. package/run/supervised-run-runtime.js +4 -105
  221. package/run/supervised-run-runtime.js.map +1 -1
  222. package/run/supervised-run-state.d.ts +4 -0
  223. package/run/supervised-run-state.d.ts.map +1 -1
  224. package/run/supervised-run-state.js +22 -0
  225. package/run/supervised-run-state.js.map +1 -1
  226. package/run/supervised-run.js +11 -79
  227. package/run/supervised-run.js.map +1 -1
  228. package/run/work-distribution-config.js +1 -1
  229. package/run/work-distribution-config.js.map +1 -1
  230. package/run/work-unit-planning.js +17 -4
  231. package/run/work-unit-planning.js.map +1 -1
  232. package/run/worker-pool-command.js +3 -0
  233. package/run/worker-pool-command.js.map +1 -1
  234. package/run/worker-pool-execution.js +15 -19
  235. package/run/worker-pool-execution.js.map +1 -1
  236. package/run/worker-pool-hedged-arbitration.js +25 -7
  237. package/run/worker-pool-hedged-arbitration.js.map +1 -1
  238. package/run/worker-pool-host-protocol.js.map +1 -1
  239. package/run/worker-pool-host-task.js +9 -0
  240. package/run/worker-pool-host-task.js.map +1 -1
  241. package/run/worker-pool-host.entry-point.js +13 -13
  242. package/run/worker-pool-host.entry-point.js.map +1 -1
  243. package/run/worker-pool-lanes.js +16 -9
  244. package/run/worker-pool-lanes.js.map +1 -1
  245. package/run/worker-pool-placement-planning.js +24 -3
  246. package/run/worker-pool-placement-planning.js.map +1 -1
  247. package/run/worker-pool-protocol.js +19 -0
  248. package/run/worker-pool-protocol.js.map +1 -1
  249. package/run/worker-pool-resource-lifecycle-execution.js +143 -12
  250. package/run/worker-pool-resource-lifecycle-execution.js.map +1 -1
  251. package/run/worker-pool-routing.js +13 -1
  252. package/run/worker-pool-routing.js.map +1 -1
  253. package/run/worker-pool-runtime.js +12 -16
  254. package/run/worker-pool-runtime.js.map +1 -1
  255. package/run/worker-pool-task-events.js +13 -6
  256. package/run/worker-pool-task-events.js.map +1 -1
  257. package/run/worker-pool-task-validation.js +1 -0
  258. package/run/worker-pool-task-validation.js.map +1 -1
  259. package/run/worker-pool-worker-plan.js +1 -0
  260. package/run/worker-pool-worker-plan.js.map +1 -1
  261. package/run/worker-pool-worker-resources.js +9 -2
  262. package/run/worker-pool-worker-resources.js.map +1 -1
  263. package/run/worker-pool-worker.js +11 -6
  264. package/run/worker-pool-worker.js.map +1 -1
  265. package/sbom.cdx.json +72 -4
  266. package/run/default-run-engine.d.ts +0 -3
  267. package/run/default-run-engine.d.ts.map +0 -1
  268. package/run/direct-runtime-policy.js +0 -24
  269. package/run/direct-runtime-policy.js.map +0 -1
  270. package/run/resource-usage.d.ts +0 -17
  271. package/run/resource-usage.d.ts.map +0 -1
  272. package/run/run-if-main-facts.js +0 -95
  273. package/run/run-if-main-facts.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"run-in-process-execution.js","sourceRoot":"","sources":["../../../../source/run/run-in-process-execution.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oBAAoB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,uBAAuB,EAC1B,MAAM,0BAA0B,CAAC;AAiBlC,SAAS,kBAAkB,CAAC,WAAwB;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,WAAwB,EACxB,YAAyC,EACzC,aAAsC,EACtC,SAAsC,IAAI;IAE1C,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC1C,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,uBAAuB,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"run-in-process-execution.js","sourceRoot":"","sources":["../../../../source/run/run-in-process-execution.ts"],"names":[],"mappings":"AACA,OAAO,EACH,oBAAoB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,uBAAuB,EAE1B,MAAM,0BAA0B,CAAC;AAelC,SAAS,kBAAkB,CAAC,WAAwB;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,WAAwB,EACxB,YAAyC,EACzC,OAA8B;IAE9B,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC1C,OAAO,MAAM,oBAAoB,CAC7B,WAAW,EACX,YAAY,EACZ,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,aAAa,CACxB,CAAC;IACN,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,uBAAuB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC"}
@@ -12,13 +12,22 @@ function assertWorkerCountSupported(request, profile) {
12
12
  invalidRequest('Worker count can only be requested for worker-pool profiles.');
13
13
  }
14
14
  }
15
+ function assertCoverageSupported(request, profile) {
16
+ if (request.coverage && profile.testFamily !== 'microtest') {
17
+ invalidRequest('Coverage can only be requested for microtest profiles.');
18
+ }
19
+ }
20
+ function assertProfileRequestSupported(request, profile) {
21
+ assertCoverageSupported(request, profile);
22
+ assertMicrotestCaptureSupported(request, profile);
23
+ assertWorkerCountSupported(request, profile);
24
+ }
15
25
  export async function readResolvedRunInput(command, dependencies) {
16
26
  validateRunInput(command);
17
27
  const request = freezeValue(copyRunRequest(command.request));
18
28
  const config = freezeValue(copyRunConfig(command.config));
19
29
  const profile = selectedProfile(request, config);
20
- assertMicrotestCaptureSupported(request, profile);
21
- assertWorkerCountSupported(request, profile);
30
+ assertProfileRequestSupported(request, profile);
22
31
  assertSupportedProcessEngine(command, profile);
23
32
  const discovery = freezeValue(await dependencies.discoverRunFilesWithProjectRoot({
24
33
  cwd: command.cwd,
@@ -1 +1 @@
1
- {"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACd,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACH,4BAA4B,EAC5B,gBAAgB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAWjD,SAAS,+BAA+B,CACpC,OAAmB,EACnB,OAAyB;IAEzB,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACnE,cAAc,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmB,EAAE,OAAyB;IAC9E,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC/E,cAAc,CAAC,8DAA8D,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAAmB,EACnB,YAAyC;IAEzC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,+BAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7C,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,CACzB,MAAM,YAAY,CAAC,+BAA+B,CAAC;QAC/C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,KAAK;KAC9B,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../../../../source/run/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACH,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,WAAW,EACd,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EACH,4BAA4B,EAC5B,gBAAgB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAWjD,SAAS,+BAA+B,CACpC,OAAmB,EACnB,OAAyB;IAEzB,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACnE,cAAc,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAmB,EAAE,OAAyB;IAC9E,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC/E,cAAc,CAAC,8DAA8D,CAAC,CAAC;IACnF,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAmB,EAAE,OAAyB;IAC3E,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACzD,cAAc,CAAC,wDAAwD,CAAC,CAAC;IAC7E,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAmB,EAAE,OAAyB;IACjF,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,+BAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,OAAmB,EACnB,YAAyC;IAEzC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChD,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,CACzB,MAAM,YAAY,CAAC,+BAA+B,CAAC;QAC/C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,KAAK;KAC9B,CAAC,CACL,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;AAC5G,CAAC"}
@@ -1,10 +1,30 @@
1
+ import { assertDirectEntrypointCollectionMatches } from "./direct-entrypoint-collection.js";
2
+ import { createLocalTestPlan } from "./run-local-test-plan.js";
1
3
  import { resolveResourceUsagePolicy } from "./run-facts.js";
4
+ import { runCollectionRoot } from "./run-collection-source.js";
2
5
  function isolatedEngine(command) {
3
6
  if (command.engine.kind === 'instance') {
4
7
  throw new Error('Instance engines cannot run in supervised children.');
5
8
  }
6
9
  return command.engine;
7
10
  }
11
+ export async function createExpectedDirectEntrypointPlan(command, dependencies, input, source) {
12
+ return source.kind === 'direct-entrypoint'
13
+ ? await createLocalTestPlan({
14
+ command,
15
+ definitionLocationCapture: 'enabled',
16
+ dependencies,
17
+ files: input.files,
18
+ profile: input.profile,
19
+ source
20
+ })
21
+ : null;
22
+ }
23
+ export function assertExpectedDirectEntrypointCollection(expected, actual) {
24
+ if (expected !== null) {
25
+ assertDirectEntrypointCollectionMatches(expected, actual);
26
+ }
27
+ }
8
28
  function supervisedCapabilityRestrictions(profile, command) {
9
29
  if (profile.testFamily === 'integration') {
10
30
  return { mode: 'disabled' };
@@ -26,57 +46,63 @@ function createSupervisedCommandBase(input) {
26
46
  definitionLocationCapture: input.definitionLocationCapture,
27
47
  engine: isolatedEngine(input.command),
28
48
  hardTimeoutMilliseconds: input.profile.timeouts.hardMilliseconds,
49
+ maxConcurrency: input.profile.execution.maxConcurrency,
29
50
  paths: resolvedPaths(input.files),
30
51
  resourceBudgets: resourceUsagePolicy.budgets,
31
52
  resourceUsageSamplingIntervalMilliseconds: resourceUsagePolicy.samplingIntervalMilliseconds,
53
+ root: runCollectionRoot(input.source, input.command.cwd),
32
54
  scheduling: input.profile.execution.scheduling,
33
55
  testFamily: input.profile.testFamily,
34
56
  timeoutMilliseconds: input.profile.timeouts.softMilliseconds
35
57
  };
36
58
  }
37
- export function createSupervisedCollectCommand(command, profile, files) {
59
+ export function createSupervisedCollectCommand(command, profile, files, source) {
38
60
  return {
39
61
  ...createSupervisedCommandBase({
40
62
  capture: 'buffered',
41
63
  command,
42
64
  definitionLocationCapture: 'enabled',
43
65
  files,
44
- profile
66
+ profile,
67
+ source
45
68
  }),
46
69
  kind: 'collect'
47
70
  };
48
71
  }
49
- export function createSupervisedRunCommand(command, profile, files) {
72
+ export function createSupervisedRunCommand(command, profile, files, source) {
50
73
  return {
51
74
  ...createSupervisedCommandBase({
52
75
  capture: command.request.capture,
53
76
  command,
54
- definitionLocationCapture: 'disabled',
77
+ definitionLocationCapture: source.kind === 'direct-entrypoint' ? 'enabled' : 'disabled',
55
78
  files,
56
- profile
79
+ profile,
80
+ source
57
81
  }),
58
82
  kind: 'run'
59
83
  };
60
84
  }
61
- export function createWorkerPoolCommand(command, definitionLocationCapture, profile, files) {
62
- const resourceUsagePolicy = resolveResourceUsagePolicy(command.request, profile);
85
+ export function createWorkerPoolCommand(input) {
86
+ const resourceUsagePolicy = resolveResourceUsagePolicy(input.command.request, input.profile);
63
87
  return {
64
- collectionTimeoutMilliseconds: profile.timeouts.collectionMilliseconds,
65
- cwd: command.cwd,
66
- definitionLocationCapture,
67
- engine: isolatedEngine(command),
68
- hardTimeoutMilliseconds: profile.timeouts.hardMilliseconds,
69
- hostProcess: profile.execution.processModel === 'worker-pool'
70
- ? profile.execution.hostProcess
88
+ collectionTimeoutMilliseconds: input.profile.timeouts.collectionMilliseconds,
89
+ cwd: input.command.cwd,
90
+ definitionLocationCapture: input.definitionLocationCapture,
91
+ engine: isolatedEngine(input.command),
92
+ hardTimeoutMilliseconds: input.profile.timeouts.hardMilliseconds,
93
+ hostProcess: input.profile.execution.processModel === 'worker-pool'
94
+ ? input.profile.execution.hostProcess
71
95
  : { kind: 'direct' },
72
- paths: resolvedPaths(files),
96
+ maxConcurrency: input.profile.execution.maxConcurrency,
97
+ paths: resolvedPaths(input.files),
73
98
  resourceBudgets: resourceUsagePolicy.budgets,
74
99
  resourceUsageSamplingIntervalMilliseconds: resourceUsagePolicy.samplingIntervalMilliseconds,
75
- scheduling: profile.execution.scheduling,
76
- testFamily: profile.testFamily,
77
- timeoutMilliseconds: profile.timeouts.softMilliseconds,
78
- workerLifecycle: profile.execution.processModel === 'worker-pool'
79
- ? profile.execution.workerLifecycle
100
+ root: runCollectionRoot(input.source, input.command.cwd),
101
+ scheduling: input.profile.execution.scheduling,
102
+ testFamily: input.profile.testFamily,
103
+ timeoutMilliseconds: input.profile.timeouts.softMilliseconds,
104
+ workerLifecycle: input.profile.execution.processModel === 'worker-pool'
105
+ ? input.profile.execution.workerLifecycle
80
106
  : 'reuse'
81
107
  };
82
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-isolated-command.js","sourceRoot":"","sources":["../../../../source/run/run-isolated-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-isolated-command.js","sourceRoot":"","sources":["../../../../source/run/run-isolated-command.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { createResultFromResolutionError, reportCollectionErrorResult } from "./run-collection-error-result.js";
2
2
  import { createResolvedRunFromCollection } from "./run-collected-resolution.js";
3
3
  import { readResolvedRunInput } from "./run-input-resolution.js";
4
- import { createSupervisedCollectCommand, createSupervisedRunCommand, createWorkerPoolCommand } from "./run-isolated-command.js";
4
+ import { assertExpectedDirectEntrypointCollection, createExpectedDirectEntrypointPlan, createWorkerPoolCommand } from "./run-isolated-command.js";
5
5
  import { finalizeResultWithDurationHistory, readRunDurationHistory } from "./run-support.js";
6
- import { collectSupervisedRun } from "./supervised-run-collection.js";
7
- import { executeSupervisedRun, runSupervisedCommand } from "./supervised-run.js";
8
- import { collectWorkerPoolRun, executeWorkerPoolRun, runWorkerPoolCommand } from "./worker-pool-run.js";
6
+ import { collectWorkerPoolRun, runWorkerPoolCommand } from "./worker-pool-run.js";
7
+ import { createSupervisedResolvedRun, createSupervisedRunResult } from "./run-supervised-process.js";
9
8
  const emptyCollectionTimingMetadata = Object.freeze({
10
9
  label: null,
11
10
  processId: null,
@@ -13,6 +12,9 @@ const emptyCollectionTimingMetadata = Object.freeze({
13
12
  workerId: null
14
13
  });
15
14
  async function createResolvedExecutionRun(resolution) {
15
+ if (resolution.expectedDirectPlan !== null) {
16
+ assertExpectedDirectEntrypointCollection(resolution.expectedDirectPlan, resolution.collection.collectedPlan);
17
+ }
16
18
  return await createResolvedRunFromCollection({
17
19
  allowEmptySelection: resolution.allowEmptySelection,
18
20
  collection: resolution.collection,
@@ -36,10 +38,25 @@ async function readWorkerPoolDurationHistory(input, dependencies) {
36
38
  }
37
39
  return await readRunDurationHistory(dependencies, input.projectRoot, input.config.runtimeStateDir);
38
40
  }
39
- async function createWorkerPoolResolvedRun(command, dependencies, input, timing) {
40
- const collection = await (timing?.measureAsync('collection.import', emptyCollectionTimingMetadata, async function collectTimedWorkerPoolRun() {
41
- return await collectWorkerPoolRun(createWorkerPoolCommand(command, 'enabled', input.profile, input.files), dependencies, timing);
42
- }) ?? collectWorkerPoolRun(createWorkerPoolCommand(command, 'enabled', input.profile, input.files), dependencies, null));
41
+ async function createWorkerPoolResolvedRun(command, dependencies, input, options) {
42
+ const expected = options.source.kind === 'direct-entrypoint'
43
+ ? await createExpectedDirectEntrypointPlan(command, dependencies, input, options.source)
44
+ : null;
45
+ const collection = await (options.timing?.measureAsync('collection.import', emptyCollectionTimingMetadata, async function collectTimedWorkerPoolRun() {
46
+ return await collectWorkerPoolRun(createWorkerPoolCommand({
47
+ command,
48
+ definitionLocationCapture: 'enabled',
49
+ files: input.files,
50
+ profile: input.profile,
51
+ source: options.source
52
+ }), dependencies, options.timing);
53
+ }) ?? collectWorkerPoolRun(createWorkerPoolCommand({
54
+ command,
55
+ definitionLocationCapture: 'enabled',
56
+ files: input.files,
57
+ profile: input.profile,
58
+ source: options.source
59
+ }), dependencies, null));
43
60
  const durationHistoryIndex = await readWorkerPoolDurationHistory(input, dependencies);
44
61
  return await createResolvedExecutionRun({
45
62
  allowEmptySelection: false,
@@ -47,125 +64,75 @@ async function createWorkerPoolResolvedRun(command, dependencies, input, timing)
47
64
  command,
48
65
  dependencies,
49
66
  durationHistoryIndex,
67
+ expectedDirectPlan: expected,
50
68
  input,
51
69
  planKind: 'worker-pool'
52
70
  });
53
71
  }
54
- async function createSupervisedResolvedRun(command, dependencies, input, timing) {
55
- const collection = await (timing?.measureAsync('collection.import', emptyCollectionTimingMetadata, async function collectTimedSupervisedRun() {
56
- return await collectSupervisedRun(createSupervisedCollectCommand(command, input.profile, input.files), dependencies, timing);
57
- }) ?? collectSupervisedRun(createSupervisedCollectCommand(command, input.profile, input.files), dependencies, null));
58
- return await createResolvedExecutionRun({
59
- allowEmptySelection: false,
60
- collection,
61
- command,
62
- dependencies,
63
- durationHistoryIndex: null,
64
- input,
65
- planKind: 'supervised'
66
- });
67
- }
68
- export function createIsolatedResolvedRun(command, dependencies, input, timing = null) {
72
+ export function createIsolatedResolvedRun(command, dependencies, input, options) {
69
73
  if (input.profile.execution.processModel === 'supervised-process') {
70
- return createSupervisedResolvedRun(command, dependencies, input, timing);
74
+ return createSupervisedResolvedRun({
75
+ command,
76
+ dependencies,
77
+ input,
78
+ source: options.source,
79
+ timing: options.timing
80
+ });
71
81
  }
72
82
  if (input.profile.execution.processModel === 'worker-pool') {
73
- return createWorkerPoolResolvedRun(command, dependencies, input, timing);
83
+ return createWorkerPoolResolvedRun(command, dependencies, input, options);
74
84
  }
75
85
  return null;
76
86
  }
77
- function addRunnerErrors(result, runnerErrors) {
78
- if (runnerErrors.length === 0) {
79
- return result;
80
- }
81
- return {
82
- ...result,
83
- runnerErrors: [...runnerErrors, ...result.runnerErrors],
84
- status: 'failed'
85
- };
86
- }
87
- async function createSupervisedRunResult(command, dependencies, timing) {
88
- const input = await readResolvedRunInput(command, dependencies);
89
- if (input.profile.execution.processModel !== 'supervised-process') {
90
- throw new Error('Expected supervised-process profile.');
91
- }
92
- try {
93
- return await runSupervisedCommand(createSupervisedRunCommand(command, input.profile, input.files), dependencies, async function createResolvedRunAfterCollection(collection) {
94
- return await createResolvedExecutionRun({
95
- allowEmptySelection: true,
96
- collection,
97
- command,
98
- dependencies,
99
- durationHistoryIndex: null,
100
- input,
101
- planKind: 'supervised'
102
- });
103
- }, {
104
- async finalizeResult(resolvedRun, result) {
105
- return await finalizeResultWithDurationHistory(dependencies, resolvedRun, result, timing);
106
- },
107
- timing
87
+ async function executeWorkerPoolRunResult(options) {
88
+ const { command, dependencies, input, source, timing } = options;
89
+ const expected = source.kind === 'direct-entrypoint'
90
+ ? await createExpectedDirectEntrypointPlan(command, dependencies, input, source)
91
+ : null;
92
+ const durationHistoryIndex = await readWorkerPoolDurationHistory(input, dependencies);
93
+ return await runWorkerPoolCommand(createWorkerPoolCommand({
94
+ command,
95
+ definitionLocationCapture: source.kind === 'direct-entrypoint' ? 'enabled' : 'disabled',
96
+ files: input.files,
97
+ profile: input.profile,
98
+ source
99
+ }), dependencies, async function createResolvedRunAfterCollection(collection) {
100
+ return await createResolvedExecutionRun({
101
+ allowEmptySelection: true,
102
+ collection,
103
+ command,
104
+ dependencies,
105
+ durationHistoryIndex,
106
+ expectedDirectPlan: expected,
107
+ input,
108
+ planKind: 'worker-pool'
108
109
  });
109
- }
110
- catch (error) {
111
- return await reportCollectionErrorResult(command, dependencies, createResultFromResolutionError(error, null), timing);
112
- }
110
+ }, {
111
+ async finalizeResult(resolvedRun, completion) {
112
+ return await finalizeResultWithDurationHistory(dependencies, resolvedRun, completion.result, timing);
113
+ },
114
+ timing
115
+ });
113
116
  }
114
- async function createWorkerPoolRunResult(command, dependencies, timing) {
117
+ async function createWorkerPoolRunResult(command, dependencies, timing, source) {
115
118
  const input = await readResolvedRunInput(command, dependencies);
116
119
  if (input.profile.execution.processModel !== 'worker-pool') {
117
120
  throw new Error('Expected worker-pool profile.');
118
121
  }
119
122
  try {
120
- const durationHistoryIndex = await readWorkerPoolDurationHistory(input, dependencies);
121
- return await runWorkerPoolCommand(createWorkerPoolCommand(command, 'disabled', input.profile, input.files), dependencies, async function createResolvedRunAfterCollection(collection) {
122
- return await createResolvedExecutionRun({
123
- allowEmptySelection: true,
124
- collection,
125
- command,
126
- dependencies,
127
- durationHistoryIndex,
128
- input,
129
- planKind: 'worker-pool'
130
- });
131
- }, {
132
- async finalizeResult(resolvedRun, completion) {
133
- return await finalizeResultWithDurationHistory(dependencies, resolvedRun, completion.result, timing);
134
- },
135
- timing
136
- });
123
+ return await executeWorkerPoolRunResult({ command, dependencies, input, source, timing });
137
124
  }
138
125
  catch (error) {
139
126
  return await reportCollectionErrorResult(command, dependencies, createResultFromResolutionError(error, null), timing);
140
127
  }
141
128
  }
142
- export function runIsolatedProcessCommand(command, dependencies, timing = null) {
129
+ export function runIsolatedProcessCommand(command, dependencies, options) {
143
130
  const processModel = command.config.profiles[command.request.profile]?.execution.processModel;
144
131
  if (processModel === 'supervised-process') {
145
- return createSupervisedRunResult(command, dependencies, timing);
132
+ return createSupervisedRunResult(command, dependencies, options.timing, options.source);
146
133
  }
147
134
  if (processModel === 'worker-pool') {
148
- return createWorkerPoolRunResult(command, dependencies, timing);
149
- }
150
- return null;
151
- }
152
- export async function executeNonLocalResolvedRun(resolvedRun, dependencies, runtimePolicy, timing = null) {
153
- if (resolvedRun.facts.execution.processModel === 'supervised-process') {
154
- const result = await executeSupervisedRun(resolvedRun, dependencies, {
155
- async finalizeResult(supervisedRun, finalResult) {
156
- return await finalizeResultWithDurationHistory(dependencies, supervisedRun, finalResult, timing);
157
- },
158
- timing
159
- });
160
- return addRunnerErrors(result, runtimePolicy?.takeRunErrors() ?? []);
161
- }
162
- if (resolvedRun.facts.execution.processModel === 'worker-pool') {
163
- return await executeWorkerPoolRun(resolvedRun, dependencies, {
164
- async finalizeResult(workerPoolRun, completion) {
165
- return await finalizeResultWithDurationHistory(dependencies, workerPoolRun, completion.result, timing);
166
- },
167
- timing
168
- });
135
+ return createWorkerPoolRunResult(command, dependencies, options.timing, options.source);
169
136
  }
170
137
  return null;
171
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-isolated-process.js","sourceRoot":"","sources":["../../../../source/run/run-isolated-process.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,2BAA2B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,+BAA+B,EAElC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,oBAAoB,EAEvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACH,iCAAiC,EACjC,sBAAsB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,oBAAoB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,sBAAsB,CAAC;AAc9B,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACjB,CAAC,CAAC;AAYH,KAAK,UAAU,0BAA0B,CAAC,UAAoC;IAC1E,OAAO,MAAM,+BAA+B,CAAC;QACzC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;QAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;QACrD,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;QAC/B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;QAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;QACjC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;QACzC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO;KACpC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,6BAA6B,CACxC,KAAuB,EACvB,YAAyC;IAEzC,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa;QACjF,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,KAAK,2BAA2B,CAAC;IAE7E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,sBAAsB,CAC/B,YAAY,EACZ,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,MAAM,CAAC,eAAe,CAC/B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,MAAmC;IAEnC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAC1C,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,UAAU,yBAAyB;QACpC,OAAO,MAAM,oBAAoB,CAC7B,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EACvE,YAAY,EACZ,MAAM,CACT,CAAC;IACN,CAAC,CACJ,IAAI,oBAAoB,CACrB,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EACvE,YAAY,EACZ,IAAI,CACP,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,MAAM,6BAA6B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAEtF,OAAO,MAAM,0BAA0B,CAAC;QACpC,mBAAmB,EAAE,KAAK;QAC1B,UAAU;QACV,OAAO;QACP,YAAY;QACZ,oBAAoB;QACpB,KAAK;QACL,QAAQ,EAAE,aAAa;KAC1B,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,2BAA2B,CACtC,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,MAAmC;IAEnC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAC1C,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,UAAU,yBAAyB;QACpC,OAAO,MAAM,oBAAoB,CAC7B,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EACnE,YAAY,EACZ,MAAM,CACT,CAAC;IACN,CAAC,CACJ,IAAI,oBAAoB,CACrB,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EACnE,YAAY,EACZ,IAAI,CACP,CAAC,CAAC;IAEH,OAAO,MAAM,0BAA0B,CAAC;QACpC,mBAAmB,EAAE,KAAK;QAC1B,UAAU;QACV,OAAO;QACP,YAAY;QACZ,oBAAoB,EAAE,IAAI;QAC1B,KAAK;QACL,QAAQ,EAAE,YAAY;KACzB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,OAAmB,EACnB,YAAyC,EACzC,KAAuB,EACvB,SAAsC,IAAI;IAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAChE,OAAO,2BAA2B,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QACzD,OAAO,2BAA2B,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAiB,EAAE,YAA0D;IAClG,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,GAAG,MAAM;QACT,YAAY,EAAE,CAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,YAAY,CAAE;QACzD,MAAM,EAAE,QAAQ;KACnB,CAAC;AACN,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,OAAmB,EACnB,YAAyC,EACzC,MAAmC;IAEnC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC;QACD,OAAO,MAAM,oBAAoB,CAC7B,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAC/D,YAAY,EACZ,KAAK,UAAU,gCAAgC,CAAC,UAAU;YACtD,OAAO,MAAM,0BAA0B,CAAC;gBACpC,mBAAmB,EAAE,IAAI;gBACzB,UAAU;gBACV,OAAO;gBACP,YAAY;gBACZ,oBAAoB,EAAE,IAAI;gBAC1B,KAAK;gBACL,QAAQ,EAAE,YAAY;aACzB,CAAC,CAAC;QACP,CAAC,EACD;YACI,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;gBACpC,OAAO,MAAM,iCAAiC,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM;SACT,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO,MAAM,2BAA2B,CACpC,OAAO,EACP,YAAY,EACZ,+BAA+B,CAAC,KAAK,EAAE,IAAI,CAAC,EAC5C,MAAM,CACT,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,OAAmB,EACnB,YAAyC,EACzC,MAAmC;IAEnC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC;QACD,MAAM,oBAAoB,GAAG,MAAM,6BAA6B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAEtF,OAAO,MAAM,oBAAoB,CAC7B,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EACxE,YAAY,EACZ,KAAK,UAAU,gCAAgC,CAAC,UAAU;YACtD,OAAO,MAAM,0BAA0B,CAAC;gBACpC,mBAAmB,EAAE,IAAI;gBACzB,UAAU;gBACV,OAAO;gBACP,YAAY;gBACZ,oBAAoB;gBACpB,KAAK;gBACL,QAAQ,EAAE,aAAa;aAC1B,CAAC,CAAC;QACP,CAAC,EACD;YACI,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU;gBACxC,OAAO,MAAM,iCAAiC,CAC1C,YAAY,EACZ,WAAW,EACX,UAAU,CAAC,MAAM,EACjB,MAAM,CACT,CAAC;YACN,CAAC;YACD,MAAM;SACT,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO,MAAM,2BAA2B,CACpC,OAAO,EACP,YAAY,EACZ,+BAA+B,CAAC,KAAK,EAAE,IAAI,CAAC,EAC5C,MAAM,CACT,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,OAAmB,EACnB,YAAyC,EACzC,SAAsC,IAAI;IAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;IAE9F,IAAI,YAAY,KAAK,oBAAoB,EAAE,CAAC;QACxC,OAAO,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;QACjC,OAAO,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,WAAwB,EACxB,YAAyC,EACzC,aAAsC,EACtC,SAAsC,IAAI;IAE1C,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,KAAK,oBAAoB,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE;YACjE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW;gBAC3C,OAAO,MAAM,iCAAiC,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACrG,CAAC;YACD,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE,YAAY,EAAE;YACzD,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,UAAU;gBAC1C,OAAO,MAAM,iCAAiC,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3G,CAAC;YACD,MAAM;SACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"run-isolated-process.js","sourceRoot":"","sources":["../../../../source/run/run-isolated-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { createResultFromResolutionError, reportCollectionErrorResult } from "./run-collection-error-result.js";
2
+ import { coverageExecutionCompleted, startCoverageSession } from "./run-coverage.js";
3
+ import { executeInProcessResolvedRun } from "./run-in-process-execution.js";
4
+ import { readResolvedRunInput } from "./run-input-resolution.js";
5
+ import { createLocalRunOrEmptySelectionResult, createLocalRunOrEmptySelectionResultFromInput } from "./run-local-resolution.js";
6
+ import { assertRunnableResourceUsagePolicy, createRunRuntimePolicy, finalizeResultWithDurationHistory } from "./run-support.js";
7
+ import { emptyTimingSpanMetadata } from "./run-timing-collection.js";
8
+ function isRunResult(value) {
9
+ return Object.hasOwn(value, 'summary');
10
+ }
11
+ async function resolveRunWithRuntimePolicy(resolveRun, runtimePolicy) {
12
+ return runtimePolicy === null ? await resolveRun() : await runtimePolicy.runLoad(resolveRun);
13
+ }
14
+ async function createLocalRunResult(command, dependencies, runtimePolicy, options) {
15
+ const resolveRun = async function resolveLocalRunInsidePolicy() {
16
+ return await options.timing.measureAsync('collection.resolve', emptyTimingSpanMetadata(), async function createTimedLocalRunOrEmptySelectionResult() {
17
+ return await createLocalRunOrEmptySelectionResult(command, dependencies, options.source);
18
+ });
19
+ };
20
+ try {
21
+ return await resolveRunWithRuntimePolicy(resolveRun, runtimePolicy);
22
+ }
23
+ catch (error) {
24
+ try {
25
+ return createResultFromResolutionError(error, runtimePolicy);
26
+ }
27
+ catch {
28
+ runtimePolicy?.takeRunErrors();
29
+ throw error;
30
+ }
31
+ }
32
+ }
33
+ async function executeResolvedRun(resolvedRun, dependencies, runtimePolicy, timing) {
34
+ assertRunnableResourceUsagePolicy(resolvedRun.facts.execution.resourceUsagePolicy);
35
+ return await executeInProcessResolvedRun(resolvedRun, dependencies, {
36
+ async finalizeResult(run, result) {
37
+ return await finalizeResultWithDurationHistory(dependencies, run, result, timing);
38
+ },
39
+ runtimePolicy,
40
+ timing
41
+ });
42
+ }
43
+ async function resolveCoverageLocalRun(resolution) {
44
+ const { command, dependencies, input, runtimePolicy, source, timing } = resolution;
45
+ try {
46
+ return await resolveRunWithRuntimePolicy(async function resolveCoveredLocalRun() {
47
+ return await timing.measureAsync('collection.resolve', emptyTimingSpanMetadata(), async function createCoveredLocalRun() {
48
+ return await createLocalRunOrEmptySelectionResultFromInput(command, dependencies, input, source);
49
+ });
50
+ }, runtimePolicy);
51
+ }
52
+ catch (error) {
53
+ return createResultFromResolutionError(error, runtimePolicy);
54
+ }
55
+ }
56
+ async function executeCoverageLocalRun(execution) {
57
+ const { command, dependencies, input, session, source, timing } = execution;
58
+ const runtimePolicy = createRunRuntimePolicy(command.request, dependencies);
59
+ const resolvedRun = await resolveCoverageLocalRun({
60
+ command,
61
+ dependencies,
62
+ input,
63
+ runtimePolicy,
64
+ source,
65
+ timing
66
+ });
67
+ if (isRunResult(resolvedRun)) {
68
+ const finalResult = await session.finalize(resolvedRun, coverageExecutionCompleted(resolvedRun));
69
+ return await reportCollectionErrorResult(command, dependencies, finalResult, timing);
70
+ }
71
+ return await executeInProcessResolvedRun(resolvedRun, dependencies, {
72
+ async finalizeResult(run, result) {
73
+ const coverageResult = await session.finalize(result, coverageExecutionCompleted(result));
74
+ return await finalizeResultWithDurationHistory(dependencies, run, coverageResult, timing);
75
+ },
76
+ runtimePolicy,
77
+ timing
78
+ });
79
+ }
80
+ async function startLocalCoverageSession(command, dependencies, input, timing) {
81
+ try {
82
+ const session = await startCoverageSession({
83
+ processModel: 'in-process',
84
+ projectRoot: input.projectRoot,
85
+ runtimeStateDir: input.config.runtimeStateDir,
86
+ testFiles: input.files.map(function testFilePath(file) {
87
+ return file.file;
88
+ }),
89
+ timing
90
+ });
91
+ return { kind: 'started', session };
92
+ }
93
+ catch (error) {
94
+ const result = await reportCollectionErrorResult(command, dependencies, createResultFromResolutionError(error, null), timing);
95
+ return { kind: 'error', result };
96
+ }
97
+ }
98
+ async function createCoverageLocalRunResult(command, dependencies, timing, source) {
99
+ const input = await readResolvedRunInput(command, dependencies);
100
+ const sessionStart = await startLocalCoverageSession(command, dependencies, input, timing);
101
+ if (sessionStart.kind === 'error') {
102
+ return sessionStart.result;
103
+ }
104
+ try {
105
+ return await executeCoverageLocalRun({
106
+ command,
107
+ dependencies,
108
+ input,
109
+ session: sessionStart.session,
110
+ source,
111
+ timing
112
+ });
113
+ }
114
+ finally {
115
+ await sessionStart.session.dispose();
116
+ }
117
+ }
118
+ async function runOrdinaryLocalCommand(command, dependencies, timing, source) {
119
+ const runtimePolicy = createRunRuntimePolicy(command.request, dependencies);
120
+ const resolvedRun = await createLocalRunResult(command, dependencies, runtimePolicy, { source, timing });
121
+ if (isRunResult(resolvedRun)) {
122
+ return await reportCollectionErrorResult(command, dependencies, resolvedRun, timing);
123
+ }
124
+ return await executeResolvedRun(resolvedRun, dependencies, runtimePolicy, timing);
125
+ }
126
+ export async function runLocalCommand(command, dependencies, timing, source) {
127
+ return command.request.coverage
128
+ ? await createCoverageLocalRunResult(command, dependencies, timing, source)
129
+ : await runOrdinaryLocalCommand(command, dependencies, timing, source);
130
+ }
131
+ //# sourceMappingURL=run-local-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-local-command.js","sourceRoot":"","sources":["../../../../source/run/run-local-command.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- import { finalizeResultWithDurationHistory, createRunResourceRuntimePolicy } from "./run-support.js";
1
+ import { createRunResourceRuntimePolicy, engineExecution } from "./run-support.js";
2
2
  import { createResourceLifecycleTiming } from "./resource-lifecycle-timing.js";
3
3
  function currentRunStartTime(dependencies) {
4
4
  const startedAt = new Date(dependencies.wallClock.currentUnixEpochMilliseconds);
5
5
  return startedAt.toISOString();
6
6
  }
7
- function resolveEngineExecutionMode(scheduling) {
8
- return scheduling === 'concurrent' ? 'concurrent-in-process' : 'serial-in-process';
9
- }
10
7
  function createExecutionResourceUsageTracker(policy, dependencies) {
11
8
  if (!policy.measure) {
12
9
  return null;
@@ -15,26 +12,26 @@ function createExecutionResourceUsageTracker(policy, dependencies) {
15
12
  samplingIntervalMilliseconds: policy.samplingIntervalMilliseconds
16
13
  });
17
14
  }
18
- export async function executeLocalResolvedRun(resolvedRun, dependencies, runtimePolicy, timing = null) {
15
+ export async function executeLocalResolvedRun(resolvedRun, dependencies, options) {
19
16
  const { resourceUsagePolicy } = resolvedRun.facts.execution;
20
- const resourceTiming = timing === null
17
+ const resourceTiming = options.timing === null
21
18
  ? null
22
19
  : createResourceLifecycleTiming({
23
20
  clock: dependencies.wallClock,
24
21
  processId: String(process.pid),
25
- target: { kind: 'parent', record: timing.record },
22
+ target: { kind: 'parent', record: options.timing.record },
26
23
  workerId: null
27
24
  });
28
25
  return await dependencies.execute(resolvedRun.plan.testPlan, {
29
- execution: { mode: resolveEngineExecutionMode(resolvedRun.facts.execution.scheduling) },
26
+ execution: engineExecution(resolvedRun.facts.execution.scheduling, resolvedRun.facts.execution.maxConcurrency),
30
27
  outputRenderer: resolvedRun.config.outputRenderer,
31
28
  async finalizeResult(result) {
32
- return await finalizeResultWithDurationHistory(dependencies, resolvedRun, result, timing);
29
+ return await options.finalizeResult(resolvedRun, result);
33
30
  },
34
31
  reporters: resolvedRun.reporters,
35
32
  resourceBudgets: resourceUsagePolicy.budgets,
36
33
  resourceUsageTracker: createExecutionResourceUsageTracker(resourceUsagePolicy, dependencies),
37
- runtimePolicy: createRunResourceRuntimePolicy(resolvedRun.plan.testPlan.cases, runtimePolicy, resourceTiming),
34
+ runtimePolicy: createRunResourceRuntimePolicy(resolvedRun.plan.testPlan.cases, options.runtimePolicy, resourceTiming),
38
35
  runFacts: resolvedRun.facts,
39
36
  startedAt: currentRunStartTime(dependencies),
40
37
  timeoutPolicy: {