@overkill-dev/run 0.0.81 → 0.0.83

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 (276) hide show
  1. package/assertion-protocol/source-location.js +4 -0
  2. package/assertion-protocol/source-location.js.map +1 -1
  3. package/baselines/calibration-reference.js +10 -0
  4. package/baselines/calibration-reference.js.map +1 -0
  5. package/baselines/calibration-store.js +185 -0
  6. package/baselines/calibration-store.js.map +1 -0
  7. package/baselines/performance-adapter.d.ts +1 -1
  8. package/baselines/performance-adapter.d.ts.map +1 -1
  9. package/baselines/performance-baseline.d.ts +17 -3
  10. package/baselines/performance-baseline.d.ts.map +1 -1
  11. package/baselines/performance-baseline.js +13 -1
  12. package/baselines/performance-baseline.js.map +1 -1
  13. package/baselines/performance-evaluation.js +12 -11
  14. package/baselines/performance-evaluation.js.map +1 -1
  15. package/baselines/performance-observation.js +74 -0
  16. package/baselines/performance-observation.js.map +1 -0
  17. package/baselines/performance-plan.js +28 -2
  18. package/baselines/performance-plan.js.map +1 -1
  19. package/baselines/performance-schema.js +14 -1
  20. package/baselines/performance-schema.js.map +1 -1
  21. package/baselines/performance-store.js +2 -14
  22. package/baselines/performance-store.js.map +1 -1
  23. package/baselines/performance-workflow.js +18 -10
  24. package/baselines/performance-workflow.js.map +1 -1
  25. package/bench/benchmark-run-report.js +14 -5
  26. package/bench/benchmark-run-report.js.map +1 -1
  27. package/bench/benchmark-statistics-schema.d.ts +4 -0
  28. package/bench/benchmark-statistics-schema.d.ts.map +1 -0
  29. package/bench/benchmark-statistics-schema.js +40 -0
  30. package/bench/benchmark-statistics-schema.js.map +1 -0
  31. package/bench/calibration-evidence.js +80 -0
  32. package/bench/calibration-evidence.js.map +1 -0
  33. package/bench/calibration-machine.d.ts +14 -0
  34. package/bench/calibration-machine.d.ts.map +1 -0
  35. package/bench/calibration-machine.js +43 -0
  36. package/bench/calibration-machine.js.map +1 -0
  37. package/bench/calibration-report.d.ts +24 -0
  38. package/bench/calibration-report.d.ts.map +1 -0
  39. package/bench/calibration-report.js +28 -0
  40. package/bench/calibration-report.js.map +1 -0
  41. package/bench/cpu-reference-workload.d.ts +2 -0
  42. package/bench/cpu-reference-workload.d.ts.map +1 -0
  43. package/bench/cpu-reference-workload.js +12 -0
  44. package/bench/cpu-reference-workload.js.map +1 -0
  45. package/bench/host-calibration-result.d.ts +15 -0
  46. package/bench/host-calibration-result.d.ts.map +1 -0
  47. package/bench/timeline-schema.d.ts +43 -0
  48. package/bench/timeline-schema.d.ts.map +1 -0
  49. package/bench/timeline-schema.js +28 -0
  50. package/bench/timeline-schema.js.map +1 -0
  51. package/engine/assertion-recorder.d.ts +12 -0
  52. package/engine/assertion-recorder.d.ts.map +1 -0
  53. package/engine/async-control.d.ts.map +1 -1
  54. package/engine/async-control.js +10 -1
  55. package/engine/async-control.js.map +1 -1
  56. package/engine/async-leak-diagnostics.js +18 -7
  57. package/engine/async-leak-diagnostics.js.map +1 -1
  58. package/engine/benchmark-environment.d.ts +8 -0
  59. package/engine/benchmark-environment.d.ts.map +1 -0
  60. package/engine/benchmark-garbage-collection.d.ts +0 -5
  61. package/engine/benchmark-garbage-collection.d.ts.map +1 -1
  62. package/engine/benchmark-garbage-collection.js.map +1 -1
  63. package/engine/benchmark-node.d.ts +3 -2
  64. package/engine/benchmark-node.d.ts.map +1 -1
  65. package/engine/benchmark-node.js +9 -0
  66. package/engine/benchmark-node.js.map +1 -0
  67. package/engine/benchmark-result.d.ts +90 -1
  68. package/engine/benchmark-result.d.ts.map +1 -1
  69. package/engine/benchmark-result.js.map +1 -1
  70. package/engine/benchmark-timeline.d.ts +12 -0
  71. package/engine/benchmark-timeline.d.ts.map +1 -0
  72. package/engine/case-attempt-execution.js +25 -17
  73. package/engine/case-attempt-execution.js.map +1 -1
  74. package/engine/case-body-execution.js +140 -3
  75. package/engine/case-body-execution.js.map +1 -1
  76. package/engine/case-execution.d.ts.map +1 -1
  77. package/engine/case-execution.js +61 -189
  78. package/engine/case-execution.js.map +1 -1
  79. package/engine/case-interruption.js +26 -0
  80. package/engine/case-interruption.js.map +1 -0
  81. package/engine/execution-async-leak-policy.d.ts +3 -0
  82. package/engine/execution-async-leak-policy.d.ts.map +1 -0
  83. package/engine/execution-async-leak-policy.js +38 -23
  84. package/engine/execution-async-leak-policy.js.map +1 -1
  85. package/engine/execution-error-ownership.d.ts +6 -0
  86. package/engine/execution-error-ownership.d.ts.map +1 -0
  87. package/engine/execution-error-ownership.js +83 -0
  88. package/engine/execution-error-ownership.js.map +1 -0
  89. package/engine/execution-global-error-observer.d.ts +1 -4
  90. package/engine/execution-global-error-observer.d.ts.map +1 -1
  91. package/engine/execution-global-error-observer.js +41 -81
  92. package/engine/execution-global-error-observer.js.map +1 -1
  93. package/engine/execution-observation.js +212 -0
  94. package/engine/execution-observation.js.map +1 -0
  95. package/engine/execution-options.d.ts +9 -0
  96. package/engine/execution-options.d.ts.map +1 -1
  97. package/engine/execution-preparation.d.ts +13 -0
  98. package/engine/execution-preparation.d.ts.map +1 -0
  99. package/engine/execution-preparation.js +34 -0
  100. package/engine/execution-preparation.js.map +1 -0
  101. package/engine/execution-supervision-state.js +13 -0
  102. package/engine/execution-supervision-state.js.map +1 -1
  103. package/engine/execution-supervision.d.ts +1 -1
  104. package/engine/execution-supervision.d.ts.map +1 -1
  105. package/engine/execution-supervision.js +10 -10
  106. package/engine/execution-supervision.js.map +1 -1
  107. package/engine/execution-test-plan-cases.js +15 -11
  108. package/engine/execution-test-plan-cases.js.map +1 -1
  109. package/engine/execution.d.ts +3 -1
  110. package/engine/execution.d.ts.map +1 -1
  111. package/engine/execution.js +3 -27
  112. package/engine/execution.js.map +1 -1
  113. package/engine/native-resource-observation.js +70 -0
  114. package/engine/native-resource-observation.js.map +1 -0
  115. package/engine/reporter-dispatcher.d.ts.map +1 -1
  116. package/engine/reporter-dispatcher.js +6 -3
  117. package/engine/reporter-dispatcher.js.map +1 -1
  118. package/engine/reporter-output-scope.js +7 -2
  119. package/engine/reporter-output-scope.js.map +1 -1
  120. package/engine/resource-owner-observation.js +52 -3
  121. package/engine/resource-owner-observation.js.map +1 -1
  122. package/engine/test-scope-lifecycle.js +9 -7
  123. package/engine/test-scope-lifecycle.js.map +1 -1
  124. package/file-store.d.ts +7 -0
  125. package/file-store.d.ts.map +1 -0
  126. package/package.json +14 -1
  127. package/packages/run/benchmark-calibration.entry-point.d.ts +13 -14
  128. package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
  129. package/packages/run/benchmark-calibration.entry-point.js +12 -54
  130. package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
  131. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  132. package/packages/run/command-line.entry-point.js +4 -0
  133. package/packages/run/command-line.entry-point.js.map +1 -1
  134. package/packages/run/run.entry-point.d.ts +3 -0
  135. package/packages/run/run.entry-point.d.ts.map +1 -1
  136. package/packages/run/run.entry-point.js +3 -0
  137. package/packages/run/run.entry-point.js.map +1 -1
  138. package/readme.md +43 -1
  139. package/run/attachment-eligibility.js +8 -4
  140. package/run/attachment-eligibility.js.map +1 -1
  141. package/run/benchmark-baseline-commands.js +9 -4
  142. package/run/benchmark-baseline-commands.js.map +1 -1
  143. package/run/benchmark-baseline-execution.js +20 -0
  144. package/run/benchmark-baseline-execution.js.map +1 -0
  145. package/run/benchmark-baseline-operations.js +0 -14
  146. package/run/benchmark-baseline-operations.js.map +1 -1
  147. package/run/benchmark-baseline-preparation.js +63 -0
  148. package/run/benchmark-baseline-preparation.js.map +1 -0
  149. package/run/benchmark-baseline-run.js +1 -44
  150. package/run/benchmark-baseline-run.js.map +1 -1
  151. package/run/benchmark-calibration.js +7 -0
  152. package/run/benchmark-calibration.js.map +1 -1
  153. package/run/benchmark-commands.d.ts.map +1 -1
  154. package/run/benchmark-commands.js +31 -0
  155. package/run/benchmark-commands.js.map +1 -1
  156. package/run/benchmark-definition-schema.js +8 -2
  157. package/run/benchmark-definition-schema.js.map +1 -1
  158. package/run/benchmark-execution-environment.js +2 -1
  159. package/run/benchmark-execution-environment.js.map +1 -1
  160. package/run/benchmark-garbage-collection.js +14 -3
  161. package/run/benchmark-garbage-collection.js.map +1 -1
  162. package/run/benchmark-normalization-preparation.js +59 -0
  163. package/run/benchmark-normalization-preparation.js.map +1 -0
  164. package/run/benchmark-placement.js +12 -3
  165. package/run/benchmark-placement.js.map +1 -1
  166. package/run/benchmark-policy-schema.js +30 -0
  167. package/run/benchmark-policy-schema.js.map +1 -0
  168. package/run/benchmark-report-metadata.js +5 -3
  169. package/run/benchmark-report-metadata.js.map +1 -1
  170. package/run/benchmark-result-schema.js +7 -53
  171. package/run/benchmark-result-schema.js.map +1 -1
  172. package/run/calibration-baseline-references.js +39 -0
  173. package/run/calibration-baseline-references.js.map +1 -0
  174. package/run/calibration-capture-session.js +97 -0
  175. package/run/calibration-capture-session.js.map +1 -0
  176. package/run/calibration-inventory.js +27 -0
  177. package/run/calibration-inventory.js.map +1 -0
  178. package/run/calibration-maintenance.js +88 -0
  179. package/run/calibration-maintenance.js.map +1 -0
  180. package/run/capability-policy.js +82 -79
  181. package/run/capability-policy.js.map +1 -1
  182. package/run/collected-run-execution.js +3 -7
  183. package/run/collected-run-execution.js.map +1 -1
  184. package/run/collected-run-plan.js +6 -13
  185. package/run/collected-run-plan.js.map +1 -1
  186. package/run/command-line-command-namespace.js +3 -0
  187. package/run/command-line-command-namespace.js.map +1 -1
  188. package/run/command-line-command.d.ts +1 -0
  189. package/run/command-line-command.d.ts.map +1 -1
  190. package/run/command-line-command.js.map +1 -1
  191. package/run/default-run-engine.js +25 -0
  192. package/run/default-run-engine.js.map +1 -1
  193. package/run/execution-session-collected.js +10 -3
  194. package/run/execution-session-collected.js.map +1 -1
  195. package/run/execution-session-lifecycle.js +28 -9
  196. package/run/execution-session-lifecycle.js.map +1 -1
  197. package/run/execution-session-observation.js +9 -3
  198. package/run/execution-session-observation.js.map +1 -1
  199. package/run/execution-session-schema.js +8 -2
  200. package/run/execution-session-schema.js.map +1 -1
  201. package/run/execution-session-supervised.js +10 -2
  202. package/run/execution-session-supervised.js.map +1 -1
  203. package/run/execution-session-types.d.ts +2 -0
  204. package/run/execution-session-types.d.ts.map +1 -1
  205. package/run/execution-session.js +4 -4
  206. package/run/execution-session.js.map +1 -1
  207. package/run/frozen-supervised-command-schema.js +2 -2
  208. package/run/frozen-supervised-command-schema.js.map +1 -1
  209. package/run/initialized-run-collection.js +80 -0
  210. package/run/initialized-run-collection.js.map +1 -0
  211. package/run/initialized-run.js +2 -49
  212. package/run/initialized-run.js.map +1 -1
  213. package/run/path-containment.js +13 -0
  214. package/run/path-containment.js.map +1 -1
  215. package/run/permission-denial-runtime-policy.js +30 -50
  216. package/run/permission-denial-runtime-policy.js.map +1 -1
  217. package/run/run-artifact-schema.d.ts +3 -0
  218. package/run/run-artifact-schema.d.ts.map +1 -0
  219. package/run/run-artifact-schema.js +3 -0
  220. package/run/run-artifact-schema.js.map +1 -1
  221. package/run/run-cancellation.js.map +1 -1
  222. package/run/run-collected-resolution.js +7 -0
  223. package/run/run-collected-resolution.js.map +1 -1
  224. package/run/run-command-schema.js +2 -0
  225. package/run/run-command-schema.js.map +1 -1
  226. package/run/run-engine-primitives.d.ts +2 -1
  227. package/run/run-engine-primitives.d.ts.map +1 -1
  228. package/run/run-execution.js +1 -1
  229. package/run/run-execution.js.map +1 -1
  230. package/run/run-facts.js +1 -0
  231. package/run/run-facts.js.map +1 -1
  232. package/run/run-input-resolution.js +5 -3
  233. package/run/run-input-resolution.js.map +1 -1
  234. package/run/run-isolated-command.js +8 -2
  235. package/run/run-isolated-command.js.map +1 -1
  236. package/run/run-isolated-process.js +5 -0
  237. package/run/run-isolated-process.js.map +1 -1
  238. package/run/run-local-command.js +3 -7
  239. package/run/run-local-command.js.map +1 -1
  240. package/run/run-local-coverage.js +3 -7
  241. package/run/run-local-coverage.js.map +1 -1
  242. package/run/run-local-planning.js +2 -0
  243. package/run/run-local-planning.js.map +1 -1
  244. package/run/run-record-result.d.ts +8 -0
  245. package/run/run-record-result.d.ts.map +1 -0
  246. package/run/run-record-result.js +79 -17
  247. package/run/run-record-result.js.map +1 -1
  248. package/run/run-result-schema.d.ts.map +1 -1
  249. package/run/run-result-schema.js +14 -9
  250. package/run/run-result-schema.js.map +1 -1
  251. package/run/run-supervised-process.js +14 -3
  252. package/run/run-supervised-process.js.map +1 -1
  253. package/run/run-support.js +11 -9
  254. package/run/run-support.js.map +1 -1
  255. package/run/run-types.d.ts +5 -2
  256. package/run/run-types.d.ts.map +1 -1
  257. package/run/run-types.js.map +1 -1
  258. package/run/run.js +3 -1
  259. package/run/run.js.map +1 -1
  260. package/run/supervised-child-execution.js +1 -1
  261. package/run/supervised-child-execution.js.map +1 -1
  262. package/run/supervised-child-test-plan.js +3 -3
  263. package/run/supervised-child-test-plan.js.map +1 -1
  264. package/run/supervised-child.js +46 -33
  265. package/run/supervised-child.js.map +1 -1
  266. package/run/supervised-protocol.js.map +1 -1
  267. package/run/worker-execution-engine.js +1 -1
  268. package/run/worker-execution-engine.js.map +1 -1
  269. package/run/worker-pool-command.js +4 -6
  270. package/run/worker-pool-command.js.map +1 -1
  271. package/run/worker-pool-host.entry-point.js +1 -1
  272. package/run/worker-pool-host.entry-point.js.map +1 -1
  273. package/run/worker-pool-protocol.js.map +1 -1
  274. package/run/worker-pool-worker-plan.js +2 -2
  275. package/run/worker-pool-worker-plan.js.map +1 -1
  276. package/software-bill-of-materials.cyclonedx.json +4 -4
