@hegeldev/hegel 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +169 -0
- package/dist/libhegel.d.ts.map +1 -0
- package/dist/libhegel.js +338 -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 +30 -22
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +150 -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" },
|
|
@@ -61,110 +76,56 @@ export function defaultSettings() {
|
|
|
61
76
|
};
|
|
62
77
|
}
|
|
63
78
|
// ---------------------------------------------------------------------------
|
|
64
|
-
//
|
|
79
|
+
// NativeDataSource
|
|
65
80
|
// ---------------------------------------------------------------------------
|
|
66
81
|
/**
|
|
67
|
-
* DataSource
|
|
68
|
-
*
|
|
82
|
+
* {@link DataSource} backed by a native libhegel test case. All draws, spans
|
|
83
|
+
* and collection operations dispatch to the engine via the {@link Libhegel}
|
|
84
|
+
* C-ABI wrapper.
|
|
69
85
|
*/
|
|
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"];
|
|
86
|
+
export class NativeDataSource {
|
|
87
|
+
lib;
|
|
88
|
+
ctx;
|
|
89
|
+
tc;
|
|
90
|
+
constructor(lib, ctx, tc) {
|
|
91
|
+
this.lib = lib;
|
|
92
|
+
this.ctx = ctx;
|
|
93
|
+
this.tc = tc;
|
|
115
94
|
}
|
|
116
95
|
generate(schema) {
|
|
117
|
-
|
|
96
|
+
const out = this.lib.generate(this.ctx, this.tc, encode(schema));
|
|
97
|
+
return decode(out);
|
|
118
98
|
}
|
|
119
99
|
startSpan(label) {
|
|
120
|
-
this.
|
|
100
|
+
this.lib.startSpan(this.ctx, this.tc, label);
|
|
121
101
|
}
|
|
122
102
|
stopSpan(discard) {
|
|
123
|
-
this.
|
|
103
|
+
this.lib.stopSpan(this.ctx, this.tc, discard);
|
|
124
104
|
}
|
|
125
105
|
newCollection(minSize, maxSize) {
|
|
126
|
-
|
|
127
|
-
if (maxSize !== undefined) {
|
|
128
|
-
payload["max_size"] = maxSize;
|
|
129
|
-
}
|
|
130
|
-
return this.sendRequest("new_collection", payload);
|
|
106
|
+
return Number(this.lib.newCollection(this.ctx, this.tc, minSize, maxSize));
|
|
131
107
|
}
|
|
132
108
|
collectionMore(collectionId) {
|
|
133
|
-
return this.
|
|
134
|
-
collection_id: collectionId,
|
|
135
|
-
});
|
|
109
|
+
return this.lib.collectionMore(this.ctx, this.tc, BigInt(collectionId));
|
|
136
110
|
}
|
|
137
111
|
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);
|
|
112
|
+
this.lib.collectionReject(this.ctx, this.tc, BigInt(collectionId), why ?? null);
|
|
147
113
|
}
|
|
148
114
|
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;
|
|
115
|
+
this.lib.markComplete(this.ctx, this.tc, status, origin);
|
|
166
116
|
}
|
|
167
117
|
}
|
|
118
|
+
const RESULT_TO_STATUS = {
|
|
119
|
+
valid: Status.VALID,
|
|
120
|
+
invalid: Status.INVALID,
|
|
121
|
+
overrun: Status.OVERRUN,
|
|
122
|
+
interesting: Status.INTERESTING,
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Extract a stable origin for a thrown error: the first stack frame outside
|
|
126
|
+
* `node_modules` (the user's test code). The shrinker groups failing inputs by
|
|
127
|
+
* this origin, so it must be stable across calls.
|
|
128
|
+
*/
|
|
168
129
|
function extractOrigin(error) {
|
|
169
130
|
if (!(error instanceof Error) || !error.stack)
|
|
170
131
|
return "<unknown>";
|
|
@@ -183,7 +144,7 @@ function classifyResult(e, isFinal) {
|
|
|
183
144
|
if (e instanceof AssumeError)
|
|
184
145
|
return { result: { status: "invalid" }, origin: null };
|
|
185
146
|
if (e instanceof StopTestError)
|
|
186
|
-
return { result: { status: "
|
|
147
|
+
return { result: { status: "overrun" }, origin: null };
|
|
187
148
|
if (isFinal) {
|
|
188
149
|
const msg = e instanceof Error ? e.message : String(e);
|
|
189
150
|
console.error(`\n${msg}`);
|
|
@@ -193,11 +154,8 @@ function classifyResult(e, isFinal) {
|
|
|
193
154
|
}
|
|
194
155
|
return { result: { status: "interesting", error: e }, origin: extractOrigin(e) };
|
|
195
156
|
}
|
|
196
|
-
function finalizeTestCase(
|
|
197
|
-
|
|
198
|
-
return;
|
|
199
|
-
const status = result.status === "valid" ? "VALID" : result.status === "invalid" ? "INVALID" : "INTERESTING";
|
|
200
|
-
dataSource.markComplete(status, origin);
|
|
157
|
+
function finalizeTestCase(dataSource, result, origin) {
|
|
158
|
+
dataSource.markComplete(RESULT_TO_STATUS[result.status], origin);
|
|
201
159
|
}
|
|
202
160
|
export async function runTestCaseAsync(dataSource, testFn, isFinal) {
|
|
203
161
|
const tc = new TestCase(dataSource, isFinal);
|
|
@@ -210,7 +168,7 @@ export async function runTestCaseAsync(dataSource, testFn, isFinal) {
|
|
|
210
168
|
catch (e) {
|
|
211
169
|
({ result, origin } = classifyResult(e, isFinal));
|
|
212
170
|
}
|
|
213
|
-
finalizeTestCase(
|
|
171
|
+
finalizeTestCase(dataSource, result, origin);
|
|
214
172
|
return result;
|
|
215
173
|
}
|
|
216
174
|
export function runTestCase(dataSource, testFn, isFinal) {
|
|
@@ -224,7 +182,7 @@ export function runTestCase(dataSource, testFn, isFinal) {
|
|
|
224
182
|
catch (e) {
|
|
225
183
|
({ result, origin } = classifyResult(e, isFinal));
|
|
226
184
|
}
|
|
227
|
-
finalizeTestCase(
|
|
185
|
+
finalizeTestCase(dataSource, result, origin);
|
|
228
186
|
return result;
|
|
229
187
|
}
|
|
230
188
|
/* v8 ignore start: only runs inside Antithesis */
|
|
@@ -270,7 +228,35 @@ function emitAntithesisAssertion(location, passed) {
|
|
|
270
228
|
},
|
|
271
229
|
};
|
|
272
230
|
fs.appendFileSync(filePath, JSON.stringify(declaration) + "\n" + JSON.stringify(evaluation) + "\n");
|
|
273
|
-
|
|
231
|
+
}
|
|
232
|
+
/* v8 ignore stop */
|
|
233
|
+
function databaseKey(testFn) {
|
|
234
|
+
return testFn.toString();
|
|
235
|
+
}
|
|
236
|
+
function configureSettings(lib, ctx, settings, s, testFn) {
|
|
237
|
+
lib.setTestCases(settings, s.testCases);
|
|
238
|
+
lib.setVerbosity(settings, VERBOSITY_TO_NATIVE[s.verbosity]);
|
|
239
|
+
lib.setDerandomize(settings, s.derandomize);
|
|
240
|
+
if (s.seed !== null) {
|
|
241
|
+
lib.setSeed(settings, BigInt(s.seed));
|
|
242
|
+
}
|
|
243
|
+
if (s.database.kind === "disabled") {
|
|
244
|
+
lib.setDatabase(ctx, settings, "");
|
|
245
|
+
}
|
|
246
|
+
else if (s.database.kind === "path") {
|
|
247
|
+
lib.setDatabase(ctx, settings, s.database.path);
|
|
248
|
+
lib.setDatabaseKey(ctx, settings, databaseKey(testFn));
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
lib.setDatabaseKey(ctx, settings, databaseKey(testFn));
|
|
252
|
+
}
|
|
253
|
+
if (s.suppressHealthCheck.length > 0) {
|
|
254
|
+
let mask = 0;
|
|
255
|
+
for (const hc of s.suppressHealthCheck) {
|
|
256
|
+
mask |= HEALTH_CHECK_TO_BIT[hc];
|
|
257
|
+
}
|
|
258
|
+
lib.setSuppressHealthCheck(settings, mask);
|
|
259
|
+
}
|
|
274
260
|
}
|
|
275
261
|
export class Hegel {
|
|
276
262
|
testFn;
|
|
@@ -293,113 +279,76 @@ export class Hegel {
|
|
|
293
279
|
}
|
|
294
280
|
/* v8 ignore stop */
|
|
295
281
|
/**
|
|
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
|
-
*
|
|
282
|
+
* Generator that drives the libhegel run loop, yielding a
|
|
283
|
+
* {@link NativeDataSource} (plus an `isFinal` flag) for each test case the
|
|
284
|
+
* driver ({@link run} or {@link runSync}) should execute the body against. The
|
|
285
|
+
* driver runs the user's body and resumes the generator with the
|
|
286
|
+
* {@link TestCaseResult}. This factoring lets the sync and async drivers share
|
|
287
|
+
* one loop implementation.
|
|
288
|
+
*
|
|
289
|
+
* The engine only *explores* (generate / shrink), so every pumped case is
|
|
290
|
+
* non-final. The client owns the final replays: once the loop drains and the
|
|
291
|
+
* run has failed, each discovered counterexample's reproduce blob is replayed
|
|
292
|
+
* (via `hegel_test_case_from_blob`) as a final case to surface the test's own
|
|
293
|
+
* error for the thrown message.
|
|
302
294
|
*/
|
|
303
295
|
*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}`);
|
|
296
|
+
const lib = getLibhegel();
|
|
297
|
+
const ctx = lib.newContext();
|
|
298
|
+
const settings = lib.newSettings();
|
|
299
|
+
try {
|
|
300
|
+
configureSettings(lib, ctx, settings, this._settings, this.testFn);
|
|
301
|
+
const run = lib.runStart(ctx, settings);
|
|
302
|
+
try {
|
|
303
|
+
for (;;) {
|
|
304
|
+
const tc = lib.nextTestCase(ctx, run);
|
|
305
|
+
if (tc === null)
|
|
306
|
+
break;
|
|
307
|
+
const ds = new NativeDataSource(lib, ctx, tc);
|
|
308
|
+
yield { ds, isFinal: false };
|
|
309
|
+
}
|
|
310
|
+
const result = lib.runResult(ctx, run);
|
|
311
|
+
const status = lib.runStatus(result);
|
|
312
|
+
/* v8 ignore start: only runs inside Antithesis */
|
|
313
|
+
if (isRunningInAntithesis() && this._testLocation) {
|
|
314
|
+
emitAntithesisAssertion(this._testLocation, status === RunStatus.PASSED);
|
|
349
315
|
}
|
|
350
316
|
/* v8 ignore stop */
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
317
|
+
if (status === RunStatus.PASSED) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
if (status === RunStatus.ERROR) {
|
|
321
|
+
throw new Error(`Property test failed: ${lib.runError(result)}`);
|
|
322
|
+
}
|
|
323
|
+
// RunStatus.FAILED: replay each distinct counterexample's blob as a
|
|
324
|
+
// final, client-owned case. A genuine counterexample re-fails on replay,
|
|
325
|
+
// so the body throws its own error again — captured here for the message.
|
|
326
|
+
const count = lib.failureCount(result);
|
|
327
|
+
const origins = [];
|
|
328
|
+
let finalError = null;
|
|
329
|
+
for (let i = 0; i < count; i++) {
|
|
330
|
+
const failure = lib.failure(result, i);
|
|
331
|
+
origins.push(lib.failureOrigin(failure));
|
|
332
|
+
const replayTc = lib.testCaseFromBlob(ctx, settings, lib.reproductionBlob(failure));
|
|
333
|
+
try {
|
|
334
|
+
const ds = new NativeDataSource(lib, ctx, replayTc);
|
|
335
|
+
const replay = yield { ds, isFinal: true };
|
|
336
|
+
finalError = replay.error;
|
|
337
|
+
}
|
|
338
|
+
finally {
|
|
339
|
+
lib.freeTestCase(replayTc);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
const detail = finalError instanceof Error ? finalError.message : String(finalError);
|
|
343
|
+
throw new Error(`Property test failed: ${detail} [${origins.join("; ")}]`);
|
|
355
344
|
}
|
|
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;
|
|
345
|
+
finally {
|
|
346
|
+
lib.freeRun(run);
|
|
383
347
|
}
|
|
384
|
-
/* v8 ignore stop */
|
|
385
348
|
}
|
|
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}`);
|
|
349
|
+
finally {
|
|
350
|
+
lib.freeSettings(settings);
|
|
351
|
+
lib.freeContext(ctx);
|
|
403
352
|
}
|
|
404
353
|
}
|
|
405
354
|
async run() {
|
|
@@ -429,8 +378,8 @@ export class Hegel {
|
|
|
429
378
|
* @example
|
|
430
379
|
* ```ts
|
|
431
380
|
* import { test } from 'vitest';
|
|
432
|
-
* import * as hegel from 'hegel';
|
|
433
|
-
* import * as gs from 'hegel/generators';
|
|
381
|
+
* import * as hegel from '@hegeldev/hegel';
|
|
382
|
+
* import * as gs from '@hegeldev/hegel/generators';
|
|
434
383
|
*
|
|
435
384
|
* test('addition is commutative', () =>
|
|
436
385
|
* hegel.test((tc) => {
|
|
@@ -459,8 +408,8 @@ export function test(testFn, settings) {
|
|
|
459
408
|
* @example
|
|
460
409
|
* ```ts
|
|
461
410
|
* import { test } from 'vitest';
|
|
462
|
-
* import * as hegel from 'hegel';
|
|
463
|
-
* import * as gs from 'hegel/generators';
|
|
411
|
+
* import * as hegel from '@hegeldev/hegel';
|
|
412
|
+
* import * as gs from '@hegeldev/hegel/generators';
|
|
464
413
|
*
|
|
465
414
|
* test('my async test', () =>
|
|
466
415
|
* 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":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGxC,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;AACjB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gDAAiC,CAAA;IACjC,mCAAoB,CAAA;IACpB,yDAA0C,CAAA;IAC1C,+DAAgD,CAAA;AAClD,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAID,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAc;IACpC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAc;IAC1C,QAAQ,EAAE,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;CAC/D,CAAC;AAWF,SAAS,MAAM;IACb,MAAM,MAAM,GAAmC;QAC7C,CAAC,IAAI,EAAE,IAAI,CAAC;QACZ,CAAC,kBAAkB,EAAE,IAAI,CAAC;QAC1B,CAAC,WAAW,EAAE,MAAM,CAAC;QACrB,CAAC,UAAU,EAAE,MAAM,CAAC;QACpB,CAAC,WAAW,EAAE,MAAM,CAAC;QACrB,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAC5B,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAC1B,CAAC,WAAW,EAAE,IAAI,CAAC;QACnB,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAC5B,CAAC,kBAAkB,EAAE,IAAI,CAAC;QAC1B,CAAC,UAAU,EAAE,MAAM,CAAC;QACpB,CAAC,iBAAiB,EAAE,IAAI,CAAC;KAC1B,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO;QACL,SAAS,EAAE,GAAG;QACd,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;QACnD,mBAAmB,EAAE,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAS;IACf,UAAU,CAAa;IACvB,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,UAAsB,EAAE,MAAc;QAChD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,UAAmC,EAAE;QACxE,iFAAiF;QACjF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,aAAa,EAAE,CAAC;QAC5B,CAAC;QACD,oBAAoB;QAEpB,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAA4B,CAAC;QAElE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAW,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnD,IACE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7B,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9B,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC9B,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,IAAI,aAAa,EAAE,CAAC;YAC5B,CAAC;YACD,yFAAyF;YACzF,IAAI,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrF,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,IAAI,aAAa,EAAE,CAAC;YAC5B,CAAC;YACD,oBAAoB;YACpB,2DAA2D;YAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YACD,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,MAA+B;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,OAAgB;QAC7C,MAAM,OAAO,GAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAW,CAAC;IAC/D,CAAC;IAED,cAAc,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACzC,aAAa,EAAE,YAAY;SAC5B,CAAY,CAAC;IAChB,CAAC;IAED,gBAAgB,CAAC,YAAoB,EAAE,GAAY;QACjD,MAAM,OAAO,GAA4B;YACvC,aAAa,EAAE,YAAY;SAC5B,CAAC;QACF,iDAAiD;QACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACvB,CAAC;QACD,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,MAAqB;QAChD,IAAI,CAAC;YACH,MAAM,OAAO,GAA4B;gBACvC,OAAO,EAAE,eAAe;gBACxB,MAAM;gBACN,MAAM,EAAE,MAAM,IAAI,IAAI;aACvB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAOD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,WAAW,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,4FAA4F;IAC5F,OAAO,WAAW,CAAC;IACnB,oBAAoB;AACtB,CAAC;AAED,SAAS,cAAc,CACrB,CAAU,EACV,OAAgB;IAEhB,IAAI,CAAC,YAAY,WAAW;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACrF,IAAI,CAAC,YAAY,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEvF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,gBAAgB,CACvB,EAAY,EACZ,UAAsB,EACtB,MAAsB,EACtB,MAAqB;IAErB,IAAI,EAAE,CAAC,WAAW;QAAE,OAAO;IAC3B,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IAChG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAsB,EACtB,MAA8C,EAC9C,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAsB,CAAC;IAC3B,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QACjB,MAAM,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,UAAsB,EACtB,MAA8B,EAC9B,OAAgB;IAEhB,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAsB,CAAC;IAC3B,IAAI,MAAM,GAAkB,IAAI,CAAC;IAEjC,IAAI,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,CAAC;QACX,MAAM,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,kDAAkD;AAClD,SAAS,qBAAqB;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACjD,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,CAAC;AACzC,CAAC;AACD,SAAS,uBAAuB,CAAC,QAAsB,EAAE,MAAe;IACtE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,oBAAoB,CAAC;IAEvE,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,WAAW,GAAG;QAClB,iBAAiB,EAAE;YACjB,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,KAAK;YAChB,EAAE;YACF,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,WAAW;SACtB;KACF,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,iBAAiB,EAAE;YACjB,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,MAAM;YACjB,EAAE;YACF,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,WAAW;SACtB;KACF,CAAC;IAEF,EAAE,CAAC,cAAc,CACf,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CACvE,CAAC;IACF,oBAAoB;AACtB,CAAC;AAED,MAAM,OAAO,KAAK;IACR,MAAM,CAAyC;IAC/C,SAAS,CAAW;IACpB,aAAa,GAAwB,IAAI,CAAC;IAElD,YAAY,MAA8C;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,4DAA4D;IAC5D,QAAQ,CAAC,CAAoB;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,kDAAkD;IAClD,YAAY,CAAC,QAAsB;QACjC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oBAAoB;IAEpB;;;;;;;OAOG;IACK,CAAC,QAAQ;QACf,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;QAE1C,yBAAyB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAW,CAAC,CAAC;QAEjF,MAAM,UAAU,GAA4B;YAC1C,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;YACpC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YACzB,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YACvC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAClD,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChD,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnD,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxD,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAAC;QACtD,CAAC;QAED,kCAAkC;QAClC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1C,aAAa;QACb,IAAI,UAAmC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAA4B,CAAC;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAW,CAAC;YAE3C,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAW,CAAC;gBAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAE1D,8BAA8B;gBAC9B,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAExC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBAC5D,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,oBAAoB;gBACpB,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxC,UAAU,GAAG,KAAK,CAAC,SAAS,CAA4B,CAAC;gBACzD,MAAM;YACR,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,2EAA2E;QAC3E,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,oBAAoB;QACpB,IAAI,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,wBAAwB,CAAW,CAAC;QAEpE,2CAA2C;QAC3C,IAAI,WAAW,GAA0B,IAAI,CAAC;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAA4B,CAAC;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAW,CAAC;YAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE1D,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAExC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAE3C,0DAA0D;YAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACpC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YACD,oBAAoB;QACtB,CAAC;QAED,UAAU,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAY,CAAC;QAC/C,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC;QAE3B,kDAAkD;QAClD,IAAI,qBAAqB,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAClD,uBAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,oBAAoB;QAEpB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,SAAS,CAAC;YACpB,uFAAuF;YACvF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC9B,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC;YACD,oBAAoB;YACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACnC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,MAAgC,EAAE,OAAO,CAAC,CAAC;YAC/E,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,IAAI,CAAC,MAA8B,EAAE,QAA4B;IAC/E,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,sEAAsE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,QAAQ;QAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAA8C,EAC9C,QAA4B;IAE5B,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,QAAQ;QAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|
|
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"}
|