@c9up/helix 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -111
- package/bin/helix.js +24 -41
- package/dist/cli/failed-cache.d.ts +2 -2
- package/dist/cli/failed-cache.js +2 -2
- package/dist/cli/pool.d.ts +3 -3
- package/dist/cli/reporter.d.ts +1 -1
- package/dist/cli/reporter.js +2 -2
- package/dist/cli/run.d.ts +5 -5
- package/dist/cli/run.js +4 -4
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/runner.d.ts +1 -1
- package/dist/cli/runner.js +1 -1
- package/dist/cli/suites.d.ts +4 -4
- package/dist/cli/suites.d.ts.map +1 -1
- package/dist/cli/suites.js +4 -4
- package/dist/cli/suites.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/native/generated.d.ts +2 -2
- package/dist/native/generated.d.ts.map +1 -1
- package/dist/runtime/assert.d.ts +18 -18
- package/dist/runtime/assert.d.ts.map +1 -1
- package/dist/runtime/assert.js +3 -3
- package/dist/runtime/assert.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +2 -2
- package/dist/runtime/bootstrap.js +3 -3
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/cli-args.d.ts +6 -6
- package/dist/runtime/cli-args.d.ts.map +1 -1
- package/dist/runtime/cli-args.js +5 -5
- package/dist/runtime/cli-args.js.map +1 -1
- package/dist/runtime/cli-worker.js +3 -0
- package/dist/runtime/cli-worker.js.map +1 -1
- package/dist/runtime/configure.d.ts +43 -43
- package/dist/runtime/configure.d.ts.map +1 -1
- package/dist/runtime/configure.js +11 -11
- package/dist/runtime/configure.js.map +1 -1
- package/dist/runtime/context.d.ts +9 -9
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/context.js +10 -10
- package/dist/runtime/context.js.map +1 -1
- package/dist/runtime/emitter.d.ts +13 -13
- package/dist/runtime/emitter.d.ts.map +1 -1
- package/dist/runtime/emitter.js +6 -6
- package/dist/runtime/expect.d.ts.map +1 -1
- package/dist/runtime/expect.js +2 -2
- package/dist/runtime/expect.js.map +1 -1
- package/dist/runtime/global-hooks.d.ts +1 -1
- package/dist/runtime/global-hooks.js +1 -1
- package/dist/runtime/matchers.d.ts.map +1 -1
- package/dist/runtime/matchers.js +3 -6
- package/dist/runtime/matchers.js.map +1 -1
- package/dist/runtime/run.d.ts +13 -13
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +47 -47
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runner.d.ts +12 -12
- package/dist/runtime/runner.d.ts.map +1 -1
- package/dist/runtime/runner.js +10 -10
- package/dist/runtime/runner.js.map +1 -1
- package/dist/runtime/suite-config.d.ts +1 -1
- package/dist/runtime/suite-config.js +1 -1
- package/dist/runtime/suite-taps.d.ts +17 -17
- package/dist/runtime/suite-taps.d.ts.map +1 -1
- package/dist/runtime/suite-taps.js +7 -7
- package/dist/runtime/suite-taps.js.map +1 -1
- package/dist/runtime/suite.d.ts +43 -43
- package/dist/runtime/suite.d.ts.map +1 -1
- package/dist/runtime/suite.js +16 -15
- package/dist/runtime/suite.js.map +1 -1
- package/dist/runtime/test-context.d.ts +8 -8
- package/dist/runtime/test-context.d.ts.map +1 -1
- package/dist/runtime/test-context.js +5 -5
- package/dist/runtime/test-context.js.map +1 -1
- package/dist/runtime/thenable.d.ts +22 -0
- package/dist/runtime/thenable.d.ts.map +1 -0
- package/dist/runtime/thenable.js +35 -0
- package/dist/runtime/thenable.js.map +1 -0
- package/dist/runtime/worker.js +4 -4
- package/dist/runtime/worker.js.map +1 -1
- package/dist/time/freeze.js +1 -0
- package/dist/time/freeze.js.map +1 -1
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +1 -1
package/dist/runtime/run.js
CHANGED
|
@@ -20,7 +20,7 @@ function compileTagFilter(tags, matchAll) {
|
|
|
20
20
|
const t = raw.trim();
|
|
21
21
|
if (!t)
|
|
22
22
|
continue;
|
|
23
|
-
// `~` is the
|
|
23
|
+
// `~` is the helix exclusion prefix; `!` is accepted too (legacy) so a
|
|
24
24
|
// stray `!` never silently becomes an impossible required tag.
|
|
25
25
|
if (t.startsWith("~") || t.startsWith("!"))
|
|
26
26
|
excluded.push(t.slice(1));
|
|
@@ -55,7 +55,7 @@ function tagMatches(node, filter) {
|
|
|
55
55
|
? filter.required.every((r) => have.has(r))
|
|
56
56
|
: filter.required.some((r) => have.has(r));
|
|
57
57
|
}
|
|
58
|
-
/** Nearest enclosing `test.group(...)` title, for the
|
|
58
|
+
/** Nearest enclosing `test.group(...)` title, for the helix `--groups` filter. */
|
|
59
59
|
function enclosingGroupTitle(node) {
|
|
60
60
|
for (let s = node.parent; s !== undefined; s = s.parent) {
|
|
61
61
|
if (s.isGroup)
|
|
@@ -73,7 +73,7 @@ function isInGroups(node, groups) {
|
|
|
73
73
|
*
|
|
74
74
|
* A result crosses the worker→CLI IPC boundary, so it can only hold plain data.
|
|
75
75
|
* The EMITTER, though, runs in the worker — where the thrown `Error` still
|
|
76
|
-
* exists, and where a
|
|
76
|
+
* exists, and where a helix reporter or plugin expects `errors[].error` to be an
|
|
77
77
|
* `Error` instance. A symbol key is invisible to `JSON.stringify` and to
|
|
78
78
|
* `Object.keys`, so the original rides along without ever reaching the frame.
|
|
79
79
|
*/
|
|
@@ -89,7 +89,7 @@ function withThrown(serialized, thrown) {
|
|
|
89
89
|
});
|
|
90
90
|
return serialized;
|
|
91
91
|
}
|
|
92
|
-
/** The reason
|
|
92
|
+
/** The reason helix attaches to a test skipped because the run bailed. */
|
|
93
93
|
const BAIL_SKIP_REASON = "Skipped due to bail mode";
|
|
94
94
|
function serializeError(err) {
|
|
95
95
|
if (err instanceof AssertionError) {
|
|
@@ -159,7 +159,7 @@ function collectHookChain(leaf, type) {
|
|
|
159
159
|
* run-wide test timeout; `0` on either disables it, which is how a deliberately
|
|
160
160
|
* long boot opts out.
|
|
161
161
|
*/
|
|
162
|
-
/** A group hook's return that is a group-scoped cleanup
|
|
162
|
+
/** A group hook's return that is a group-scoped cleanup. */
|
|
163
163
|
function isCleanupFn(value) {
|
|
164
164
|
return typeof value === "function";
|
|
165
165
|
}
|
|
@@ -167,7 +167,7 @@ function isCleanupFn(value) {
|
|
|
167
167
|
function asHooks(fns, type) {
|
|
168
168
|
return (fns ?? []).map((fn) => ({ type, fn }));
|
|
169
169
|
}
|
|
170
|
-
/** A `beforeEach` return that is a cleanup callback (Vitest
|
|
170
|
+
/** A `beforeEach` return that is a cleanup callback (Vitest parity). */
|
|
171
171
|
function isTestCleanup(value) {
|
|
172
172
|
return typeof value === "function";
|
|
173
173
|
}
|
|
@@ -180,11 +180,11 @@ async function callHook(hook, subject, fallbackMs = 0) {
|
|
|
180
180
|
async function runHooks(hooks, registerCleanups = false, subject, fallbackMs = 0) {
|
|
181
181
|
for (const h of hooks) {
|
|
182
182
|
try {
|
|
183
|
-
//
|
|
183
|
+
// test hooks receive the Test instance, group hooks the
|
|
184
184
|
// Group instance. Zero-arg hooks simply ignore it.
|
|
185
185
|
const ret = await callHook(h, subject, fallbackMs);
|
|
186
186
|
// A `beforeEach` returning a function registers it as a test-scoped
|
|
187
|
-
// cleanup (Vitest
|
|
187
|
+
// cleanup (Vitest parity). Ignored for `afterEach`.
|
|
188
188
|
if (registerCleanups && isTestCleanup(ret)) {
|
|
189
189
|
registerTestCleanup(ret);
|
|
190
190
|
}
|
|
@@ -255,7 +255,7 @@ function makeTimeoutController(ms, label) {
|
|
|
255
255
|
};
|
|
256
256
|
}
|
|
257
257
|
/**
|
|
258
|
-
* Whether a test survives the run's filters (
|
|
258
|
+
* Whether a test survives the run's filters (helix's refiner). `--grep` is a
|
|
259
259
|
* helix extra applied per resolved title, so it lives at the call sites that
|
|
260
260
|
* know the interpolated name rather than here.
|
|
261
261
|
*/
|
|
@@ -266,7 +266,7 @@ function isFilteredOut(node, ctx) {
|
|
|
266
266
|
(ctx.onlyActive && !pathLeadsToOnly(node)));
|
|
267
267
|
}
|
|
268
268
|
/**
|
|
269
|
-
* Whether any test under this suite survives the filters —
|
|
269
|
+
* Whether any test under this suite survives the filters — helix's
|
|
270
270
|
* `Refiner#isGroupAllowed`: a group announces itself only when it has at least
|
|
271
271
|
* one runnable test, so a fully filtered-out group is invisible to reporters.
|
|
272
272
|
*/
|
|
@@ -284,20 +284,20 @@ function suiteHasRunnableTest(node, ctx) {
|
|
|
284
284
|
}
|
|
285
285
|
/**
|
|
286
286
|
* The `meta` bag exposed as `ctx.test.options.meta` and on the test events —
|
|
287
|
-
*
|
|
287
|
+
* helix's `{ suite, group, fileName, abort }`.
|
|
288
288
|
*/
|
|
289
289
|
function testMeta(node, ctx) {
|
|
290
290
|
return {
|
|
291
291
|
suite: ctx.suite,
|
|
292
292
|
group: enclosingGroup(node),
|
|
293
293
|
fileName: ctx.file,
|
|
294
|
-
//
|
|
294
|
+
// helix's escape hatch: fail the running test with a given message.
|
|
295
295
|
abort: (message) => {
|
|
296
296
|
throw new Error(message);
|
|
297
297
|
},
|
|
298
298
|
};
|
|
299
299
|
}
|
|
300
|
-
/** Nearest enclosing `test.group(...)` instance, if any (
|
|
300
|
+
/** Nearest enclosing `test.group(...)` instance, if any (`meta.group`). */
|
|
301
301
|
function enclosingGroup(node) {
|
|
302
302
|
for (let s = node.parent; s !== undefined; s = s.parent) {
|
|
303
303
|
if (s.isGroup)
|
|
@@ -307,15 +307,15 @@ function enclosingGroup(node) {
|
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
309
|
* The `test:start` payload for one concrete test (a plain test, or one dataset
|
|
310
|
-
* row). `test:end` is this object plus the outcome — exactly how
|
|
310
|
+
* row). `test:end` is this object plus the outcome — exactly how helix builds
|
|
311
311
|
* the two nodes.
|
|
312
312
|
*/
|
|
313
313
|
function buildTestStartNode(node, expandedTitle, ctx, dataset, flags) {
|
|
314
|
-
//
|
|
314
|
+
// helix's `TestOptions`, field for field. `title`, `tags`, `timeout`, `meta`,
|
|
315
315
|
// `isPinned` — and, as its `Test` constructor initialises them, `isTodo` and
|
|
316
316
|
// `retries` — always carry a value. The rest appear only when the matching
|
|
317
317
|
// modifier was used, so a reporter reading `"isSkipped" in node` sees what
|
|
318
|
-
//
|
|
318
|
+
// helix would show it. Pinned down by the golden tests, which compare the raw
|
|
319
319
|
// key set of both runners' nodes.
|
|
320
320
|
return {
|
|
321
321
|
title: { original: node.name, expanded: expandedTitle },
|
|
@@ -338,19 +338,19 @@ function buildTestStartNode(node, expandedTitle, ctx, dataset, flags) {
|
|
|
338
338
|
function toEmittedErrors(error, phase) {
|
|
339
339
|
if (error === undefined)
|
|
340
340
|
return [];
|
|
341
|
-
//
|
|
341
|
+
// helix types `errors[].error` as `Error`; hand listeners the real one when
|
|
342
342
|
// this process still has it, and fall back to the serialized shape for a
|
|
343
343
|
// result that was rebuilt from a frame.
|
|
344
344
|
const thrown = thrownValue(error);
|
|
345
345
|
return [{ phase, error: thrown instanceof Error ? thrown : error }];
|
|
346
346
|
}
|
|
347
347
|
/**
|
|
348
|
-
* Emit the
|
|
348
|
+
* Emit the helix `test:start` / `test:end` pair for a test that never runs a
|
|
349
349
|
* body — a `todo`, an explicit `.skip()`, or a test whose skip condition threw.
|
|
350
|
-
*
|
|
350
|
+
* helix announces those through its `DummyRunner`, back-to-back.
|
|
351
351
|
*
|
|
352
352
|
* Tests dropped by a FILTER (`--tags`/`--tests`/`--groups`/`--grep`/`.only`)
|
|
353
|
-
* are deliberately NOT emitted:
|
|
353
|
+
* are deliberately NOT emitted: helix's refiner removes them before they can
|
|
354
354
|
* announce themselves, so a reporter never hears about them. They still show up
|
|
355
355
|
* as `skip` in {@link FileResult}, which is what the (Vitest-shaped) CLI
|
|
356
356
|
* reporter consumes.
|
|
@@ -370,13 +370,13 @@ function emitTestResult(node, result, ctx, dataset) {
|
|
|
370
370
|
}
|
|
371
371
|
async function runTest(node, parentFullName, ctx) {
|
|
372
372
|
const baseFullName = joinName(parentFullName, node.name);
|
|
373
|
-
// Filter gates (
|
|
373
|
+
// Filter gates (helix's refiner). Computed first because a filtered-out test
|
|
374
374
|
// emits NOTHING — not even the `test:start`/`test:end` pair a `.skip()` or a
|
|
375
375
|
// `todo` still announces. `grep` is per-name (per row for datasets), so it
|
|
376
376
|
// stays below.
|
|
377
377
|
const filteredOut = isFilteredOut(node, ctx);
|
|
378
378
|
// A dataset test with no body (`test('x').with(rows)` and no `.run(fn)` / no
|
|
379
|
-
// body in `test`) is a `todo` — same as a bodiless plain test
|
|
379
|
+
// body in `test`) is a `todo` — same as a bodiless plain test.
|
|
380
380
|
const datasetTodo = node.datasetFn !== undefined && node.datasetBody === undefined;
|
|
381
381
|
if (node.mode === "todo" || datasetTodo) {
|
|
382
382
|
const r = {
|
|
@@ -390,7 +390,7 @@ async function runTest(node, parentFullName, ctx) {
|
|
|
390
390
|
emitTestResult(node, r, ctx);
|
|
391
391
|
return [r];
|
|
392
392
|
}
|
|
393
|
-
// Deferred skip condition (
|
|
393
|
+
// Deferred skip condition (helix: a `skip(fn)` callback — possibly async — is
|
|
394
394
|
// evaluated here at run time, not eagerly at collection). A throwing
|
|
395
395
|
// condition fails the test rather than silently skipping it.
|
|
396
396
|
let deferredSkip = false;
|
|
@@ -415,9 +415,9 @@ async function runTest(node, parentFullName, ctx) {
|
|
|
415
415
|
}
|
|
416
416
|
// Node-level gates that apply to the whole test (and every dataset row).
|
|
417
417
|
// `grep` is applied per-name below (per row for datasets). A bailed run skips
|
|
418
|
-
// what is left —
|
|
418
|
+
// what is left — helix marks them `skip`, it does not drop them.
|
|
419
419
|
const nodeSkipped = node.mode === "skip" || deferredSkip || filteredOut || ctx.bailed;
|
|
420
|
-
//
|
|
420
|
+
// helix marks a bailed-over test with `skip(true, "Skipped due to bail mode")`,
|
|
421
421
|
// so the reason travels on the node and reaches `skipReason` on the events.
|
|
422
422
|
// Mirrored here, on the same node, for the same reason.
|
|
423
423
|
if (ctx.bailed && node.reason === undefined)
|
|
@@ -430,7 +430,7 @@ async function runTest(node, parentFullName, ctx) {
|
|
|
430
430
|
return r;
|
|
431
431
|
};
|
|
432
432
|
const grepOut = (fullName) => ctx.grep !== undefined && !ctx.grep.test(fullName);
|
|
433
|
-
// Dataset expansion (
|
|
433
|
+
// Dataset expansion (`test(name, fn).with(rows)`): resolve the rows at
|
|
434
434
|
// run time (awaiting an async source), then run one test per row with an
|
|
435
435
|
// interpolated title. The full resolved dataset is exposed as `ctx.test.dataset`.
|
|
436
436
|
if (node.datasetFn !== undefined) {
|
|
@@ -496,7 +496,7 @@ async function runOneTest(node, title, fullName, ctx, dataset, row, datasetNode)
|
|
|
496
496
|
const perTestRetries = node.retries ?? inheritedEach(node, "eachRetries") ?? ctx.retries;
|
|
497
497
|
const attempts = 1 + Math.max(0, perTestRetries);
|
|
498
498
|
const start = Date.now();
|
|
499
|
-
//
|
|
499
|
+
// helix announces the test ONCE, before the first attempt; the retry loop
|
|
500
500
|
// lives inside the start/end pair and only the final attempt is reported.
|
|
501
501
|
const startNode = buildTestStartNode(node, title, ctx, datasetNode, {
|
|
502
502
|
isTodo: false,
|
|
@@ -507,7 +507,7 @@ async function runOneTest(node, title, fullName, ctx, dataset, row, datasetNode)
|
|
|
507
507
|
// afterEach) inside its own per-test frame so cleanups / outcome hooks /
|
|
508
508
|
// assertion counters reset between attempts. Passes on the first success.
|
|
509
509
|
let last;
|
|
510
|
-
// 1-based number of the attempt that produced `last` (
|
|
510
|
+
// 1-based number of the attempt that produced `last` (helix counts the first
|
|
511
511
|
// run as attempt 1), and only reported when the test opted into retries.
|
|
512
512
|
let attemptNumber = 1;
|
|
513
513
|
for (let attempt = 0; attempt < attempts; attempt += 1) {
|
|
@@ -549,7 +549,7 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
549
549
|
// A re-armable body timeout so `ctx.test.resetTimeout()` can push the deadline.
|
|
550
550
|
const timeoutCtl = makeTimeoutController(timeoutMs, `test "${fullName}"`);
|
|
551
551
|
// The running test's instance — injected as `ctx.test`, passed to the test
|
|
552
|
-
// hooks
|
|
552
|
+
// hooks, and threaded into the frame so cleanups receive it.
|
|
553
553
|
const testInstance = {
|
|
554
554
|
title,
|
|
555
555
|
fullName,
|
|
@@ -559,8 +559,8 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
559
559
|
retries,
|
|
560
560
|
tags: node.tags ?? [],
|
|
561
561
|
isTodo: false,
|
|
562
|
-
// `test.fails()` — a
|
|
563
|
-
// point (
|
|
562
|
+
// `test.fails()` — a plugin reads it to know an error was the
|
|
563
|
+
// point (`helix's assert` skips its assertion check for such a test).
|
|
564
564
|
isFailing: node.failing === true,
|
|
565
565
|
meta,
|
|
566
566
|
},
|
|
@@ -573,10 +573,10 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
573
573
|
};
|
|
574
574
|
setFrameTest(testInstance);
|
|
575
575
|
// Build the injected context BEFORE the `beforeEach` chain so hooks can reach
|
|
576
|
-
// it as `$test.context`
|
|
576
|
+
// it as `$test.context` — the SAME context flows to the body.
|
|
577
577
|
// Built inside the per-test frame so `ctx.cleanup` / getters bind here.
|
|
578
578
|
const context = buildTestContext(testInstance);
|
|
579
|
-
// A
|
|
579
|
+
// A helix `Test.executed` hook reads `test.context` — `helix's assert` validates
|
|
580
580
|
// its assertion count through it after every test.
|
|
581
581
|
setFrameContext(context);
|
|
582
582
|
testInstance.context = context;
|
|
@@ -594,7 +594,7 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
594
594
|
};
|
|
595
595
|
}
|
|
596
596
|
let testErr;
|
|
597
|
-
// Which phase produced `testErr` — surfaced on `test:end
|
|
597
|
+
// Which phase produced `testErr` — surfaced on `test:end`.
|
|
598
598
|
let errorPhase;
|
|
599
599
|
// Per-test setup hooks (`test.setup`) run after the group `each.setup` chain,
|
|
600
600
|
// just before the body. A failing setup fails the test without running it.
|
|
@@ -606,7 +606,7 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
606
606
|
}
|
|
607
607
|
else {
|
|
608
608
|
try {
|
|
609
|
-
// `done` callback (
|
|
609
|
+
// `done` callback (`waitForDone`): the test completes when the
|
|
610
610
|
// body calls done()/done(error). Built even when unused (harmless).
|
|
611
611
|
let doneResolve = noop;
|
|
612
612
|
let doneReject = noop;
|
|
@@ -672,7 +672,7 @@ async function runAttempt(node, title, fullName, before, after, timeoutMs, retri
|
|
|
672
672
|
// Record the outcome BEFORE the frame's cleanup drain (finally) fires, so
|
|
673
673
|
// `ctx.cleanup((hasError, test) => …)` sees the right `hasError`.
|
|
674
674
|
setFrameOutcome(finalErr !== undefined);
|
|
675
|
-
// A `Test.executed` hook is a verdict, not a teardown:
|
|
675
|
+
// A `Test.executed` hook is a verdict, not a teardown: `helix's assert`
|
|
676
676
|
// validates `assert.plan(n)` there. Its throw has to reach the result, or a
|
|
677
677
|
// plugin's whole reason for existing passes green.
|
|
678
678
|
const executedErr = await drainTestOutcomeHooks(finalErr !== undefined);
|
|
@@ -756,7 +756,7 @@ async function runSuite(node, parentFullName, ctx) {
|
|
|
756
756
|
if (skipEntire)
|
|
757
757
|
return runSkippedSuite(node, fullName, ctx);
|
|
758
758
|
const hookErrors = [];
|
|
759
|
-
// The group's instance
|
|
759
|
+
// The group's instance passed to group hooks, and cleanups a
|
|
760
760
|
// `group.setup()` returns — run in the afterAll phase with `(hadError, group)`.
|
|
761
761
|
// For a `test.group()` this is the SAME object the body received and the call
|
|
762
762
|
// returned (`self === group`); a plain `describe` suite has no group handle,
|
|
@@ -766,7 +766,7 @@ async function runSuite(node, parentFullName, ctx) {
|
|
|
766
766
|
fullName,
|
|
767
767
|
};
|
|
768
768
|
const groupCleanups = [];
|
|
769
|
-
// A group with no runnable test announces nothing —
|
|
769
|
+
// A group with no runnable test announces nothing — helix's refiner drops it
|
|
770
770
|
// before `Group.exec()` runs, so a reporter never sees it.
|
|
771
771
|
const groupFiltered = !suiteHasRunnableTest(node, ctx);
|
|
772
772
|
if (!groupFiltered) {
|
|
@@ -786,7 +786,7 @@ async function runSuite(node, parentFullName, ctx) {
|
|
|
786
786
|
if (!beforeAllFailed) {
|
|
787
787
|
for (const child of node.children) {
|
|
788
788
|
if (child.kind === "test") {
|
|
789
|
-
// A dataset test expands to one result per row
|
|
789
|
+
// A dataset test expands to one result per row.
|
|
790
790
|
for (const r of await runTest(child, fullName, ctx))
|
|
791
791
|
children.push(r);
|
|
792
792
|
}
|
|
@@ -807,10 +807,10 @@ async function runSuite(node, parentFullName, ctx) {
|
|
|
807
807
|
title: node.name,
|
|
808
808
|
meta: { suite: ctx.suite, fileName: ctx.file },
|
|
809
809
|
// True when ANYTHING under the group failed — a hook or a test — which
|
|
810
|
-
// is what
|
|
810
|
+
// is what helix's GroupRunner reports.
|
|
811
811
|
hasError: groupHadError || hookErrors.length > 0,
|
|
812
812
|
// The group's own `errors` are its hook failures only; a test's failure
|
|
813
|
-
// travels on that test's `test:end
|
|
813
|
+
// travels on that test's `test:end`.
|
|
814
814
|
errors: hookErrors.map((error, i) => ({
|
|
815
815
|
phase: i < setupErrorCount ? "setup" : "teardown",
|
|
816
816
|
error,
|
|
@@ -889,7 +889,7 @@ async function runBeforeAllHooks(node, parentFullName, ctx, hookErrors, group, g
|
|
|
889
889
|
if (h.type !== "beforeAll")
|
|
890
890
|
continue;
|
|
891
891
|
try {
|
|
892
|
-
//
|
|
892
|
+
// group hooks receive the Group instance; a returned
|
|
893
893
|
// function becomes a group-scoped cleanup (run in the afterAll phase).
|
|
894
894
|
const ret = await callHook(h, group, ctx.timeoutMs);
|
|
895
895
|
if (isCleanupFn(ret))
|
|
@@ -912,7 +912,7 @@ async function runAfterAllHooks(node, hookErrors, group, groupCleanups, hadError
|
|
|
912
912
|
/** Run-wide default, used when the hook declares no timeout of its own. */
|
|
913
913
|
fallbackMs = 0) {
|
|
914
914
|
// Group-scoped cleanups (returned by `group.setup()`) run first, in reverse
|
|
915
|
-
// insertion order, receiving `(hadError, group)` —
|
|
915
|
+
// insertion order, receiving `(hadError, group)` — helix lifecycle parity.
|
|
916
916
|
for (let i = groupCleanups.length - 1; i >= 0; i -= 1) {
|
|
917
917
|
try {
|
|
918
918
|
await groupCleanups[i](hadError, group);
|
|
@@ -999,16 +999,16 @@ export async function executeRoot(root, file, options = {}) {
|
|
|
999
999
|
file,
|
|
1000
1000
|
suite: { name: options.suite ?? "default" },
|
|
1001
1001
|
bail: options.bail === true,
|
|
1002
|
-
//
|
|
1002
|
+
// helix spells the runner layer as an empty string on its CLI.
|
|
1003
1003
|
bailLayer: options.bailLayer === undefined || options.bailLayer === ""
|
|
1004
1004
|
? "runner"
|
|
1005
1005
|
: options.bailLayer,
|
|
1006
1006
|
bailed: false,
|
|
1007
1007
|
};
|
|
1008
1008
|
const suites = [];
|
|
1009
|
-
//
|
|
1009
|
+
// helix's runner/suite frame. Helix has no named-suite layer (one process per
|
|
1010
1010
|
// file), so the FILE is the suite — `suite:start` carries its name.
|
|
1011
|
-
//
|
|
1011
|
+
// helix skips a suite whose every test is filtered out — the suite never
|
|
1012
1012
|
// announces itself, though the runner still opens and closes the run.
|
|
1013
1013
|
const suiteRunnable = suiteHasRunnableTest(root, ctx);
|
|
1014
1014
|
emitter.emit("runner:start", {});
|
|
@@ -1043,7 +1043,7 @@ export async function executeRoot(root, file, options = {}) {
|
|
|
1043
1043
|
if (!rootBeforeAllFailed) {
|
|
1044
1044
|
for (const child of root.children) {
|
|
1045
1045
|
if (child.kind === "test") {
|
|
1046
|
-
// A dataset test expands to one result per row
|
|
1046
|
+
// A dataset test expands to one result per row.
|
|
1047
1047
|
const trs = await runTest(child, "", ctx);
|
|
1048
1048
|
suites.push({
|
|
1049
1049
|
name: "",
|
package/dist/runtime/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/runtime/run.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/runner.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The `runner` handed to plugins —
|
|
2
|
+
* The `runner` handed to plugins — helix's `Runner`, minus what a worker cannot
|
|
3
3
|
* honestly own.
|
|
4
4
|
*
|
|
5
|
-
* Present, and identical to
|
|
5
|
+
* Present, and identical to helix: `getSummary()`, `failed`, `bail(toggle)`,
|
|
6
6
|
* `onSuite(callback)`. The summary is tracked by subscribing to the very events
|
|
7
7
|
* the runtime emits, so it can never drift from what a reporter sees.
|
|
8
8
|
*
|
|
9
|
-
* `registerReporter` works, with its scope stated: a
|
|
9
|
+
* `registerReporter` works, with its scope stated: a helix reporter is
|
|
10
10
|
* `(runner, emitter) => void`, and the emitter it gets is this worker's, which
|
|
11
11
|
* sees this worker's FILE. That is what a worker can honestly offer, and it
|
|
12
|
-
* beats the alternative — the method being absent, so a
|
|
12
|
+
* beats the alternative — the method being absent, so a plugin calling it
|
|
13
13
|
* dies on a `TypeError` with nothing explaining why. Run-wide output stays the
|
|
14
14
|
* CLI's job: `--reporters`, or `run({ reporterInstance })`.
|
|
15
15
|
*
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { type Emitter } from "./emitter.js";
|
|
21
21
|
import { type SuiteHandle } from "./suite-taps.js";
|
|
22
|
-
/** A
|
|
22
|
+
/** A helix reporter: a handler, or a named one wrapping it. */
|
|
23
23
|
export type ReporterHandler = (runner: Runner, emitter: Emitter) => void | Promise<void>;
|
|
24
24
|
export type ReporterContract = ReporterHandler | {
|
|
25
25
|
readonly name: string;
|
|
@@ -33,7 +33,7 @@ export type ReporterContract = ReporterHandler | {
|
|
|
33
33
|
export declare class RunnerNotDrivableError extends Error {
|
|
34
34
|
constructor(method: string);
|
|
35
35
|
}
|
|
36
|
-
/** Test counts for a run (
|
|
36
|
+
/** Test counts for a run (`summary.aggregates`). */
|
|
37
37
|
export interface SummaryAggregates {
|
|
38
38
|
total: number;
|
|
39
39
|
passed: number;
|
|
@@ -57,28 +57,28 @@ export interface RunnerSummary {
|
|
|
57
57
|
export declare class Runner {
|
|
58
58
|
#private;
|
|
59
59
|
constructor(emitter: Emitter);
|
|
60
|
-
/** Whether anything has failed so far (
|
|
60
|
+
/** Whether anything has failed so far (`Runner#failed`). */
|
|
61
61
|
get failed(): boolean;
|
|
62
62
|
/**
|
|
63
|
-
* Stop at the first failure (
|
|
63
|
+
* Stop at the first failure (`Runner#bail`). A plugin runs before the
|
|
64
64
|
* test file is collected, so this reaches the run it was called for; the
|
|
65
65
|
* `--bail` flag still wins when both are set.
|
|
66
66
|
*/
|
|
67
67
|
bail(toggle?: boolean): this;
|
|
68
68
|
/**
|
|
69
|
-
* Configure the suite before it runs (
|
|
69
|
+
* Configure the suite before it runs (`Runner#onSuite`). helix calls the
|
|
70
70
|
* callback once per suite; a worker runs exactly one, so it is called once,
|
|
71
71
|
* immediately — plugins run before the suite's hooks, so what the callback
|
|
72
72
|
* registers still takes effect.
|
|
73
73
|
*/
|
|
74
74
|
onSuite(callback: (suite: SuiteHandle) => void): this;
|
|
75
75
|
/**
|
|
76
|
-
* Register a
|
|
76
|
+
* Register a helix reporter (`Runner#registerReporter`). It is handed
|
|
77
77
|
* this runner and this worker's emitter, so it observes THIS FILE — the
|
|
78
78
|
* whole run is only visible from the CLI process.
|
|
79
79
|
*/
|
|
80
80
|
registerReporter(reporter: ReporterContract): this;
|
|
81
|
-
/** The suites this worker runs — exactly one (
|
|
81
|
+
/** The suites this worker runs — exactly one (`Runner#suites`). */
|
|
82
82
|
get suites(): SuiteHandle[];
|
|
83
83
|
/** Not available — see {@link RunnerNotDrivableError}. */
|
|
84
84
|
add(): never;
|
|
@@ -90,7 +90,7 @@ export declare class Runner {
|
|
|
90
90
|
end(): never;
|
|
91
91
|
/**
|
|
92
92
|
* The run's summary. Meaningful once `runner:end` has fired — the point a
|
|
93
|
-
*
|
|
93
|
+
* helix reporter reads it from.
|
|
94
94
|
*/
|
|
95
95
|
getSummary(): RunnerSummary;
|
|
96
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runtime/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,cAAc,CAAC;AACrD,OAAO,EAAgB,KAAK,WAAW,EAAW,MAAM,iBAAiB,CAAC;AAE1E
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runtime/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,cAAc,CAAC;AACrD,OAAO,EAAgB,KAAK,WAAW,EAAW,MAAM,iBAAiB,CAAC;AAE1E,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GACzB,eAAe,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAEvD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACpC,MAAM,EAAE,MAAM;CAS1B;AAED,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,MAAM;;gBAaN,OAAO,EAAE,OAAO;IAsC5B,4DAA4D;IAC5D,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAM,UAAO,GAAG,IAAI;IAKzB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAMrD;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAOlD,mEAAmE;IACnE,IAAI,MAAM,IAAI,WAAW,EAAE,CAG1B;IAED,0DAA0D;IAC1D,GAAG,IAAI,KAAK;IAIZ,0DAA0D;IAC1D,KAAK,IAAI,KAAK;IAId,0DAA0D;IAC1D,IAAI,IAAI,KAAK;IAIb,0DAA0D;IAC1D,GAAG,IAAI,KAAK;IAIZ;;;OAGG;IACH,UAAU,IAAI,aAAa;CAQ3B"}
|