@@ -1,6 +1,8 @@
1
1
  import { createThrownErrorRecord } from "../assertion-protocol/thrown-error-record.js";
2
- import { readTestBodyFamily } from "./test-body.js";
2
+ import { isTestContractFailure, RequireFailedSignalError, TestContractSignalError } from "./assertion-recorder.js";
3
+ import { isNodeAssertionError, nodeAssertionErrorFailure } from "./node-assertion-error.js";
3
4
  import { isCaseRunnerError, permissionDeniedRunnerErrorFromThrown } from "./run-result.js";
5
+ import { readTestBodyFamily } from "./test-body.js";
4
6
  export function createBenchmarkAttempt(testCase, onUpdate, benchmarkEnvironment) {
5
7
  let result = null;
6
8
  const errors = [];
@@ -42,6 +44,7 @@ export function builderBodyForAttempt(testCase, attempt) {
42
44
  }
43
45
  return async function runBenchmark(scope) {
44
46
  return execution.body({
47
+ workId: testCase.workId,
45
48
  benchmarkEnvironment: attempt.benchmarkEnvironment,
46
49
  reportCleanupError: attempt.reportCleanupError,
47
50
  cleanup: scope.cleanup,
@@ -62,7 +65,7 @@ export function testBodyExecutionError(testCase) {
62
65
  }
63
66
  return null;
64
67
  }
65
- export function caseRunnerError(testCase, error) {
68
+ function caseRunnerError(testCase, error) {
66
69
  if (isCaseRunnerError(error)) {
67
70
  return error.runnerError(testCase.id, testCase.workId);
68
71
  }
@@ -75,7 +78,7 @@ export function caseRunnerError(testCase, error) {
75
78
  phase: 'body'
76
79
  });
77
80
  }
78
- export function finishedCaseCleanup(testCase, cleanupErrors) {
81
+ function finishedCaseCleanup(testCase, cleanupErrors) {
79
82
  const bodyErrors = [];
80
83
  const runnerErrors = [];
81
84
  for (const error of cleanupErrors) {
@@ -92,4 +95,138 @@ export function finishedCaseCleanup(testCase, cleanupErrors) {
92
95
  runnerErrors
93
96
  };
94
97
  }
98
+ function requireFailedBody(context) {
99
+ const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
100
+ return {
101
+ bodyError: null,
102
+ cleanupErrors,
103
+ contractFailures,
104
+ requireFailed: true,
105
+ runnerErrors,
106
+ returnedAssertions: recorder.activeRecordedAssertions()
107
+ };
108
+ }
109
+ function contractFailedBody(context, contractFailures) {
110
+ const { cleanupErrors, recorder, runnerErrors } = context;
111
+ return {
112
+ bodyError: null,
113
+ cleanupErrors,
114
+ contractFailures,
115
+ requireFailed: false,
116
+ runnerErrors,
117
+ returnedAssertions: recorder.activeRecordedAssertions()
118
+ };
119
+ }
120
+ export function bodyErrorResult(context, error) {
121
+ const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
122
+ return {
123
+ bodyError: createThrownErrorRecord(error),
124
+ cleanupErrors,
125
+ contractFailures,
126
+ requireFailed: false,
127
+ runnerErrors,
128
+ returnedAssertions: recorder.activeRecordedAssertions()
129
+ };
130
+ }
131
+ function caseRunnerErrorBody(context, runnerError) {
132
+ const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
133
+ return {
134
+ bodyError: null,
135
+ cleanupErrors,
136
+ contractFailures,
137
+ requireFailed: false,
138
+ runnerErrors: [runnerError, ...runnerErrors],
139
+ returnedAssertions: recorder.activeRecordedAssertions()
140
+ };
141
+ }
142
+ function nodeAssertionFailedBody(testCase, context, error) {
143
+ return {
144
+ bodyError: null,
145
+ cleanupErrors: context.cleanupErrors,
146
+ contractFailures: context.contractFailures,
147
+ requireFailed: false,
148
+ runnerErrors: context.runnerErrors,
149
+ returnedAssertions: [
150
+ ...context.recorder.activeRecordedAssertions(),
151
+ nodeAssertionErrorFailure(error, testCase.definitionLocations[0])
152
+ ]
153
+ };
154
+ }
155
+ export function completedBody(input) {
156
+ const { assertionResult, context } = input;
157
+ const { recorder } = context;
158
+ if (recorder.requireFailed()) {
159
+ return requireFailedBody(context);
160
+ }
161
+ const returnedAssertions = recorder.returnedAssertions(assertionResult);
162
+ if (isTestContractFailure(returnedAssertions)) {
163
+ return contractFailedBody(context, [returnedAssertions, ...context.contractFailures]);
164
+ }
165
+ return {
166
+ bodyError: null,
167
+ cleanupErrors: context.cleanupErrors,
168
+ contractFailures: context.contractFailures,
169
+ requireFailed: false,
170
+ runnerErrors: context.runnerErrors,
171
+ returnedAssertions
172
+ };
173
+ }
174
+ export function completedThrowingBody(recorder) {
175
+ if (recorder.requireFailed()) {
176
+ return requireFailedBody({
177
+ cleanupErrors: [],
178
+ contractFailures: [],
179
+ recorder,
180
+ runnerErrors: []
181
+ });
182
+ }
183
+ const returnedAssertions = recorder.completedThrowingAssertions();
184
+ return isTestContractFailure(returnedAssertions)
185
+ ? contractFailedBody({
186
+ cleanupErrors: [],
187
+ contractFailures: [],
188
+ recorder,
189
+ runnerErrors: []
190
+ }, [returnedAssertions])
191
+ : {
192
+ bodyError: null,
193
+ cleanupErrors: [],
194
+ contractFailures: [],
195
+ requireFailed: false,
196
+ runnerErrors: [],
197
+ returnedAssertions
198
+ };
199
+ }
200
+ function nonRunnerFailedBody(input) {
201
+ const { context, error, testCase } = input;
202
+ if (error instanceof RequireFailedSignalError) {
203
+ return requireFailedBody(context);
204
+ }
205
+ if (error instanceof TestContractSignalError) {
206
+ return contractFailedBody(context, [error.failure(), ...context.contractFailures]);
207
+ }
208
+ if (testCase.execution.kind === 'body' &&
209
+ testCase.execution.bodyMode === 'throwing' &&
210
+ isNodeAssertionError(error)) {
211
+ return nodeAssertionFailedBody(testCase, context, error);
212
+ }
213
+ return bodyErrorResult(context, error);
214
+ }
215
+ export function failedBody(input) {
216
+ const { context, error, testCase } = input;
217
+ const runnerError = caseRunnerError(testCase, error);
218
+ if (runnerError !== null) {
219
+ return caseRunnerErrorBody(context, runnerError);
220
+ }
221
+ return nonRunnerFailedBody(input);
222
+ }
223
+ export function bodyResultContext(recorder, testCase, finishedScope, sampleCleanupErrors) {
224
+ const cleanup = finishedCaseCleanup(testCase, [...sampleCleanupErrors, ...finishedScope.cleanupErrors]);
225
+ return {
226
+ cleanupErrors: cleanup.cleanupErrors,
227
+ contractFailures: finishedScope.lifecycleFailures,
228
+ recorder,
229
+ runnerErrors: cleanup.runnerErrors
230
+ };
231
+ }
95
232
  //# sourceMappingURL=case-body-execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"case-body-execution.js","sourceRoot":"","sources":["../../../../source/engine/case-body-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"case-body-execution.js","sourceRoot":"","sources":["../../../../source/engine/case-body-execution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"case-execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"AAAA,OAAY,OAuBH,aAAa,EAClB,KAAK,aAKR,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,KAAK,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;MA4CxD,0BAQ0B;IAC5B,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,SAAS,EAClB,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KACxB,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,SAAS,WAAW,EAAE,CAAC;IACnG,QAAQ,CAAC,oBAAoB,EAAE,MAAM,SAAS,WAAW,EAAE,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,WAAW,EAAE,CAAC;CACxD,CAAC;AAwYF"}
1
+ {"version":3,"file":"case-execution.d.ts","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"AAAA,OAAY,OAuBH,aAAa,EAClB,KAAK,aAKR,MAAM,iBAAiB,CAAC;AAGzB,OAAwD,KAC5C,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,KAAK,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;IAG1D,QAIwB,iBAAiB,GAGW;IACpD,QAAQ,eAQe,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,SAAS,EAClB,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KACxB,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,KAAK,SAAS,WAAW,EAAE,CAAC;IACnG,QAAQ,CAAC,oBAAoB,EAAE,MAAM,SAAS,WAAW,EAAE,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,WAAW,EAAE,CAAC;CACxD,CAAC;AAiNF"}
@@ -1,144 +1,31 @@
1
- import { createThrownErrorRecord } from "../assertion-protocol/thrown-error-record.js";
2
- import { createBenchmarkAttempt, caseRunnerError, finishedCaseCleanup, builderBodyForAttempt, testBodyExecutionError } from "./case-body-execution.js";
1
+ import { createBenchmarkAttempt, bodyResultContext, bodyErrorResult, completedBody, completedThrowingBody, failedBody, builderBodyForAttempt, testBodyExecutionError } from "./case-body-execution.js";
3
2
  import { assertionFailure } from "./recorded-assertion-failure.js";
4
- import { assertNonEmptyItems, createAssertionRecorder, isTestContractFailure, RequireFailedSignalError, TestContractSignalError } from "./assertion-recorder.js";
5
- import { isNodeAssertionError, nodeAssertionErrorFailure } from "./node-assertion-error.js";
3
+ import { assertNonEmptyItems, createAssertionRecorder } from "./assertion-recorder.js";
6
4
  import { singleAttemptResult, verdictFromOutcome } from "./run-result.js";
7
5
  import { createTestScopeLifecycle } from "./test-scope-lifecycle.js";
8
6
  import { createThrowingTestScope } from "./throwing-test-scope.js";
9
- function requireFailedBody(context) {
10
- const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
11
- return {
12
- bodyError: null,
13
- cleanupErrors,
14
- contractFailures,
15
- requireFailed: true,
16
- runnerErrors,
17
- returnedAssertions: recorder.activeRecordedAssertions()
18
- };
19
- }
20
- function contractFailedBody(context, contractFailures) {
21
- const { cleanupErrors, recorder, runnerErrors } = context;
22
- return {
23
- bodyError: null,
24
- cleanupErrors,
25
- contractFailures,
26
- requireFailed: false,
27
- runnerErrors,
28
- returnedAssertions: recorder.activeRecordedAssertions()
29
- };
30
- }
31
- function bodyErrorResult(context, error) {
32
- const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
33
- return {
34
- bodyError: createThrownErrorRecord(error),
35
- cleanupErrors,
36
- contractFailures,
37
- requireFailed: false,
38
- runnerErrors,
39
- returnedAssertions: recorder.activeRecordedAssertions()
40
- };
41
- }
42
- function caseRunnerErrorBody(context, runnerError) {
43
- const { cleanupErrors, contractFailures, recorder, runnerErrors } = context;
44
- return {
45
- bodyError: null,
46
- cleanupErrors,
47
- contractFailures,
48
- requireFailed: false,
49
- runnerErrors: [runnerError, ...runnerErrors],
50
- returnedAssertions: recorder.activeRecordedAssertions()
51
- };
52
- }
53
- function nodeAssertionFailedBody(testCase, recorder, error) {
54
- return {
55
- bodyError: null,
56
- cleanupErrors: [],
57
- contractFailures: [],
58
- requireFailed: false,
59
- runnerErrors: [],
60
- returnedAssertions: [
61
- ...recorder.activeRecordedAssertions(),
62
- nodeAssertionErrorFailure(error, testCase.definitionLocations[0])
63
- ]
64
- };
65
- }
66
- function completedBody(input) {
67
- const { assertionResult, context } = input;
68
- const { recorder } = context;
69
- if (recorder.requireFailed()) {
70
- return requireFailedBody(context);
7
+ import { createCaseInterruption } from "./case-interruption.js";
8
+ async function prepareCaseArtifacts(testCase, options) {
9
+ const policy = options.runtimePolicy;
10
+ if (policy === null) {
11
+ return [];
71
12
  }
72
- const returnedAssertions = recorder.returnedAssertions(assertionResult);
73
- if (isTestContractFailure(returnedAssertions)) {
74
- return contractFailedBody(context, [returnedAssertions, ...context.contractFailures]);
13
+ try {
14
+ await policy.prepareAttempt(testCase, options.attempt);
15
+ return [];
16
+ }
17
+ catch (error) {
18
+ return [error];
75
19
  }
20
+ }
21
+ function interruptedBody(context) {
76
22
  return {
77
23
  bodyError: null,
78
24
  cleanupErrors: context.cleanupErrors,
79
25
  contractFailures: context.contractFailures,
80
- requireFailed: false,
26
+ requireFailed: context.recorder.requireFailed(),
81
27
  runnerErrors: context.runnerErrors,
82
- returnedAssertions
83
- };
84
- }
85
- function completedThrowingBody(recorder) {
86
- if (recorder.requireFailed()) {
87
- return requireFailedBody({
88
- cleanupErrors: [],
89
- contractFailures: [],
90
- recorder,
91
- runnerErrors: []
92
- });
93
- }
94
- const returnedAssertions = recorder.completedThrowingAssertions();
95
- return isTestContractFailure(returnedAssertions)
96
- ? contractFailedBody({
97
- cleanupErrors: [],
98
- contractFailures: [],
99
- recorder,
100
- runnerErrors: []
101
- }, [returnedAssertions])
102
- : {
103
- bodyError: null,
104
- cleanupErrors: [],
105
- contractFailures: [],
106
- requireFailed: false,
107
- runnerErrors: [],
108
- returnedAssertions
109
- };
110
- }
111
- function nonRunnerFailedBody(input) {
112
- const { context, error, testCase } = input;
113
- const { recorder } = context;
114
- if (error instanceof RequireFailedSignalError) {
115
- return requireFailedBody(context);
116
- }
117
- if (error instanceof TestContractSignalError) {
118
- return contractFailedBody(context, [error.failure(), ...context.contractFailures]);
119
- }
120
- if (testCase.execution.kind === 'body' &&
121
- testCase.execution.bodyMode === 'throwing' &&
122
- isNodeAssertionError(error)) {
123
- return nodeAssertionFailedBody(testCase, recorder, error);
124
- }
125
- return bodyErrorResult(context, error);
126
- }
127
- function failedBody(input) {
128
- const { context, error, testCase } = input;
129
- const runnerError = caseRunnerError(testCase, error);
130
- if (runnerError !== null) {
131
- return caseRunnerErrorBody(context, runnerError);
132
- }
133
- return nonRunnerFailedBody(input);
134
- }
135
- function bodyResultContext(recorder, testCase, finishedScope, sampleCleanupErrors) {
136
- const cleanup = finishedCaseCleanup(testCase, [...sampleCleanupErrors, ...finishedScope.cleanupErrors]);
137
- return {
138
- cleanupErrors: cleanup.cleanupErrors,
139
- contractFailures: finishedScope.lifecycleFailures,
140
- recorder,
141
- runnerErrors: cleanup.runnerErrors
28
+ returnedAssertions: context.recorder.activeRecordedAssertions()
142
29
  };
143
30
  }
144
31
  async function runBuilderCaseBody(testCase, recorder, options, benchmarkAttempt) {
@@ -146,30 +33,16 @@ async function runBuilderCaseBody(testCase, recorder, options, benchmarkAttempt)
146
33
  const runBody = async function runUserBody() {
147
34
  return await lifecycle.runBody(options.controller.signal, builderBodyForAttempt(testCase, benchmarkAttempt));
148
35
  };
149
- let prepared = false;
150
- const prepare = async function prepareCaseArtifacts() {
151
- if (!prepared) {
152
- prepared = true;
153
- await options.runtimePolicy?.prepareAttempt(testCase, options.attempt);
154
- }
155
- };
156
36
  const runAndCleanUp = async function runBodyAndScopeCleanup() {
157
- try {
158
- const assertionResult = await runBody();
159
- await prepare();
160
- return completedBody({
161
- assertionResult,
162
- context: bodyResultContext(recorder, testCase, await lifecycle.finish(options.controller), benchmarkAttempt.cleanupErrors())
163
- });
164
- }
165
- catch (error) {
166
- await prepare();
167
- return failedBody({
168
- context: bodyResultContext(recorder, testCase, await lifecycle.finish(options.controller), benchmarkAttempt.cleanupErrors()),
169
- error,
170
- testCase
171
- });
37
+ const completion = await options.interruption.run(runBody);
38
+ const preparationErrors = await prepareCaseArtifacts(testCase, options);
39
+ const context = bodyResultContext(recorder, testCase, await lifecycle.finish(options.controller), [...preparationErrors, ...benchmarkAttempt.cleanupErrors()]);
40
+ if (completion.kind === 'returned') {
41
+ return completedBody({ assertionResult: completion.value, context });
172
42
  }
43
+ return completion.kind === 'threw'
44
+ ? failedBody({ context, error: completion.error, testCase })
45
+ : interruptedBody(context);
173
46
  };
174
47
  return options.runtimePolicy === null
175
48
  ? await runAndCleanUp()
@@ -180,36 +53,22 @@ async function runThrowingCaseBody(testCase, recorder, options) {
180
53
  if (testCase.execution.kind !== 'body' || testCase.execution.bodyMode !== 'throwing') {
181
54
  throw new TypeError('Non-throwing test cases do not have throwing bodies.');
182
55
  }
183
- try {
184
- await testCase.execution.body(createThrowingTestScope(recorder, options.controller.signal));
56
+ await testCase.execution.body(createThrowingTestScope(recorder, options.controller.signal));
57
+ };
58
+ const runAndPrepare = async function runThrowingBodyAndPreparation() {
59
+ const completion = await options.interruption.run(runBody);
60
+ const preparationErrors = await prepareCaseArtifacts(testCase, options);
61
+ options.controller.abort();
62
+ const context = bodyResultContext(recorder, testCase, { cleanupErrors: preparationErrors, lifecycleFailures: [] }, []);
63
+ if (completion.kind === 'threw') {
64
+ return failedBody({ context, error: completion.error, testCase });
185
65
  }
186
- finally {
187
- await options.runtimePolicy?.prepareAttempt(testCase, options.attempt);
188
- }
189
- };
190
- const runPolicyCheckedBody = async function runPolicyCheckedUserBody() {
191
- if (options.runtimePolicy === null) {
192
- await runBody();
193
- return;
194
- }
195
- await options.runtimePolicy.runAttempt(testCase, options.attempt, runBody);
66
+ const body = completion.kind === 'returned' ? completedThrowingBody(recorder) : interruptedBody(context);
67
+ return { ...body, cleanupErrors: context.cleanupErrors, runnerErrors: context.runnerErrors };
196
68
  };
197
- try {
198
- await runPolicyCheckedBody();
199
- return completedThrowingBody(recorder);
200
- }
201
- catch (error) {
202
- return failedBody({
203
- context: {
204
- cleanupErrors: [],
205
- contractFailures: [],
206
- recorder,
207
- runnerErrors: []
208
- },
209
- error,
210
- testCase
211
- });
212
- }
69
+ return options.runtimePolicy === null
70
+ ? await runAndPrepare()
71
+ : await options.runtimePolicy.runAttempt(testCase, options.attempt, runAndPrepare);
213
72
  }
214
73
  async function runCaseBody(testCase, recorder, options, benchmarkAttempt) {
215
74
  if (testCase.execution.kind !== 'body') {
@@ -291,7 +150,8 @@ function defaultRunTestCaseOptions() {
291
150
  benchmarkEnvironment: null,
292
151
  attempt: { index: 0 },
293
152
  controller,
294
- runtimePolicy: null
153
+ runtimePolicy: null,
154
+ interruption: null
295
155
  };
296
156
  }
297
157
  export function timeoutFailure(deadlineMilliseconds, elapsedMilliseconds) {
@@ -325,24 +185,36 @@ function skippedCase(testCase, reason, durationMicroseconds) {
325
185
  durationMicroseconds
326
186
  };
327
187
  }
188
+ function completedCaseOutcome(recorder, body, terminal, generated) {
189
+ const outcome = createOutcome(recorder, body, terminal !== null || generated);
190
+ if (terminal !== null && (outcome === null || outcome.kind === 'pass')) {
191
+ return { outcome: terminal.result.outcome, verdict: terminal.result.verdict };
192
+ }
193
+ return { outcome, verdict: outcome === null ? 'runtime-policy' : verdictFromOutcome(outcome) };
194
+ }
328
195
  export async function runTestCase(testCase, wallClock, options = defaultRunTestCaseOptions()) {
329
196
  const startedAtMicroseconds = Number(wallClock.currentMonotonicMicroseconds);
330
197
  if (testCase.execution.kind === 'skip') {
331
198
  return skippedCase(testCase, testCase.execution.reason, Number(wallClock.currentMonotonicMicroseconds) - startedAtMicroseconds);
332
199
  }
333
- const recorder = createAssertionRecorder();
334
- const benchmarkAttempt = createBenchmarkAttempt(testCase, options.onBenchmarkUpdate, options.benchmarkEnvironment);
335
- const completed = await runCaseBody(testCase, recorder, options, benchmarkAttempt);
336
- const executedBody = { ...completed, runnerErrors: [...completed.runnerErrors, ...benchmarkAttempt.errors()] };
337
- const outcome = createOutcome(recorder, executedBody, testCase.execution.bodyMode === 'benchmark');
200
+ const execution = {
201
+ recorder: createAssertionRecorder(),
202
+ benchmark: createBenchmarkAttempt(testCase, options.onBenchmarkUpdate, options.benchmarkEnvironment),
203
+ interruption: createCaseInterruption(options.interruption)
204
+ };
205
+ const completed = await runCaseBody(testCase, execution.recorder, {
206
+ ...options,
207
+ interruption: execution.interruption
208
+ }, execution.benchmark);
209
+ const executedBody = { ...completed, runnerErrors: [...completed.runnerErrors, ...execution.benchmark.errors()] };
210
+ const completion = completedCaseOutcome(execution.recorder, executedBody, execution.interruption.result(), testCase.execution.bodyMode === 'benchmark');
338
211
  const durationMicroseconds = Number(wallClock.currentMonotonicMicroseconds) - startedAtMicroseconds;
339
212
  return {
340
213
  result: singleAttemptResult({
341
- benchmark: benchmarkAttempt.result(),
214
+ benchmark: execution.interruption.result()?.result.benchmark ?? execution.benchmark.result(),
342
215
  definitionLocations: testCase.definitionLocations,
343
216
  id: testCase.id,
344
- outcome,
345
- verdict: outcome === null ? 'runtime-policy' : verdictFromOutcome(outcome),
217
+ ...completion,
346
218
  workId: testCase.workId,
347
219
  durationMicroseconds
348
220
  }, { index: 0 }),
@@ -1 +1 @@
1
- {"version":3,"file":"case-execution.js","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"case-execution.js","sourceRoot":"","sources":["../../../../source/engine/case-execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { createStoredValue } from "../stored-value.js";
2
+ async function completeBody(operation) {
3
+ try {
4
+ return { kind: 'returned', value: await operation() };
5
+ }
6
+ catch (error) {
7
+ return { kind: 'threw', error };
8
+ }
9
+ }
10
+ export function createCaseInterruption(completion) {
11
+ const terminal = createStoredValue(null);
12
+ async function retainInterruption(pending) {
13
+ const result = await pending;
14
+ terminal.write(result);
15
+ return { kind: 'interrupted', result };
16
+ }
17
+ const interrupted = completion === null ? null : retainInterruption(completion);
18
+ return {
19
+ result: terminal.read,
20
+ async run(operation) {
21
+ const body = completeBody(operation);
22
+ return interrupted === null ? await body : await Promise.race([body, interrupted]);
23
+ }
24
+ };
25
+ }
26
+ //# sourceMappingURL=case-interruption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case-interruption.js","sourceRoot":"","sources":["../../../../source/engine/case-interruption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAyBvD,KAAK,UAAU,YAAY,CAAQ,SAA+B;IAC9D,IAAI,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAwC;IAC3E,MAAM,QAAQ,GAAG,iBAAiB,CAAsB,IAAI,CAAC,CAAC;IAC9D,KAAK,UAAU,kBAAkB,CAAC,OAA8B;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChF,OAAO;QACH,MAAM,EAAE,QAAQ,CAAC,IAAI;QACrB,KAAK,CAAC,GAAG,CAAC,SAAS;YACf,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAE,IAAI,EAAE,WAAW,CAAE,CAAC,CAAC;QACzF,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type AsyncLeakDiagnostics = 'disabled' | 'enabled';
2
+ export {};
3
+ //# sourceMappingURL=execution-async-leak-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-async-leak-policy.d.ts","sourceRoot":"","sources":["../../../../source/engine/execution-async-leak-policy.ts"],"names":[],"mappings":"OASO,KAGK,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1D,MAAM,CAA8B,EAGnC,CAAC"}