@hegeldev/hegel 0.2.3 → 0.3.1
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 +10 -4
- package/dist/cbor.d.ts +15 -0
- package/dist/cbor.d.ts.map +1 -0
- package/dist/cbor.js +32 -0
- package/dist/cbor.js.map +1 -0
- package/dist/checksums.d.ts +16 -0
- package/dist/checksums.d.ts.map +1 -0
- package/dist/checksums.js +26 -0
- package/dist/checksums.js.map +1 -0
- package/dist/generators/numeric.d.ts.map +1 -1
- package/dist/generators/numeric.js +16 -7
- package/dist/generators/numeric.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/libhegel.d.ts +171 -0
- package/dist/libhegel.d.ts.map +1 -0
- package/dist/libhegel.js +343 -0
- package/dist/libhegel.js.map +1 -0
- package/dist/locate.d.ts +42 -0
- package/dist/locate.d.ts.map +1 -0
- package/dist/locate.js +94 -0
- package/dist/locate.js.map +1 -0
- package/dist/runner.d.ts +31 -22
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +152 -201
- package/dist/runner.js.map +1 -1
- package/dist/session.d.ts +16 -13
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +32 -145
- package/dist/session.js.map +1 -1
- package/dist/testCase.d.ts +7 -7
- package/dist/testCase.d.ts.map +1 -1
- package/dist/testCase.js +1 -5
- package/dist/testCase.js.map +1 -1
- package/dist/wtf8.d.ts +2 -0
- package/dist/wtf8.d.ts.map +1 -1
- package/dist/wtf8.js +2 -0
- package/dist/wtf8.js.map +1 -1
- package/native/libhegel-darwin-arm64.dylib +0 -0
- package/native/libhegel-linux-amd64.so +0 -0
- package/native/libhegel-linux-arm64.so +0 -0
- package/native/libhegel-windows-amd64.dll +0 -0
- package/native/libhegel-windows-arm64.dll +0 -0
- package/package.json +9 -11
- package/dist/connection.d.ts +0 -82
- package/dist/connection.d.ts.map +0 -1
- package/dist/connection.js +0 -231
- package/dist/connection.js.map +0 -1
- package/dist/crc32.d.ts +0 -13
- package/dist/crc32.d.ts.map +0 -1
- package/dist/crc32.js +0 -30
- package/dist/crc32.js.map +0 -1
- package/dist/protocol.d.ts +0 -25
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -77
- package/dist/protocol.js.map +0 -1
- package/dist/uv-install.sh +0 -2226
- package/dist/uv.d.ts +0 -20
- package/dist/uv.d.ts.map +0 -1
- package/dist/uv.js +0 -103
- package/dist/uv.js.map +0 -1
package/dist/runner.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Test runner:
|
|
2
|
+
* Test runner: the `hegel.test` / `hegel.testAsync` entry points, Settings, and
|
|
3
|
+
* the test lifecycle driving the native libhegel run loop.
|
|
3
4
|
*
|
|
4
5
|
* @packageDocumentation
|
|
5
6
|
*/
|
|
6
7
|
import * as fs from "node:fs";
|
|
7
8
|
import * as path from "node:path";
|
|
8
|
-
import {
|
|
9
|
+
import { encode, decode } from "./cbor.js";
|
|
9
10
|
import { TestCase, StopTestError, AssumeError } from "./testCase.js";
|
|
10
|
-
import {
|
|
11
|
+
import { getLibhegel } from "./session.js";
|
|
12
|
+
import { Status, RunStatus, NativeVerbosity } from "./libhegel.js";
|
|
11
13
|
export var Verbosity;
|
|
12
14
|
(function (Verbosity) {
|
|
13
15
|
Verbosity["Quiet"] = "quiet";
|
|
@@ -22,6 +24,19 @@ export var HealthCheck;
|
|
|
22
24
|
HealthCheck["TestCasesTooLarge"] = "test_cases_too_large";
|
|
23
25
|
HealthCheck["LargeInitialTestCase"] = "large_initial_test_case";
|
|
24
26
|
})(HealthCheck || (HealthCheck = {}));
|
|
27
|
+
const VERBOSITY_TO_NATIVE = {
|
|
28
|
+
[Verbosity.Quiet]: NativeVerbosity.QUIET,
|
|
29
|
+
[Verbosity.Normal]: NativeVerbosity.NORMAL,
|
|
30
|
+
[Verbosity.Verbose]: NativeVerbosity.VERBOSE,
|
|
31
|
+
[Verbosity.Debug]: NativeVerbosity.DEBUG,
|
|
32
|
+
};
|
|
33
|
+
// `hegel_health_check_t` bit flags.
|
|
34
|
+
const HEALTH_CHECK_TO_BIT = {
|
|
35
|
+
[HealthCheck.FilterTooMuch]: 1 << 0,
|
|
36
|
+
[HealthCheck.TooSlow]: 1 << 1,
|
|
37
|
+
[HealthCheck.TestCasesTooLarge]: 1 << 2,
|
|
38
|
+
[HealthCheck.LargeInitialTestCase]: 1 << 3,
|
|
39
|
+
};
|
|
25
40
|
export const Database = {
|
|
26
41
|
unset: { kind: "unset" },
|
|
27
42
|
disabled: { kind: "disabled" },
|
|
@@ -58,113 +73,60 @@ export function defaultSettings() {
|
|
|
58
73
|
derandomize: inCI,
|
|
59
74
|
database: inCI ? Database.disabled : Database.unset,
|
|
60
75
|
suppressHealthCheck: [],
|
|
76
|
+
reportMultipleFailures: false,
|
|
61
77
|
};
|
|
62
78
|
}
|
|
63
79
|
// ---------------------------------------------------------------------------
|
|
64
|
-
//
|
|
80
|
+
// NativeDataSource
|
|
65
81
|
// ---------------------------------------------------------------------------
|
|
66
82
|
/**
|
|
67
|
-
* DataSource
|
|
68
|
-
*
|
|
83
|
+
* {@link DataSource} backed by a native libhegel test case. All draws, spans
|
|
84
|
+
* and collection operations dispatch to the engine via the {@link Libhegel}
|
|
85
|
+
* C-ABI wrapper.
|
|
69
86
|
*/
|
|
70
|
-
export class
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
constructor(
|
|
75
|
-
this.
|
|
76
|
-
this.
|
|
77
|
-
|
|
78
|
-
sendRequest(command, payload = {}) {
|
|
79
|
-
/* v8 ignore start: reachable via stopSpan after abort, but swallowed by catch */
|
|
80
|
-
if (this._aborted) {
|
|
81
|
-
throw new StopTestError();
|
|
82
|
-
}
|
|
83
|
-
/* v8 ignore stop */
|
|
84
|
-
const message = { command, ...payload };
|
|
85
|
-
const encoded = encode(message);
|
|
86
|
-
const id = this.stream.sendRequest(encoded);
|
|
87
|
-
const responseBytes = this.stream.receiveReply(id);
|
|
88
|
-
const response = decode(responseBytes);
|
|
89
|
-
if ("error" in response) {
|
|
90
|
-
const errorType = response["type"];
|
|
91
|
-
const errorMsg = JSON.stringify(response["error"]);
|
|
92
|
-
if (errorMsg.includes("overflow") ||
|
|
93
|
-
errorMsg.includes("StopTest") ||
|
|
94
|
-
errorType.includes("overflow") ||
|
|
95
|
-
errorType.includes("StopTest")) {
|
|
96
|
-
this.stream.markClosed();
|
|
97
|
-
this._aborted = true;
|
|
98
|
-
throw new StopTestError();
|
|
99
|
-
}
|
|
100
|
-
/* v8 ignore start: FlakyStrategyDefinition is detected in test_done results, not here */
|
|
101
|
-
if (errorMsg.includes("FlakyStrategyDefinition") || errorMsg.includes("FlakyReplay")) {
|
|
102
|
-
this.stream.markClosed();
|
|
103
|
-
this._aborted = true;
|
|
104
|
-
throw new StopTestError();
|
|
105
|
-
}
|
|
106
|
-
/* v8 ignore stop */
|
|
107
|
-
/* v8 ignore start: requires server to crash mid-request */
|
|
108
|
-
if (this.connection.hasServerExited()) {
|
|
109
|
-
throw new Error(`Server process crashed`);
|
|
110
|
-
}
|
|
111
|
-
/* v8 ignore stop */
|
|
112
|
-
throw new Error(`Server error (${errorType}): ${errorMsg}`);
|
|
113
|
-
}
|
|
114
|
-
return response["result"];
|
|
87
|
+
export class NativeDataSource {
|
|
88
|
+
lib;
|
|
89
|
+
ctx;
|
|
90
|
+
tc;
|
|
91
|
+
constructor(lib, ctx, tc) {
|
|
92
|
+
this.lib = lib;
|
|
93
|
+
this.ctx = ctx;
|
|
94
|
+
this.tc = tc;
|
|
115
95
|
}
|
|
116
96
|
generate(schema) {
|
|
117
|
-
|
|
97
|
+
const out = this.lib.generate(this.ctx, this.tc, encode(schema));
|
|
98
|
+
return decode(out);
|
|
118
99
|
}
|
|
119
100
|
startSpan(label) {
|
|
120
|
-
this.
|
|
101
|
+
this.lib.startSpan(this.ctx, this.tc, label);
|
|
121
102
|
}
|
|
122
103
|
stopSpan(discard) {
|
|
123
|
-
this.
|
|
104
|
+
this.lib.stopSpan(this.ctx, this.tc, discard);
|
|
124
105
|
}
|
|
125
106
|
newCollection(minSize, maxSize) {
|
|
126
|
-
|
|
127
|
-
if (maxSize !== undefined) {
|
|
128
|
-
payload["max_size"] = maxSize;
|
|
129
|
-
}
|
|
130
|
-
return this.sendRequest("new_collection", payload);
|
|
107
|
+
return Number(this.lib.newCollection(this.ctx, this.tc, minSize, maxSize));
|
|
131
108
|
}
|
|
132
109
|
collectionMore(collectionId) {
|
|
133
|
-
return this.
|
|
134
|
-
collection_id: collectionId,
|
|
135
|
-
});
|
|
110
|
+
return this.lib.collectionMore(this.ctx, this.tc, BigInt(collectionId));
|
|
136
111
|
}
|
|
137
112
|
collectionReject(collectionId, why) {
|
|
138
|
-
|
|
139
|
-
collection_id: collectionId,
|
|
140
|
-
};
|
|
141
|
-
/* v8 ignore start: callers always provide why */
|
|
142
|
-
if (why !== undefined) {
|
|
143
|
-
payload["why"] = why;
|
|
144
|
-
}
|
|
145
|
-
/* v8 ignore stop */
|
|
146
|
-
this.sendRequest("collection_reject", payload);
|
|
113
|
+
this.lib.collectionReject(this.ctx, this.tc, BigInt(collectionId), why ?? null);
|
|
147
114
|
}
|
|
148
115
|
markComplete(status, origin) {
|
|
149
|
-
|
|
150
|
-
const message = {
|
|
151
|
-
command: "mark_complete",
|
|
152
|
-
status,
|
|
153
|
-
origin: origin ?? null,
|
|
154
|
-
};
|
|
155
|
-
const encoded = encode(message);
|
|
156
|
-
const id = this.stream.sendRequest(encoded);
|
|
157
|
-
this.stream.receiveReply(id);
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
// ignore errors during mark_complete
|
|
161
|
-
}
|
|
162
|
-
this.stream.close();
|
|
163
|
-
}
|
|
164
|
-
testAborted() {
|
|
165
|
-
return this._aborted;
|
|
116
|
+
this.lib.markComplete(this.ctx, this.tc, status, origin);
|
|
166
117
|
}
|
|
167
118
|
}
|
|
119
|
+
const RESULT_TO_STATUS = {
|
|
120
|
+
valid: Status.VALID,
|
|
121
|
+
invalid: Status.INVALID,
|
|
122
|
+
overrun: Status.OVERRUN,
|
|
123
|
+
interesting: Status.INTERESTING,
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Extract a stable origin for a thrown error: the first stack frame outside
|
|
127
|
+
* `node_modules` (the user's test code). The shrinker groups failing inputs by
|
|
128
|
+
* this origin, so it must be stable across calls.
|
|
129
|
+
*/
|
|
168
130
|
function extractOrigin(error) {
|
|
169
131
|
if (!(error instanceof Error) || !error.stack)
|
|
170
132
|
return "<unknown>";
|
|
@@ -183,7 +145,7 @@ function classifyResult(e, isFinal) {
|
|
|
183
145
|
if (e instanceof AssumeError)
|
|
184
146
|
return { result: { status: "invalid" }, origin: null };
|
|
185
147
|
if (e instanceof StopTestError)
|
|
186
|
-
return { result: { status: "
|
|
148
|
+
return { result: { status: "overrun" }, origin: null };
|
|
187
149
|
if (isFinal) {
|
|
188
150
|
const msg = e instanceof Error ? e.message : String(e);
|
|
189
151
|
console.error(`\n${msg}`);
|
|
@@ -193,11 +155,8 @@ function classifyResult(e, isFinal) {
|
|
|
193
155
|
}
|
|
194
156
|
return { result: { status: "interesting", error: e }, origin: extractOrigin(e) };
|
|
195
157
|
}
|
|
196
|
-
function finalizeTestCase(
|
|
197
|
-
|
|
198
|
-
return;
|
|
199
|
-
const status = result.status === "valid" ? "VALID" : result.status === "invalid" ? "INVALID" : "INTERESTING";
|
|
200
|
-
dataSource.markComplete(status, origin);
|
|
158
|
+
function finalizeTestCase(dataSource, result, origin) {
|
|
159
|
+
dataSource.markComplete(RESULT_TO_STATUS[result.status], origin);
|
|
201
160
|
}
|
|
202
161
|
export async function runTestCaseAsync(dataSource, testFn, isFinal) {
|
|
203
162
|
const tc = new TestCase(dataSource, isFinal);
|
|
@@ -210,7 +169,7 @@ export async function runTestCaseAsync(dataSource, testFn, isFinal) {
|
|
|
210
169
|
catch (e) {
|
|
211
170
|
({ result, origin } = classifyResult(e, isFinal));
|
|
212
171
|
}
|
|
213
|
-
finalizeTestCase(
|
|
172
|
+
finalizeTestCase(dataSource, result, origin);
|
|
214
173
|
return result;
|
|
215
174
|
}
|
|
216
175
|
export function runTestCase(dataSource, testFn, isFinal) {
|
|
@@ -224,7 +183,7 @@ export function runTestCase(dataSource, testFn, isFinal) {
|
|
|
224
183
|
catch (e) {
|
|
225
184
|
({ result, origin } = classifyResult(e, isFinal));
|
|
226
185
|
}
|
|
227
|
-
finalizeTestCase(
|
|
186
|
+
finalizeTestCase(dataSource, result, origin);
|
|
228
187
|
return result;
|
|
229
188
|
}
|
|
230
189
|
/* v8 ignore start: only runs inside Antithesis */
|
|
@@ -270,7 +229,36 @@ function emitAntithesisAssertion(location, passed) {
|
|
|
270
229
|
},
|
|
271
230
|
};
|
|
272
231
|
fs.appendFileSync(filePath, JSON.stringify(declaration) + "\n" + JSON.stringify(evaluation) + "\n");
|
|
273
|
-
|
|
232
|
+
}
|
|
233
|
+
/* v8 ignore stop */
|
|
234
|
+
function databaseKey(testFn) {
|
|
235
|
+
return testFn.toString();
|
|
236
|
+
}
|
|
237
|
+
function configureSettings(lib, ctx, settings, s, testFn) {
|
|
238
|
+
lib.setTestCases(settings, s.testCases);
|
|
239
|
+
lib.setVerbosity(settings, VERBOSITY_TO_NATIVE[s.verbosity]);
|
|
240
|
+
lib.setDerandomize(settings, s.derandomize);
|
|
241
|
+
lib.setReportMultipleFailures(settings, s.reportMultipleFailures);
|
|
242
|
+
if (s.seed !== null) {
|
|
243
|
+
lib.setSeed(settings, BigInt(s.seed));
|
|
244
|
+
}
|
|
245
|
+
if (s.database.kind === "disabled") {
|
|
246
|
+
lib.setDatabase(ctx, settings, "");
|
|
247
|
+
}
|
|
248
|
+
else if (s.database.kind === "path") {
|
|
249
|
+
lib.setDatabase(ctx, settings, s.database.path);
|
|
250
|
+
lib.setDatabaseKey(ctx, settings, databaseKey(testFn));
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
lib.setDatabaseKey(ctx, settings, databaseKey(testFn));
|
|
254
|
+
}
|
|
255
|
+
if (s.suppressHealthCheck.length > 0) {
|
|
256
|
+
let mask = 0;
|
|
257
|
+
for (const hc of s.suppressHealthCheck) {
|
|
258
|
+
mask |= HEALTH_CHECK_TO_BIT[hc];
|
|
259
|
+
}
|
|
260
|
+
lib.setSuppressHealthCheck(settings, mask);
|
|
261
|
+
}
|
|
274
262
|
}
|
|
275
263
|
export class Hegel {
|
|
276
264
|
testFn;
|
|
@@ -293,113 +281,76 @@ export class Hegel {
|
|
|
293
281
|
}
|
|
294
282
|
/* v8 ignore stop */
|
|
295
283
|
/**
|
|
296
|
-
* Generator that drives the
|
|
297
|
-
* (plus an `isFinal` flag) each
|
|
298
|
-
*
|
|
299
|
-
* and resumes the generator with the
|
|
300
|
-
* This factoring lets the sync and async drivers share
|
|
301
|
-
*
|
|
284
|
+
* Generator that drives the libhegel run loop, yielding a
|
|
285
|
+
* {@link NativeDataSource} (plus an `isFinal` flag) for each test case the
|
|
286
|
+
* driver ({@link run} or {@link runSync}) should execute the body against. The
|
|
287
|
+
* driver runs the user's body and resumes the generator with the
|
|
288
|
+
* {@link TestCaseResult}. This factoring lets the sync and async drivers share
|
|
289
|
+
* one loop implementation.
|
|
290
|
+
*
|
|
291
|
+
* The engine only *explores* (generate / shrink), so every pumped case is
|
|
292
|
+
* non-final. The client owns the final replays: once the loop drains and the
|
|
293
|
+
* run has failed, each discovered counterexample's reproduce blob is replayed
|
|
294
|
+
* (via `hegel_test_case_from_blob`) as a final case to surface the test's own
|
|
295
|
+
* error for the thrown message.
|
|
302
296
|
*/
|
|
303
297
|
*runSteps() {
|
|
304
|
-
const
|
|
305
|
-
const
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
if (suppressNames.length > 0) {
|
|
324
|
-
runTestMsg["suppress_health_check"] = suppressNames;
|
|
325
|
-
}
|
|
326
|
-
// Send run_test on control stream
|
|
327
|
-
const controlPayload = encode(runTestMsg);
|
|
328
|
-
const reqId = session.controlStream.sendRequest(controlPayload);
|
|
329
|
-
session.controlStream.receiveReply(reqId);
|
|
330
|
-
// Event loop
|
|
331
|
-
let resultData;
|
|
332
|
-
const ackNull = encode({ result: null });
|
|
333
|
-
while (true) {
|
|
334
|
-
const [eventId, eventPayload] = testStream.receiveRequest();
|
|
335
|
-
const event = decode(eventPayload);
|
|
336
|
-
const eventType = event["event"];
|
|
337
|
-
if (eventType === "test_case") {
|
|
338
|
-
const streamId = event["stream_id"];
|
|
339
|
-
const testCaseStream = connection.connectStream(streamId);
|
|
340
|
-
// Ack BEFORE running the test
|
|
341
|
-
testStream.writeReply(eventId, ackNull);
|
|
342
|
-
const ds = new ServerDataSource(connection, testCaseStream);
|
|
343
|
-
yield { ds, isFinal: false };
|
|
344
|
-
}
|
|
345
|
-
else {
|
|
346
|
-
/* v8 ignore start: server only sends test_case and test_done events */
|
|
347
|
-
if (eventType !== "test_done") {
|
|
348
|
-
throw new Error(`Unknown event: ${eventType}`);
|
|
298
|
+
const lib = getLibhegel();
|
|
299
|
+
const ctx = lib.newContext();
|
|
300
|
+
const settings = lib.newSettings();
|
|
301
|
+
try {
|
|
302
|
+
configureSettings(lib, ctx, settings, this._settings, this.testFn);
|
|
303
|
+
const run = lib.runStart(ctx, settings);
|
|
304
|
+
try {
|
|
305
|
+
for (;;) {
|
|
306
|
+
const tc = lib.nextTestCase(ctx, run);
|
|
307
|
+
if (tc === null)
|
|
308
|
+
break;
|
|
309
|
+
const ds = new NativeDataSource(lib, ctx, tc);
|
|
310
|
+
yield { ds, isFinal: false };
|
|
311
|
+
}
|
|
312
|
+
const result = lib.runResult(ctx, run);
|
|
313
|
+
const status = lib.runStatus(result);
|
|
314
|
+
/* v8 ignore start: only runs inside Antithesis */
|
|
315
|
+
if (isRunningInAntithesis() && this._testLocation) {
|
|
316
|
+
emitAntithesisAssertion(this._testLocation, status === RunStatus.PASSED);
|
|
349
317
|
}
|
|
350
318
|
/* v8 ignore stop */
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
319
|
+
if (status === RunStatus.PASSED) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
if (status === RunStatus.ERROR) {
|
|
323
|
+
throw new Error(`Property test failed: ${lib.runError(result)}`);
|
|
324
|
+
}
|
|
325
|
+
// RunStatus.FAILED: replay each distinct counterexample's blob as a
|
|
326
|
+
// final, client-owned case. A genuine counterexample re-fails on replay,
|
|
327
|
+
// so the body throws its own error again — captured here for the message.
|
|
328
|
+
const count = lib.failureCount(result);
|
|
329
|
+
const origins = [];
|
|
330
|
+
let finalError = null;
|
|
331
|
+
for (let i = 0; i < count; i++) {
|
|
332
|
+
const failure = lib.failure(result, i);
|
|
333
|
+
origins.push(lib.failureOrigin(failure));
|
|
334
|
+
const replayTc = lib.testCaseFromBlob(ctx, settings, lib.reproductionBlob(failure));
|
|
335
|
+
try {
|
|
336
|
+
const ds = new NativeDataSource(lib, ctx, replayTc);
|
|
337
|
+
const replay = yield { ds, isFinal: true };
|
|
338
|
+
finalError = replay.error;
|
|
339
|
+
}
|
|
340
|
+
finally {
|
|
341
|
+
lib.freeTestCase(replayTc);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
const detail = finalError instanceof Error ? finalError.message : String(finalError);
|
|
345
|
+
throw new Error(`Property test failed: ${detail} [${origins.join("; ")}]`);
|
|
355
346
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
/* v8 ignore start: requires server to report error in test_done results */
|
|
359
|
-
if (resultData["error"]) {
|
|
360
|
-
throw new Error(`Server error: ${resultData["error"]}`);
|
|
361
|
-
}
|
|
362
|
-
/* v8 ignore stop */
|
|
363
|
-
if (resultData["health_check_failure"]) {
|
|
364
|
-
throw new Error(`Health check failure:\n${resultData["health_check_failure"]}`);
|
|
365
|
-
}
|
|
366
|
-
if (resultData["flaky"]) {
|
|
367
|
-
throw new Error(`Flaky test detected: ${resultData["flaky"]}`);
|
|
368
|
-
}
|
|
369
|
-
const nInteresting = resultData["interesting_test_cases"];
|
|
370
|
-
// Final replays for interesting test cases
|
|
371
|
-
let finalResult = null;
|
|
372
|
-
for (let i = 0; i < nInteresting; i++) {
|
|
373
|
-
const [eventId, eventPayload] = testStream.receiveRequest();
|
|
374
|
-
const event = decode(eventPayload);
|
|
375
|
-
const streamId = event["stream_id"];
|
|
376
|
-
const testCaseStream = connection.connectStream(streamId);
|
|
377
|
-
testStream.writeReply(eventId, ackNull);
|
|
378
|
-
const ds = new ServerDataSource(connection, testCaseStream);
|
|
379
|
-
const result = yield { ds, isFinal: true };
|
|
380
|
-
/* v8 ignore start: replay cases are always interesting */
|
|
381
|
-
if (result.status === "interesting") {
|
|
382
|
-
finalResult = result;
|
|
347
|
+
finally {
|
|
348
|
+
lib.freeRun(run);
|
|
383
349
|
}
|
|
384
|
-
/* v8 ignore stop */
|
|
385
350
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
/* v8 ignore start: only runs inside Antithesis */
|
|
390
|
-
if (isRunningInAntithesis() && this._testLocation) {
|
|
391
|
-
emitAntithesisAssertion(this._testLocation, !testFailed);
|
|
392
|
-
}
|
|
393
|
-
/* v8 ignore stop */
|
|
394
|
-
if (testFailed) {
|
|
395
|
-
let msg = "unknown";
|
|
396
|
-
/* v8 ignore start: finalResult is always set when test fails with interesting cases */
|
|
397
|
-
if (finalResult && finalResult.status === "interesting") {
|
|
398
|
-
const err = finalResult.error;
|
|
399
|
-
msg = err instanceof Error ? err.message : String(err);
|
|
400
|
-
}
|
|
401
|
-
/* v8 ignore stop */
|
|
402
|
-
throw new Error(`Property test failed: ${msg}`);
|
|
351
|
+
finally {
|
|
352
|
+
lib.freeSettings(settings);
|
|
353
|
+
lib.freeContext(ctx);
|
|
403
354
|
}
|
|
404
355
|
}
|
|
405
356
|
async run() {
|
|
@@ -429,8 +380,8 @@ export class Hegel {
|
|
|
429
380
|
* @example
|
|
430
381
|
* ```ts
|
|
431
382
|
* import { test } from 'vitest';
|
|
432
|
-
* import * as hegel from 'hegel';
|
|
433
|
-
* import * as gs from 'hegel/generators';
|
|
383
|
+
* import * as hegel from '@hegeldev/hegel';
|
|
384
|
+
* import * as gs from '@hegeldev/hegel/generators';
|
|
434
385
|
*
|
|
435
386
|
* test('addition is commutative', () =>
|
|
436
387
|
* hegel.test((tc) => {
|
|
@@ -459,8 +410,8 @@ export function test(testFn, settings) {
|
|
|
459
410
|
* @example
|
|
460
411
|
* ```ts
|
|
461
412
|
* import { test } from 'vitest';
|
|
462
|
-
* import * as hegel from 'hegel';
|
|
463
|
-
* import * as gs from 'hegel/generators';
|
|
413
|
+
* import * as hegel from '@hegeldev/hegel';
|
|
414
|
+
* import * as gs from '@hegeldev/hegel/generators';
|
|
464
415
|
*
|
|
465
416
|
* test('my async test', () =>
|
|
466
417
|
* hegel.testAsync(async (tc) => {
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Global lazy
|
|
2
|
+
* Global lazy libhegel handle.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
5
|
-
* the process.
|
|
4
|
+
* The native library is located (and, on first use, downloaded) and loaded the
|
|
5
|
+
* first time a test runs, then reused for the lifetime of the process. Unlike
|
|
6
|
+
* the previous subprocess-based client there is no server to manage: the engine
|
|
7
|
+
* runs on a worker thread inside libhegel, owned by each run handle.
|
|
6
8
|
*
|
|
7
9
|
* @packageDocumentation
|
|
8
10
|
*/
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
import { Libhegel } from "./libhegel.js";
|
|
12
|
+
/**
|
|
13
|
+
* Verify the loaded library's version is ABI-compatible with the one this
|
|
14
|
+
* client was built against. libhegel is pre-1.0, so its C ABI can change
|
|
15
|
+
* between minor versions; we require the `major.minor` to match.
|
|
16
|
+
*/
|
|
17
|
+
export declare function checkVersion(actual: string, expected?: string): void;
|
|
18
|
+
/** Locate, load and version-check the native library. */
|
|
19
|
+
export declare function loadLibhegel(): Libhegel;
|
|
20
|
+
/** Returns the process-global libhegel handle, loading it on first use. */
|
|
21
|
+
export declare function getLibhegel(): Libhegel;
|
|
19
22
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAWzC;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,IAAI,CAQtF;AAED,yDAAyD;AACzD,wBAAgB,YAAY,IAAI,QAAQ,CAIvC;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,IAAI,QAAQ,CAKtC"}
|