@matter/testing 0.16.8 → 0.16.9-alpha.0-20260203-080317ea1
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/dist/cjs/failure-detail.d.ts +2 -1
- package/dist/cjs/failure-detail.d.ts.map +1 -1
- package/dist/cjs/failure-detail.js +4 -1
- package/dist/cjs/failure-detail.js.map +1 -1
- package/dist/cjs/failure-reporter.js +4 -1
- package/dist/cjs/failure-reporter.js.map +1 -1
- package/dist/cjs/global-declarations.d.ts +6 -1
- package/dist/cjs/global-declarations.d.ts.map +1 -1
- package/dist/cjs/mocha.d.ts.map +1 -1
- package/dist/cjs/mocha.js +19 -1
- package/dist/cjs/mocha.js.map +1 -1
- package/dist/cjs/mocks/boot.d.ts +4 -2
- package/dist/cjs/mocks/boot.d.ts.map +1 -1
- package/dist/cjs/mocks/boot.js +8 -3
- package/dist/cjs/mocks/boot.js.map +1 -1
- package/dist/cjs/mocks/time.d.ts +8 -1
- package/dist/cjs/mocks/time.d.ts.map +1 -1
- package/dist/cjs/mocks/time.js +19 -3
- package/dist/cjs/mocks/time.js.map +1 -1
- package/dist/esm/failure-detail.d.ts +2 -1
- package/dist/esm/failure-detail.d.ts.map +1 -1
- package/dist/esm/failure-detail.js +4 -1
- package/dist/esm/failure-detail.js.map +1 -1
- package/dist/esm/failure-reporter.js +4 -1
- package/dist/esm/failure-reporter.js.map +1 -1
- package/dist/esm/global-declarations.d.ts +6 -1
- package/dist/esm/global-declarations.d.ts.map +1 -1
- package/dist/esm/mocha.d.ts.map +1 -1
- package/dist/esm/mocha.js +19 -1
- package/dist/esm/mocha.js.map +1 -1
- package/dist/esm/mocks/boot.d.ts +4 -2
- package/dist/esm/mocks/boot.d.ts.map +1 -1
- package/dist/esm/mocks/boot.js +8 -3
- package/dist/esm/mocks/boot.js.map +1 -1
- package/dist/esm/mocks/time.d.ts +8 -1
- package/dist/esm/mocks/time.d.ts.map +1 -1
- package/dist/esm/mocks/time.js +19 -3
- package/dist/esm/mocks/time.js.map +1 -1
- package/package.json +3 -3
- package/src/failure-detail.ts +5 -1
- package/src/failure-reporter.ts +5 -1
- package/src/global-declarations.ts +7 -1
- package/src/mocha.ts +26 -1
- package/src/mocks/boot.ts +15 -6
- package/src/mocks/time.ts +32 -4
|
@@ -8,6 +8,7 @@ export interface FailureDetail {
|
|
|
8
8
|
id?: string;
|
|
9
9
|
stack?: string;
|
|
10
10
|
stackLines?: string[];
|
|
11
|
+
diagnostics?: string;
|
|
11
12
|
actual?: string;
|
|
12
13
|
expected?: string;
|
|
13
14
|
logs?: string;
|
|
@@ -18,5 +19,5 @@ export interface FailureDetail {
|
|
|
18
19
|
/**
|
|
19
20
|
* Captures all pertinent information about a failed test.
|
|
20
21
|
*/
|
|
21
|
-
export declare function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[]): FailureDetail;
|
|
22
|
+
export declare function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[], diagnostics?: string): FailureDetail;
|
|
22
23
|
//# sourceMappingURL=failure-detail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,iBAsCnH"}
|
|
@@ -26,7 +26,7 @@ module.exports = __toCommonJS(failure_detail_exports);
|
|
|
26
26
|
* Copyright 2022-2026 Matter.js Authors
|
|
27
27
|
* SPDX-License-Identifier: Apache-2.0
|
|
28
28
|
*/
|
|
29
|
-
function FailureDetail(error, id, logs, parentStack) {
|
|
29
|
+
function FailureDetail(error, id, logs, parentStack, diagnostics) {
|
|
30
30
|
const { message, stack, stackLines, cause, errors, secondary } = parseError(error, parentStack);
|
|
31
31
|
const result = { message };
|
|
32
32
|
if (stack) {
|
|
@@ -38,6 +38,9 @@ function FailureDetail(error, id, logs, parentStack) {
|
|
|
38
38
|
if (logs?.length) {
|
|
39
39
|
result.logs = logs.join("\n");
|
|
40
40
|
}
|
|
41
|
+
if (diagnostics?.length) {
|
|
42
|
+
result.diagnostics = diagnostics;
|
|
43
|
+
}
|
|
41
44
|
if (cause) {
|
|
42
45
|
result.cause = cause;
|
|
43
46
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/failure-detail.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB,aAAsB;AAClH,QAAM,EAAE,SAAS,OAAO,YAAY,OAAO,QAAQ,UAAU,IAAI,WAAW,OAAO,WAAW;AAC9F,QAAM,SAAS,EAAE,QAAQ;AAEzB,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,IAAI;AACJ,WAAO,KAAK;AAAA,EAChB;AACA,MAAI,MAAM,QAAQ;AACd,WAAO,OAAO,KAAK,KAAK,IAAI;AAAA,EAChC;AACA,MAAI,aAAa,QAAQ;AACrB,WAAO,cAAc;AAAA,EACzB;AACA,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,WAAW;AACX,WAAO,YAAY;AAAA,EACvB;AACA,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,YAAY;AACZ,WAAO,aAAa;AAAA,EACxB;AAEA,QAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,UAAU;AACV,WAAO,WAAW;AAAA,EACtB;AAEA,SAAO;AACX;AAEA,SAAS,mBACL,OACA,aACuE;AAEvE,MAAI,aAAa,oBAAoB;AACjC,WAAO,YAAY,mBAAmB,OAAO,WAAW;AAAA,EAC5D;AAGA,MAAI,SAAS;AACb,MAAI,UAAU,UAAa,UAAU,MAAM;AACvC,cAAU,aAAa,KAAK;AAAA,EAChC,OAAO;AACH,cAAU,MAAM;AAAA,EACpB;AAEA,MAAI,MAAM,OAAO;AACb,QAAI,QAAQ,MAAM,MAAM,KAAK,EAAE,MAAM,IAAI;AACzC,QAAI,CAAC,SAAS;AACV,gBAAU,MAAM,CAAC;AAAA,IACrB;AACA,YAAQ,MAAM,OAAO,UAAQ,KAAK,MAAM,aAAa,CAAC;AACtD,QAAI,MAAM,QAAQ;AACd,cAAQ,MAAM,IAAI,UAAQ,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI;AAAA,IACpD;AAAA,EACJ;AAEA,MAAI,CAAC,SAAS;AACV,cAAU,MAAM,SAAS;AAAA,EAC7B;AAEA,SAAO,EAAE,SAAS,MAAM;AAC5B;AAEA,SAAS,WAAW,OAAc,aAAwB;AACtD,MAAI;AACJ,MAAI,WAAW,SAAS,gBAAgB,OAAO;AAC3C,gBAAY,cAAc,MAAM,KAAK;AACrC,YAAQ,MAAM;AAAA,EAClB;AAEA,QAAM,EAAE,SAAS,IAAI,OAAO,WAAW,IAAI,mBAAmB,OAAO,WAAW;AAEhF,MAAI,OAAkC;AAEtC,QAAM,aAAa,MAAM;AACzB,MAAI,YAAY;AACZ,YAAQ,cAAc,YAAY,IAAI,QAAW,UAAU;AAAA,EAC/D;AAEA,QAAM,cAAe,MAAyB;AAC9C,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,aAAS,YAAY,IAAI,OAAK,cAAc,GAAG,IAAI,QAAW,UAAU,CAAC;AAAA,EAC7E;AAEA,SAAO,EAAE,SAAS,IAAI,OAAO,YAAY,OAAO,QAAQ,UAAU;AACtE;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -49,7 +49,7 @@ function dumpCause(out, failure) {
|
|
|
49
49
|
dumpDetails(out, failure);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, secondary, logs }) {
|
|
52
|
+
function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, secondary, logs, diagnostics }) {
|
|
53
53
|
out("\n", import_tools.ansi.bright.red(id ? `[${import_tools.ansi.bold(id)}] ${message}` : message), "\n");
|
|
54
54
|
if (actual !== void 0 && expected !== void 0) {
|
|
55
55
|
out("\n");
|
|
@@ -79,5 +79,8 @@ function dumpDetails(out, { message, id, actual, expected, stack, cause, errors,
|
|
|
79
79
|
if (logs) {
|
|
80
80
|
out("\n", logs, "\n");
|
|
81
81
|
}
|
|
82
|
+
if (diagnostics) {
|
|
83
|
+
out("\n", import_tools.ansi.bold("Process state at timeout:"), "\n", diagnostics, "\n");
|
|
84
|
+
}
|
|
82
85
|
}
|
|
83
86
|
//# sourceMappingURL=failure-reporter.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/failure-reporter.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAmD;AAEnD,uBAAyB;AARzB;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,cAAc,GAAG,kBAAK,GAAG,yPAA4C,kBAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,kBAAK,GAAG,WAAM,kBAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,kBAAK,GAAG,WAAM,kBAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,kBAAK,GAAG,qBAAM,kBAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,kBAAK,KAAK,IAAI,gCAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YACL,KACA,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,WAAW,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAmD;AAEnD,uBAAyB;AARzB;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,cAAc,GAAG,kBAAK,GAAG,yPAA4C,kBAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,kBAAK,GAAG,WAAM,kBAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,kBAAK,GAAG,WAAM,kBAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,kBAAK,GAAG,qBAAM,kBAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,kBAAK,KAAK,IAAI,gCAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YACL,KACA,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,WAAW,MAAM,YAAY,GACtF;AACE,MAAI,MAAM,kBAAK,OAAO,IAAI,KAAK,IAAI,kBAAK,KAAK,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,GAAG,IAAI;AAE/E,MAAI,WAAW,UAAa,aAAa,QAAW;AAChD,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,QAAI,2BAAS,QAAQ,QAAQ,CAAC,CAAC;AACvE,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC;AAChD,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,MAAM,kBAAK,KAAK,YAAY,GAAG,IAAI;AACvC,cAAU,KAAK,KAAK;AAAA,EACxB;AAEA,MAAI,QAAQ,QAAQ;AAChB,QAAI,MAAM;AACV,eAAWC,UAAS,QAAQ;AACxB,UAAI,MAAM,kBAAK,KAAK,UAAU,EAAE,GAAG,GAAG,GAAG,IAAI;AAC7C,gBAAU,KAAKA,MAAK;AAAA,IACxB;AAAA,EACJ;AAEA,MAAI,WAAW;AACX,QAAI,MAAM,kBAAK,KAAK,kCAAkC,GAAG,IAAI;AAC7D,cAAU,KAAK,SAAS;AAAA,EAC5B;AAEA,MAAI,MAAM;AACN,QAAI,MAAM,MAAM,IAAI;AAAA,EACxB;AAEA,MAAI,aAAa;AACb,QAAI,MAAM,kBAAK,KAAK,2BAA2B,GAAG,MAAM,aAAa,IAAI;AAAA,EAC7E;AACJ;",
|
|
5
5
|
"names": ["FailureReporter", "cause"]
|
|
6
6
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type Chai from "chai";
|
|
7
7
|
import "chai-as-promised";
|
|
8
8
|
import type { DiffMarker } from "./chai.js";
|
|
9
|
+
import type { BootKind } from "./mocks/boot.js";
|
|
9
10
|
import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
|
|
10
11
|
import type { MockTime } from "./mocks/time.js";
|
|
11
12
|
import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
|
|
@@ -32,7 +33,7 @@ declare global {
|
|
|
32
33
|
* Set boot manager.
|
|
33
34
|
*/
|
|
34
35
|
bootSetup(boot: {
|
|
35
|
-
reboot(): void | Promise<void>;
|
|
36
|
+
reboot(kind?: BootKind): void | Promise<void>;
|
|
36
37
|
}): void;
|
|
37
38
|
/**
|
|
38
39
|
* Configure time.
|
|
@@ -46,6 +47,10 @@ declare global {
|
|
|
46
47
|
* Receive intercepted log messages.
|
|
47
48
|
*/
|
|
48
49
|
loggerSink?: (text: string, message: DiagnosticMessageLike) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Dump information about current state of process to log.
|
|
52
|
+
*/
|
|
53
|
+
generateDiagnostics?: () => string;
|
|
49
54
|
/**
|
|
50
55
|
* Extract error details.
|
|
51
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG;QAE/B,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;QAGnB,KAAK,EAAE,UAAU,CAAC;QAGlB,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;KACtB,CAAC;IAGF,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG;QAE/B,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;QAGnB,KAAK,EAAE,UAAU,CAAC;QAGlB,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;KACtB,CAAC;IAGF,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;QAEzE;;WAEG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAEhC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAEpE;;WAEG;QACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;QAEnC;;WAEG;QACH,kBAAkB,CAAC,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,KACrB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAChF,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;SAC5C;QAED,UAAU,IAAI;YACV,UAAU,EAAE,cAAc,CAAC;SAC9B;KACJ;CACJ"}
|
package/dist/cjs/mocha.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAM7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,QAAA,MAAM,aAAa,eAAwB,CAAC;AAC5C,QAAA,MAAM,YAAY,eAAuB,CAAC;AAE1C,UAAU,YAAa,SAAQ,IAAI;IAC/B,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/C,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK7E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,QAqCxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAqFhD;AAcD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAaD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBAiIunX,GAAG;;;;;;;;;;;;EA5DjqX;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAwB/C;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAExD"}
|
package/dist/cjs/mocha.js
CHANGED
|
@@ -32,6 +32,7 @@ module.exports = __toCommonJS(mocha_exports);
|
|
|
32
32
|
var import_failure_detail = require("./failure-detail.js");
|
|
33
33
|
var import_boot = require("./mocks/boot.js");
|
|
34
34
|
var import_logging = require("./mocks/logging.js");
|
|
35
|
+
var import_time = require("./mocks/time.js");
|
|
35
36
|
var import_options = require("./options.js");
|
|
36
37
|
var import_text_diff = require("./text-diff.js");
|
|
37
38
|
var import_wtf = require("./util/wtf.js");
|
|
@@ -86,6 +87,15 @@ function generalSetup(mocha) {
|
|
|
86
87
|
import_text_diff.TextDiff.generator = Base.generateDiff.bind(Base);
|
|
87
88
|
}
|
|
88
89
|
function extendApi(Mocha2) {
|
|
90
|
+
Mocha2.Runnable.prototype._timeoutError = function(timeoutMs) {
|
|
91
|
+
const error = new import_time.TestTimeoutError(`Timeout of ${timeoutMs}ms exceeded`);
|
|
92
|
+
error.code = "ERR_MOCHA_TIMEOUT";
|
|
93
|
+
error.timeout = timeoutMs;
|
|
94
|
+
if (this.file) {
|
|
95
|
+
error.file = this.file;
|
|
96
|
+
}
|
|
97
|
+
return error;
|
|
98
|
+
};
|
|
89
99
|
Mocha2.reporters.Base.maxDiffSize = 65535;
|
|
90
100
|
const descriptors = /* @__PURE__ */ new WeakMap();
|
|
91
101
|
Object.defineProperty(Mocha2.Suite.prototype, "descriptor", {
|
|
@@ -144,6 +154,7 @@ function extendApi(Mocha2) {
|
|
|
144
154
|
function instrumentSuites(mocha) {
|
|
145
155
|
for (const suite of mocha.suite.suites) {
|
|
146
156
|
suite.beforeAll(beforeEachFile);
|
|
157
|
+
suite.beforeEach(beforeEach);
|
|
147
158
|
const hooks = suite._beforeAll;
|
|
148
159
|
const myHook = hooks.pop();
|
|
149
160
|
hooks.unshift(myHook);
|
|
@@ -169,6 +180,9 @@ async function runMocha(mocha) {
|
|
|
169
180
|
function beforeEachFile() {
|
|
170
181
|
import_boot.Boot.reboot();
|
|
171
182
|
}
|
|
183
|
+
function beforeEach() {
|
|
184
|
+
import_boot.Boot.reset();
|
|
185
|
+
}
|
|
172
186
|
function adaptReporter(Mocha2, title, reporter, updateStats = false) {
|
|
173
187
|
const RUNNER = Mocha2.Runner.constants;
|
|
174
188
|
let logs = Array();
|
|
@@ -204,12 +218,16 @@ function adaptReporter(Mocha2, title, reporter, updateStats = false) {
|
|
|
204
218
|
});
|
|
205
219
|
}
|
|
206
220
|
runner.on(RUNNER.EVENT_TEST_FAIL, (test, error) => {
|
|
221
|
+
let diagnostics;
|
|
222
|
+
if (error instanceof import_time.TestTimeoutError) {
|
|
223
|
+
diagnostics = error.diagnostics;
|
|
224
|
+
}
|
|
207
225
|
if (updateStats && test.descriptor) {
|
|
208
226
|
test.descriptor.durationMs = test.duration;
|
|
209
227
|
test.descriptor.passed = false;
|
|
210
228
|
}
|
|
211
229
|
const logs2 = test.logs;
|
|
212
|
-
reporter.failTest(test.title, (0, import_failure_detail.FailureDetail)(error, void 0, logs2));
|
|
230
|
+
reporter.failTest(test.title, (0, import_failure_detail.FailureDetail)(error, void 0, logs2, void 0, diagnostics));
|
|
213
231
|
import_wtf.wtf.dump();
|
|
214
232
|
});
|
|
215
233
|
runner.once(RUNNER.EVENT_RUN_END, () => {
|
package/dist/cjs/mocha.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/mocha.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,4BAA8B;AAC9B,kBAAqB;AACrB,qBAA4B;AAC5B,qBAA4B;AAG5B,uBAAyB;AACzB,iBAAoB;AACpB,0BAA4B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Mocha", "logs"]
|
|
6
6
|
}
|
package/dist/cjs/mocks/boot.d.ts
CHANGED
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export interface Boot {
|
|
7
7
|
format: string;
|
|
8
|
-
init(fn: () => void): void;
|
|
8
|
+
init(fn: (kind: BootKind) => void): void;
|
|
9
9
|
reboot(): void;
|
|
10
|
+
reset(): void;
|
|
10
11
|
}
|
|
11
12
|
export declare const Boot: Boot;
|
|
12
13
|
export declare function bootSetup(AppBoot: {
|
|
13
|
-
reboot(): () => void;
|
|
14
|
+
reboot(kind?: BootKind): () => void;
|
|
14
15
|
}): void;
|
|
16
|
+
export type BootKind = "platform" | "state";
|
|
15
17
|
//# sourceMappingURL=boot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/mocks/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/mocks/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACzC,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,eAAO,MAAM,IAAI,EAAE,IAmBlB,CAAC;AAIF,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAA;CAAE,QAEzE;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC"}
|
package/dist/cjs/mocks/boot.js
CHANGED
|
@@ -31,16 +31,21 @@ const appBooters = {};
|
|
|
31
31
|
const Boot = {
|
|
32
32
|
format: "unknown",
|
|
33
33
|
init(fn) {
|
|
34
|
-
fn();
|
|
34
|
+
fn("platform");
|
|
35
35
|
initializers.push(fn);
|
|
36
36
|
},
|
|
37
37
|
reboot() {
|
|
38
38
|
for (const initializer of initializers) {
|
|
39
|
-
initializer();
|
|
39
|
+
initializer("platform");
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
reset() {
|
|
43
|
+
for (const initializer of initializers) {
|
|
44
|
+
initializer("state");
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
47
|
};
|
|
43
|
-
const initializers = [() => appBooters[Boot.format]?.()];
|
|
48
|
+
const initializers = [(kind) => appBooters[Boot.format]?.(kind)];
|
|
44
49
|
function bootSetup(AppBoot) {
|
|
45
50
|
appBooters[Boot.format] = AppBoot.reboot.bind(Boot);
|
|
46
51
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mocks/boot.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,aAAa,CAAC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,aAAa,CAAC;AASb,MAAM,OAAa;AAAA,EACtB,QAAQ;AAAA,EAER,KAAK,IAAI;AACL,OAAG,UAAU;AACb,iBAAa,KAAK,EAAE;AAAA,EACxB;AAAA,EAEA,SAAS;AACL,eAAW,eAAe,cAAc;AACpC,kBAAY,UAAU;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEA,QAAQ;AACJ,eAAW,eAAe,cAAc;AACpC,kBAAY,OAAO;AAAA,IACvB;AAAA,EACJ;AACJ;AAEA,MAAM,eAAe,CAAC,CAAC,SAAmB,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC;AAElE,SAAS,UAAU,SAAkD;AACxE,aAAW,KAAK,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AACtD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/mocks/time.d.ts
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
export declare class TestTimeoutError extends Error {
|
|
7
|
+
diagnostics: string | undefined;
|
|
8
|
+
constructor(message: string);
|
|
9
|
+
code?: number | string;
|
|
10
|
+
timeout?: number;
|
|
11
|
+
file?: string;
|
|
12
|
+
}
|
|
6
13
|
type TimerCallback = () => any;
|
|
7
14
|
type MockTimeLike = typeof MockTime;
|
|
8
15
|
export interface MockTime extends MockTimeLike {
|
|
@@ -67,7 +74,7 @@ export declare const MockTime: {
|
|
|
67
74
|
*
|
|
68
75
|
* Moves time forward until the promise resolves.
|
|
69
76
|
*/
|
|
70
|
-
resolve<T>(promise: PromiseLike<T
|
|
77
|
+
resolve<T>(promise: PromiseLike<T> | T, { stepMs, macrotasks }?: {
|
|
71
78
|
stepMs?: number;
|
|
72
79
|
macrotasks?: boolean;
|
|
73
80
|
}): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,CAAC;AAE/B,KAAK,YAAY,GAAG,OAAO,QAAQ,CAAC;AACpC,MAAM,WAAW,QAAS,SAAQ,YAAY;CAAG;AASjD,cAAM,SAAS;;IACX,IAAI,SAAU;IACd,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,UAAU,UAAS;IAKnB,SAAS,UAAS;gBAGN,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBvF,KAAK;IAOL,IAAI;CAUP;AAYD,KAAK,eAAe,CAAC,CAAC,IAClB,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GACd;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GACjF;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC;AAmB9E,eAAO,MAAM,QAAQ;;mCAGW,OAAO;IAInC;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;iBACS,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAOjD;;OAEG;;IAOH;;;;;OAKG;gBACmB,OAAO;WAItB,CAAC,QAAQ,MAAM,GAAG,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC;kBAoBtC,IAAI;;mBAQA,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIrD,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;IAIpF;;;;OAIG;YACW,CAAC,
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/mocks/time.js
CHANGED
|
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var time_exports = {};
|
|
20
20
|
__export(time_exports, {
|
|
21
21
|
MockTime: () => MockTime,
|
|
22
|
+
TestTimeoutError: () => TestTimeoutError,
|
|
22
23
|
timeSetup: () => timeSetup
|
|
23
24
|
});
|
|
24
25
|
module.exports = __toCommonJS(time_exports);
|
|
@@ -28,6 +29,15 @@ var import_boot = require("./boot.js");
|
|
|
28
29
|
* Copyright 2022-2026 Matter.js Authors
|
|
29
30
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
31
|
*/
|
|
32
|
+
class TestTimeoutError extends Error {
|
|
33
|
+
diagnostics = MatterHooks?.generateDiagnostics?.();
|
|
34
|
+
constructor(message) {
|
|
35
|
+
super(`Test timeout: ${message}`);
|
|
36
|
+
}
|
|
37
|
+
code;
|
|
38
|
+
timeout;
|
|
39
|
+
file;
|
|
40
|
+
}
|
|
31
41
|
const registry = {
|
|
32
42
|
timers: /* @__PURE__ */ new Set(),
|
|
33
43
|
register(_timer) {
|
|
@@ -176,6 +186,9 @@ const MockTime = {
|
|
|
176
186
|
let resolved = false;
|
|
177
187
|
let result;
|
|
178
188
|
let error;
|
|
189
|
+
if (typeof promise !== "object" || promise === null || !("then" in promise) || typeof promise.then !== "function") {
|
|
190
|
+
return promise;
|
|
191
|
+
}
|
|
179
192
|
promise.then(
|
|
180
193
|
(r) => {
|
|
181
194
|
resolved = true;
|
|
@@ -197,8 +210,8 @@ const MockTime = {
|
|
|
197
210
|
break;
|
|
198
211
|
}
|
|
199
212
|
if (timeAdvanced > 60 * 60 * 1e3) {
|
|
200
|
-
throw new
|
|
201
|
-
"
|
|
213
|
+
throw new TestTimeoutError(
|
|
214
|
+
"Promise did not resolve within one (virtual) hour, probably not going to happen"
|
|
202
215
|
);
|
|
203
216
|
}
|
|
204
217
|
if (stepMs) {
|
|
@@ -336,7 +349,10 @@ function timeSetup(Time) {
|
|
|
336
349
|
installActiveImplementation();
|
|
337
350
|
}
|
|
338
351
|
Object.assign(globalThis, { MockTime });
|
|
339
|
-
import_boot.Boot.init(() => {
|
|
352
|
+
import_boot.Boot.init((kind) => {
|
|
353
|
+
if (kind === "state") {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
340
356
|
MockTime.reset();
|
|
341
357
|
MockTime.disable();
|
|
342
358
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mocks/time.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AANrB;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AANrB;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,yBAAyB,MAAM;AAAA,EACxC,cAAc,aAAa,sBAAsB;AAAA,EAEjD,YAAY,SAAiB;AACzB,UAAM,iBAAiB,OAAO,EAAE;AAAA,EACpC;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AACJ;AAOA,MAAM,WAAW;AAAA,EACb,QAAQ,oBAAI,IAAe;AAAA,EAC3B,SAAS,QAAmB;AAAA,EAAC;AAAA,EAC7B,WAAW,QAAmB;AAAA,EAAC;AACnC;AAGA,MAAM,UAAU;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AAAA,EACb,aAAa;AAAA,EAEb;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,EACH;AAAA,EAET,YAAY,UAAoB,MAAc,UAAkB,UAAyB;AACrF,SAAK,OAAO;AAEZ,SAAK,YAAY;AACjB,SAAK,YAAY;AAEjB,QAAI,gBAAgB,cAAc;AAC9B,WAAK,YAAY;AAAA,IACrB,OAAO;AACH,WAAK,YAAY,MAAM;AACnB,aAAK,OAAO;AACZ,iBAAS;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,QAAQ;AACJ,aAAS,SAAS,IAAI;AACtB,SAAK,UAAU,eAAe,KAAK,UAAU,QAAQ,KAAK,WAAW,KAAK,SAAS;AACnF,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,SAAK,OAAO;AACZ,WAAO;AAAA,EACX;AAAA,EAEA,SAAS;AACL,aAAS,WAAW,IAAI;AACxB,SAAK,UAAU,eAAe,KAAK,SAAS;AAC5C,SAAK,YAAY;AAAA,EACrB;AACJ;AAEA,MAAM,qBAAqB,UAAU;AAAA,EACjC,YAAY,UAAoB,MAAc,UAAkB,UAAyB;AACrF,UAAM,mBAAmB,YAAY;AACjC,eAAS,eAAe,SAAS,QAAQ,UAAU,gBAAgB;AACnE,YAAM,SAAS;AAAA,IACnB;AACA,UAAM,UAAU,MAAM,UAAU,gBAAgB;AAAA,EACpD;AACJ;AAOA,SAAS,QAAQ,IAAiE;AAC9E,SAAO,GAAG,YAAY,SAAS;AACnC;AAEA,IAAI,YAAY,IAAI,MAAiD;AACrE,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,sBAAsB;AAM1B,MAAM,QAAQ,oBAAI,KAAK,sBAAsB;AAGtC,MAAM,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,uBAAgC;AAChC,WAAO,UAAU,OAAQ,QAAQ;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,cAAU;AACV,kCAA8B;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACL,cAAU;AACV,kCAA8B;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAA8C,OAAO;AACvD,gBAAY,CAAC;AACb,YAAQ,IAAI,KAAK,IAAI,EAAE,QAAQ;AAC/B,0BAAsB;AACtB,aAAS,OAAO;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AACH,QAAI,CAAC,SAAS;AACV,eAAS,OAAO;AAAA,IACpB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,WAAW,OAAgB;AAC3B,0BAAsB;AAAA,EAC1B;AAAA,EAEA,OAAU,MAAqB,OAAmB;AAC9C,UAAM,WAAW;AACjB,QAAIA,WAAU;AACd,QAAI;AACA,cAAQ,OAAO,SAAS,WAAW,OAAO,KAAK,QAAQ;AACvD,YAAM,SAAS,MAAM;AACrB,UAAI,OAAQ,QAAgB,SAAS,YAAY;AAC7C,QAAAA,WAAU;AACV,eAAO,QAAQ,QAAQ,MAAM,EAAE,QAAQ,MAAM;AACzC,kBAAQ;AAAA,QACZ,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX,UAAE;AACE,UAAI,CAACA,UAAS;AACV,gBAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,MAAY;AACZ,WAAO,IAAI,KAAK,KAAK;AAAA,EACzB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,MAAc,UAAkB,UAAoC;AACzE,WAAO,IAAI,UAAU,MAAM,MAAM,UAAU,QAAQ;AAAA,EACvD;AAAA,EAEA,iBAAiB,MAAc,UAAkB,UAAoC;AACjF,WAAO,IAAI,aAAa,MAAM,MAAM,UAAU,QAAQ;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QACF,SACA,EAAE,QAAQ,WAAW,IAA+C,CAAC,GACvE;AACE,QAAI,WAAW;AACf,QAAI;AACJ,QAAI;AAEJ,QACI,OAAO,YAAY,YACnB,YAAY,QACZ,EAAE,UAAU,YACZ,OAAO,QAAQ,SAAS,YAC1B;AACE,aAAO;AAAA,IACX;AAEA,YAAQ;AAAA,MACJ,OAAK;AACD,mBAAW;AACX,iBAAS;AAAA,MACb;AAAA,MACA,OAAK;AACD,mBAAW;AACX,gBAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,QAAI,eAAe;AACnB,WAAO,CAAC,UAAU;AAKd,UAAI,cAAc,qBAAqB;AACnC,cAAM,IAAI,QAAc,aAAW,WAAW,MAAM,QAAQ,GAAG,CAAC,CAAC;AAAA,MACrE,OAAO;AACH,cAAM,SAAS,MAAM;AAAA,MACzB;AAEA,UAAI,UAAU;AACV;AAAA,MACJ;AAGA,UAAI,eAAe,KAAK,KAAK,KAAM;AAC/B,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAEA,UAAI,QAAQ;AACR,cAAM,KAAK,QAAQ,MAAM;AACzB,wBAAgB;AAAA,MACpB,OAAO;AAMH,cAAM,KAAK,QAAQ,GAAI;AACvB,wBAAgB;AAAA,MACpB;AAEA,UAAI,UAAU;AACV;AAAA,MACJ;AAEA,YAAM,KAAK,MAAM;AAAA,IACrB;AAEA,QAAI,UAAU,QAAW;AACrB,YAAM;AAAA,IACV;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ,IAAY;AACtB,UAAM,YAAY,QAAQ;AAE1B,WAAO,UAAU,QAAQ;AACrB,YAAM,EAAE,MAAM,SAAS,IAAI,UAAU,CAAC;AACtC,UAAI,OAAO,UAAW;AACtB,gBAAU,MAAM;AAChB,cAAQ;AACR,YAAM,SAAS;AAAA,IACnB;AAEA,YAAQ;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,QAAQ;AACV,UAAM,QAAQ,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,SAAS;AACX,UAAM,QAAQ,QAAQ;AACtB,UAAM,QAAQ,QAAQ;AACtB,UAAM,QAAQ,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,cACI,KACA,QACA,qBAGA,iBACF;AACE,UAAM,WAAW,IAAI,MAAM;AAC3B,QAAI,CAAC,UAAU;AACX,YAAM,IAAI,MAAM,uBAAuB,MAAM,iBAAiB;AAAA,IAClE;AACA,QAAI;AACJ,QAAI,QAAQ,mBAAmB,GAAG;AAC9B,UAAI,MAAM,IAAI,kBAA8B,MAAyB;AACjE,YAAI,iBAAiB;AACjB,iBAAO,gBAAgB,IAAI;AAAA,QAC/B;AACA,YAAI;AACA,gBAAM,UAAU,MAAM,SAAS,MAAM,MAAM,IAAI;AAC/C,mBAAS,EAAE,QAAQ;AAAA,QACvB,SAAS,QAAQ;AACb,mBAAS,EAAE,OAAO;AAAA,QACtB,UAAE;AACE,cAAI,MAAM,IAAI;AAAA,QAClB;AACA,iBAAU,MAAM,oBAAoB,MAAM,KAAM;AAChD,YAAI,OAAO,QAAQ;AACf,gBAAM,OAAO;AAAA,QACjB;AACA,eAAO,OAAO;AAAA,MAClB;AAAA,IACJ,OAAO;AACH,UAAI,MAAM,IAAI,YAAwB,MAAgB;AAClD,YAAI,iBAAiB;AACjB,iBAAO,gBAAgB,IAAI;AAAA,QAC/B;AACA,YAAI;AACA,gBAAM,UAAU,SAAS,MAAM,MAAM,IAAI;AACzC,mBAAS,EAAE,QAAQ;AAAA,QACvB,SAAS,QAAQ;AACb,mBAAS,EAAE,OAAO;AAAA,QACtB,UAAE;AACE,cAAI,MAAM,IAAI;AAAA,QAClB;AACA,iBAAU,oBAAoB,MAAM,KAAa;AACjD,YAAI,OAAO,QAAQ;AACf,gBAAM,OAAO;AAAA,QACjB;AACA,eAAO,OAAO;AAAA,MAClB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,MAAc;AACxB,WAAO,CAAC,GAAG,SAAS,MAAM,EAAE,OAAO,WAAS,MAAM,SAAS,IAAI,EAAE;AAAA,EACrE;AAAA,EAEA,eAAe,MAAc,UAAyB;AAGlD,QAAI,CAAC,OAAO,UAAU,IAAI,GAAG;AACzB,YAAM,IAAI,MAAM,2CAA2C,IAAI,EAAE;AAAA,IACrE;AAEA,cAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AACjC,cAAU,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,MAAM,QAAQ,KAAK;AAAA,EACtE;AAAA,EAEA,eAAe,kBAAiC;AAC5C,UAAM,QAAQ,UAAU,UAAU,CAAC,EAAE,SAAS,MAAM,qBAAqB,QAAQ;AACjF,QAAI,UAAU,GAAI;AAClB,cAAU,OAAO,OAAO,CAAC;AAAA,EAC7B;AACJ;AAEA,IAAI;AAEG,SAAS,UAAU,MAMvB;AACC,WAAS,WAAW,KAAK;AACzB,WAAS,aAAa,KAAK;AAC3B,WAAS,SAAS,KAAK;AACvB,OAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY;AACjD,SAAO,KAAK;AACZ,EAAC,SAAiB,QAAS,KAAa;AACxC,gCAA8B,MAAO,KAAK,UAAU,SAAS;AAC7D,8BAA4B;AAChC;AAEA,OAAO,OAAO,YAAY,EAAE,SAAS,CAAC;AAEtC,iBAAK,KAAK,UAAQ;AACd,MAAI,SAAS,SAAS;AAClB;AAAA,EACJ;AAEA,WAAS,MAAM;AACf,WAAS,QAAQ;AACrB,CAAC;",
|
|
5
5
|
"names": ["isAsync"]
|
|
6
6
|
}
|
|
@@ -8,6 +8,7 @@ export interface FailureDetail {
|
|
|
8
8
|
id?: string;
|
|
9
9
|
stack?: string;
|
|
10
10
|
stackLines?: string[];
|
|
11
|
+
diagnostics?: string;
|
|
11
12
|
actual?: string;
|
|
12
13
|
expected?: string;
|
|
13
14
|
logs?: string;
|
|
@@ -18,5 +19,5 @@ export interface FailureDetail {
|
|
|
18
19
|
/**
|
|
19
20
|
* Captures all pertinent information about a failed test.
|
|
20
21
|
*/
|
|
21
|
-
export declare function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[]): FailureDetail;
|
|
22
|
+
export declare function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[], diagnostics?: string): FailureDetail;
|
|
22
23
|
//# sourceMappingURL=failure-detail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,iBAsCnH"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
function FailureDetail(error, id, logs, parentStack) {
|
|
6
|
+
function FailureDetail(error, id, logs, parentStack, diagnostics) {
|
|
7
7
|
const { message, stack, stackLines, cause, errors, secondary } = parseError(error, parentStack);
|
|
8
8
|
const result = { message };
|
|
9
9
|
if (stack) {
|
|
@@ -15,6 +15,9 @@ function FailureDetail(error, id, logs, parentStack) {
|
|
|
15
15
|
if (logs?.length) {
|
|
16
16
|
result.logs = logs.join("\n");
|
|
17
17
|
}
|
|
18
|
+
if (diagnostics?.length) {
|
|
19
|
+
result.diagnostics = diagnostics;
|
|
20
|
+
}
|
|
18
21
|
if (cause) {
|
|
19
22
|
result.cause = cause;
|
|
20
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/failure-detail.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB,aAAsB;AAClH,QAAM,EAAE,SAAS,OAAO,YAAY,OAAO,QAAQ,UAAU,IAAI,WAAW,OAAO,WAAW;AAC9F,QAAM,SAAS,EAAE,QAAQ;AAEzB,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,IAAI;AACJ,WAAO,KAAK;AAAA,EAChB;AACA,MAAI,MAAM,QAAQ;AACd,WAAO,OAAO,KAAK,KAAK,IAAI;AAAA,EAChC;AACA,MAAI,aAAa,QAAQ;AACrB,WAAO,cAAc;AAAA,EACzB;AACA,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,WAAW;AACX,WAAO,YAAY;AAAA,EACvB;AACA,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,YAAY;AACZ,WAAO,aAAa;AAAA,EACxB;AAEA,QAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,UAAU;AACV,WAAO,WAAW;AAAA,EACtB;AAEA,SAAO;AACX;AAEA,SAAS,mBACL,OACA,aACuE;AAEvE,MAAI,aAAa,oBAAoB;AACjC,WAAO,YAAY,mBAAmB,OAAO,WAAW;AAAA,EAC5D;AAGA,MAAI,SAAS;AACb,MAAI,UAAU,UAAa,UAAU,MAAM;AACvC,cAAU,aAAa,KAAK;AAAA,EAChC,OAAO;AACH,cAAU,MAAM;AAAA,EACpB;AAEA,MAAI,MAAM,OAAO;AACb,QAAI,QAAQ,MAAM,MAAM,KAAK,EAAE,MAAM,IAAI;AACzC,QAAI,CAAC,SAAS;AACV,gBAAU,MAAM,CAAC;AAAA,IACrB;AACA,YAAQ,MAAM,OAAO,UAAQ,KAAK,MAAM,aAAa,CAAC;AACtD,QAAI,MAAM,QAAQ;AACd,cAAQ,MAAM,IAAI,UAAQ,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI;AAAA,IACpD;AAAA,EACJ;AAEA,MAAI,CAAC,SAAS;AACV,cAAU,MAAM,SAAS;AAAA,EAC7B;AAEA,SAAO,EAAE,SAAS,MAAM;AAC5B;AAEA,SAAS,WAAW,OAAc,aAAwB;AACtD,MAAI;AACJ,MAAI,WAAW,SAAS,gBAAgB,OAAO;AAC3C,gBAAY,cAAc,MAAM,KAAK;AACrC,YAAQ,MAAM;AAAA,EAClB;AAEA,QAAM,EAAE,SAAS,IAAI,OAAO,WAAW,IAAI,mBAAmB,OAAO,WAAW;AAEhF,MAAI,OAAkC;AAEtC,QAAM,aAAa,MAAM;AACzB,MAAI,YAAY;AACZ,YAAQ,cAAc,YAAY,IAAI,QAAW,UAAU;AAAA,EAC/D;AAEA,QAAM,cAAe,MAAyB;AAC9C,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,aAAS,YAAY,IAAI,OAAK,cAAc,GAAG,IAAI,QAAW,UAAU,CAAC;AAAA,EAC7E;AAEA,SAAO,EAAE,SAAS,IAAI,OAAO,YAAY,OAAO,QAAQ,UAAU;AACtE;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -26,7 +26,7 @@ function dumpCause(out, failure) {
|
|
|
26
26
|
dumpDetails(out, failure);
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, secondary, logs }) {
|
|
29
|
+
function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, secondary, logs, diagnostics }) {
|
|
30
30
|
out("\n", ansi.bright.red(id ? `[${ansi.bold(id)}] ${message}` : message), "\n");
|
|
31
31
|
if (actual !== void 0 && expected !== void 0) {
|
|
32
32
|
out("\n");
|
|
@@ -56,6 +56,9 @@ function dumpDetails(out, { message, id, actual, expected, stack, cause, errors,
|
|
|
56
56
|
if (logs) {
|
|
57
57
|
out("\n", logs, "\n");
|
|
58
58
|
}
|
|
59
|
+
if (diagnostics) {
|
|
60
|
+
out("\n", ansi.bold("Process state at timeout:"), "\n", diagnostics, "\n");
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
63
|
export {
|
|
61
64
|
FailureReporter
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/failure-reporter.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAe,2BAA2B;AAEnD,SAAS,gBAAgB;AAEzB,MAAM,cAAc,GAAG,KAAK,GAAG,yPAA4C,KAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,KAAK,GAAG,qBAAM,KAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,KAAK,KAAK,IAAI,mBAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YACL,KACA,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,WAAW,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAe,2BAA2B;AAEnD,SAAS,gBAAgB;AAEzB,MAAM,cAAc,GAAG,KAAK,GAAG,yPAA4C,KAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,KAAK,GAAG,qBAAM,KAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,KAAK,KAAK,IAAI,mBAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YACL,KACA,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,WAAW,MAAM,YAAY,GACtF;AACE,MAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,GAAG,IAAI;AAE/E,MAAI,WAAW,UAAa,aAAa,QAAW;AAChD,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,IAAI,SAAS,QAAQ,QAAQ,CAAC,CAAC;AACvE,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC;AAChD,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,MAAM,KAAK,KAAK,YAAY,GAAG,IAAI;AACvC,cAAU,KAAK,KAAK;AAAA,EACxB;AAEA,MAAI,QAAQ,QAAQ;AAChB,QAAI,MAAM;AACV,eAAWC,UAAS,QAAQ;AACxB,UAAI,MAAM,KAAK,KAAK,UAAU,EAAE,GAAG,GAAG,GAAG,IAAI;AAC7C,gBAAU,KAAKA,MAAK;AAAA,IACxB;AAAA,EACJ;AAEA,MAAI,WAAW;AACX,QAAI,MAAM,KAAK,KAAK,kCAAkC,GAAG,IAAI;AAC7D,cAAU,KAAK,SAAS;AAAA,EAC5B;AAEA,MAAI,MAAM;AACN,QAAI,MAAM,MAAM,IAAI;AAAA,EACxB;AAEA,MAAI,aAAa;AACb,QAAI,MAAM,KAAK,KAAK,2BAA2B,GAAG,MAAM,aAAa,IAAI;AAAA,EAC7E;AACJ;",
|
|
5
5
|
"names": ["FailureReporter", "cause"]
|
|
6
6
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type Chai from "chai";
|
|
7
7
|
import "chai-as-promised";
|
|
8
8
|
import type { DiffMarker } from "./chai.js";
|
|
9
|
+
import type { BootKind } from "./mocks/boot.js";
|
|
9
10
|
import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
|
|
10
11
|
import type { MockTime } from "./mocks/time.js";
|
|
11
12
|
import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
|
|
@@ -32,7 +33,7 @@ declare global {
|
|
|
32
33
|
* Set boot manager.
|
|
33
34
|
*/
|
|
34
35
|
bootSetup(boot: {
|
|
35
|
-
reboot(): void | Promise<void>;
|
|
36
|
+
reboot(kind?: BootKind): void | Promise<void>;
|
|
36
37
|
}): void;
|
|
37
38
|
/**
|
|
38
39
|
* Configure time.
|
|
@@ -46,6 +47,10 @@ declare global {
|
|
|
46
47
|
* Receive intercepted log messages.
|
|
47
48
|
*/
|
|
48
49
|
loggerSink?: (text: string, message: DiagnosticMessageLike) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Dump information about current state of process to log.
|
|
52
|
+
*/
|
|
53
|
+
generateDiagnostics?: () => string;
|
|
49
54
|
/**
|
|
50
55
|
* Extract error details.
|
|
51
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG;QAE/B,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;QAGnB,KAAK,EAAE,UAAU,CAAC;QAGlB,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;KACtB,CAAC;IAGF,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG;QAE/B,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;QAGnB,KAAK,EAAE,UAAU,CAAC;QAGlB,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;KACtB,CAAC;IAGF,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;QAEzE;;WAEG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAEhC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAEpE;;WAEG;QACH,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;QAEnC;;WAEG;QACH,kBAAkB,CAAC,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,KACrB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAChF,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;SAC5C;QAED,UAAU,IAAI;YACV,UAAU,EAAE,cAAc,CAAC;SAC9B;KACJ;CACJ"}
|
package/dist/esm/mocha.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAM7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,QAAA,MAAM,aAAa,eAAwB,CAAC;AAC5C,QAAA,MAAM,YAAY,eAAuB,CAAC;AAE1C,UAAU,YAAa,SAAQ,IAAI;IAC/B,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/C,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK7E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,QAqCxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAqFhD;AAcD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAaD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBAiIunX,GAAG;;;;;;;;;;;;EA5DjqX;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAwB/C;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAExD"}
|
package/dist/esm/mocha.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { FailureDetail } from "./failure-detail.js";
|
|
7
7
|
import { Boot } from "./mocks/boot.js";
|
|
8
8
|
import { LoggerHooks } from "./mocks/logging.js";
|
|
9
|
+
import { TestTimeoutError } from "./mocks/time.js";
|
|
9
10
|
import { TestOptions } from "./options.js";
|
|
10
11
|
import { TextDiff } from "./text-diff.js";
|
|
11
12
|
import { wtf } from "./util/wtf.js";
|
|
@@ -55,6 +56,15 @@ function generalSetup(mocha) {
|
|
|
55
56
|
TextDiff.generator = Base.generateDiff.bind(Base);
|
|
56
57
|
}
|
|
57
58
|
function extendApi(Mocha2) {
|
|
59
|
+
Mocha2.Runnable.prototype._timeoutError = function(timeoutMs) {
|
|
60
|
+
const error = new TestTimeoutError(`Timeout of ${timeoutMs}ms exceeded`);
|
|
61
|
+
error.code = "ERR_MOCHA_TIMEOUT";
|
|
62
|
+
error.timeout = timeoutMs;
|
|
63
|
+
if (this.file) {
|
|
64
|
+
error.file = this.file;
|
|
65
|
+
}
|
|
66
|
+
return error;
|
|
67
|
+
};
|
|
58
68
|
Mocha2.reporters.Base.maxDiffSize = 65535;
|
|
59
69
|
const descriptors = /* @__PURE__ */ new WeakMap();
|
|
60
70
|
Object.defineProperty(Mocha2.Suite.prototype, "descriptor", {
|
|
@@ -113,6 +123,7 @@ function extendApi(Mocha2) {
|
|
|
113
123
|
function instrumentSuites(mocha) {
|
|
114
124
|
for (const suite of mocha.suite.suites) {
|
|
115
125
|
suite.beforeAll(beforeEachFile);
|
|
126
|
+
suite.beforeEach(beforeEach);
|
|
116
127
|
const hooks = suite._beforeAll;
|
|
117
128
|
const myHook = hooks.pop();
|
|
118
129
|
hooks.unshift(myHook);
|
|
@@ -138,6 +149,9 @@ async function runMocha(mocha) {
|
|
|
138
149
|
function beforeEachFile() {
|
|
139
150
|
Boot.reboot();
|
|
140
151
|
}
|
|
152
|
+
function beforeEach() {
|
|
153
|
+
Boot.reset();
|
|
154
|
+
}
|
|
141
155
|
function adaptReporter(Mocha2, title, reporter, updateStats = false) {
|
|
142
156
|
const RUNNER = Mocha2.Runner.constants;
|
|
143
157
|
let logs = Array();
|
|
@@ -173,12 +187,16 @@ function adaptReporter(Mocha2, title, reporter, updateStats = false) {
|
|
|
173
187
|
});
|
|
174
188
|
}
|
|
175
189
|
runner.on(RUNNER.EVENT_TEST_FAIL, (test, error) => {
|
|
190
|
+
let diagnostics;
|
|
191
|
+
if (error instanceof TestTimeoutError) {
|
|
192
|
+
diagnostics = error.diagnostics;
|
|
193
|
+
}
|
|
176
194
|
if (updateStats && test.descriptor) {
|
|
177
195
|
test.descriptor.durationMs = test.duration;
|
|
178
196
|
test.descriptor.passed = false;
|
|
179
197
|
}
|
|
180
198
|
const logs2 = test.logs;
|
|
181
|
-
reporter.failTest(test.title, FailureDetail(error, void 0, logs2));
|
|
199
|
+
reporter.failTest(test.title, FailureDetail(error, void 0, logs2, void 0, diagnostics));
|
|
182
200
|
wtf.dump();
|
|
183
201
|
});
|
|
184
202
|
runner.once(RUNNER.EVENT_RUN_END, () => {
|
package/dist/esm/mocha.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/mocha.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Mocha", "logs"]
|
|
6
6
|
}
|
package/dist/esm/mocks/boot.d.ts
CHANGED
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export interface Boot {
|
|
7
7
|
format: string;
|
|
8
|
-
init(fn: () => void): void;
|
|
8
|
+
init(fn: (kind: BootKind) => void): void;
|
|
9
9
|
reboot(): void;
|
|
10
|
+
reset(): void;
|
|
10
11
|
}
|
|
11
12
|
export declare const Boot: Boot;
|
|
12
13
|
export declare function bootSetup(AppBoot: {
|
|
13
|
-
reboot(): () => void;
|
|
14
|
+
reboot(kind?: BootKind): () => void;
|
|
14
15
|
}): void;
|
|
16
|
+
export type BootKind = "platform" | "state";
|
|
15
17
|
//# sourceMappingURL=boot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/mocks/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/mocks/boot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,IAAI;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACzC,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACjB;AAED,eAAO,MAAM,IAAI,EAAE,IAmBlB,CAAC;AAIF,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAA;CAAE,QAEzE;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC"}
|
package/dist/esm/mocks/boot.js
CHANGED
|
@@ -7,16 +7,21 @@ const appBooters = {};
|
|
|
7
7
|
const Boot = {
|
|
8
8
|
format: "unknown",
|
|
9
9
|
init(fn) {
|
|
10
|
-
fn();
|
|
10
|
+
fn("platform");
|
|
11
11
|
initializers.push(fn);
|
|
12
12
|
},
|
|
13
13
|
reboot() {
|
|
14
14
|
for (const initializer of initializers) {
|
|
15
|
-
initializer();
|
|
15
|
+
initializer("platform");
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
reset() {
|
|
19
|
+
for (const initializer of initializers) {
|
|
20
|
+
initializer("state");
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
};
|
|
19
|
-
const initializers = [() => appBooters[Boot.format]?.()];
|
|
24
|
+
const initializers = [(kind) => appBooters[Boot.format]?.(kind)];
|
|
20
25
|
function bootSetup(AppBoot) {
|
|
21
26
|
appBooters[Boot.format] = AppBoot.reboot.bind(Boot);
|
|
22
27
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mocks/boot.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,aAAa,CAAC;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,aAAa,CAAC;AASb,MAAM,OAAa;AAAA,EACtB,QAAQ;AAAA,EAER,KAAK,IAAI;AACL,OAAG,UAAU;AACb,iBAAa,KAAK,EAAE;AAAA,EACxB;AAAA,EAEA,SAAS;AACL,eAAW,eAAe,cAAc;AACpC,kBAAY,UAAU;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEA,QAAQ;AACJ,eAAW,eAAe,cAAc;AACpC,kBAAY,OAAO;AAAA,IACvB;AAAA,EACJ;AACJ;AAEA,MAAM,eAAe,CAAC,CAAC,SAAmB,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC;AAElE,SAAS,UAAU,SAAkD;AACxE,aAAW,KAAK,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AACtD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/mocks/time.d.ts
CHANGED
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Copyright 2022-2026 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
export declare class TestTimeoutError extends Error {
|
|
7
|
+
diagnostics: string | undefined;
|
|
8
|
+
constructor(message: string);
|
|
9
|
+
code?: number | string;
|
|
10
|
+
timeout?: number;
|
|
11
|
+
file?: string;
|
|
12
|
+
}
|
|
6
13
|
type TimerCallback = () => any;
|
|
7
14
|
type MockTimeLike = typeof MockTime;
|
|
8
15
|
export interface MockTime extends MockTimeLike {
|
|
@@ -67,7 +74,7 @@ export declare const MockTime: {
|
|
|
67
74
|
*
|
|
68
75
|
* Moves time forward until the promise resolves.
|
|
69
76
|
*/
|
|
70
|
-
resolve<T>(promise: PromiseLike<T
|
|
77
|
+
resolve<T>(promise: PromiseLike<T> | T, { stepMs, macrotasks }?: {
|
|
71
78
|
stepMs?: number;
|
|
72
79
|
macrotasks?: boolean;
|
|
73
80
|
}): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,CAAC;AAE/B,KAAK,YAAY,GAAG,OAAO,QAAQ,CAAC;AACpC,MAAM,WAAW,QAAS,SAAQ,YAAY;CAAG;AASjD,cAAM,SAAS;;IACX,IAAI,SAAU;IACd,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,UAAU,UAAS;IAKnB,SAAS,UAAS;gBAGN,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBvF,KAAK;IAOL,IAAI;CAUP;AAYD,KAAK,eAAe,CAAC,CAAC,IAClB,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GACd;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GACjF;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC;AAmB9E,eAAO,MAAM,QAAQ;;mCAGW,OAAO;IAInC;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;iBACS,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAOjD;;OAEG;;IAOH;;;;;OAKG;gBACmB,OAAO;WAItB,CAAC,QAAQ,MAAM,GAAG,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC;kBAoBtC,IAAI;;mBAQA,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIrD,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;IAIpF;;;;OAIG;YACW,CAAC,
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/mocks/time.js
CHANGED
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Boot } from "./boot.js";
|
|
7
|
+
class TestTimeoutError extends Error {
|
|
8
|
+
diagnostics = MatterHooks?.generateDiagnostics?.();
|
|
9
|
+
constructor(message) {
|
|
10
|
+
super(`Test timeout: ${message}`);
|
|
11
|
+
}
|
|
12
|
+
code;
|
|
13
|
+
timeout;
|
|
14
|
+
file;
|
|
15
|
+
}
|
|
7
16
|
const registry = {
|
|
8
17
|
timers: /* @__PURE__ */ new Set(),
|
|
9
18
|
register(_timer) {
|
|
@@ -152,6 +161,9 @@ const MockTime = {
|
|
|
152
161
|
let resolved = false;
|
|
153
162
|
let result;
|
|
154
163
|
let error;
|
|
164
|
+
if (typeof promise !== "object" || promise === null || !("then" in promise) || typeof promise.then !== "function") {
|
|
165
|
+
return promise;
|
|
166
|
+
}
|
|
155
167
|
promise.then(
|
|
156
168
|
(r) => {
|
|
157
169
|
resolved = true;
|
|
@@ -173,8 +185,8 @@ const MockTime = {
|
|
|
173
185
|
break;
|
|
174
186
|
}
|
|
175
187
|
if (timeAdvanced > 60 * 60 * 1e3) {
|
|
176
|
-
throw new
|
|
177
|
-
"
|
|
188
|
+
throw new TestTimeoutError(
|
|
189
|
+
"Promise did not resolve within one (virtual) hour, probably not going to happen"
|
|
178
190
|
);
|
|
179
191
|
}
|
|
180
192
|
if (stepMs) {
|
|
@@ -312,12 +324,16 @@ function timeSetup(Time) {
|
|
|
312
324
|
installActiveImplementation();
|
|
313
325
|
}
|
|
314
326
|
Object.assign(globalThis, { MockTime });
|
|
315
|
-
Boot.init(() => {
|
|
327
|
+
Boot.init((kind) => {
|
|
328
|
+
if (kind === "state") {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
316
331
|
MockTime.reset();
|
|
317
332
|
MockTime.disable();
|
|
318
333
|
});
|
|
319
334
|
export {
|
|
320
335
|
MockTime,
|
|
336
|
+
TestTimeoutError,
|
|
321
337
|
timeSetup
|
|
322
338
|
};
|
|
323
339
|
//# sourceMappingURL=time.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mocks/time.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["isAsync"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/testing",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.9-alpha.0-20260203-080317ea1",
|
|
4
4
|
"description": "Test harness for running JavaScript and Matter certification tests",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"#tools/ansi-text": "@matter/tools/ansi-text"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@matter/tools": "0.16.
|
|
48
|
+
"@matter/tools": "0.16.9-alpha.0-20260203-080317ea1",
|
|
49
49
|
"@types/express": "^5.0.6",
|
|
50
50
|
"ansi-colors": "^4.1.3",
|
|
51
51
|
"chai": "^4.5.0",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"dockerode": "^4.0.9",
|
|
54
54
|
"express": "^5.2.1",
|
|
55
55
|
"mocha": "^11.7.5",
|
|
56
|
-
"playwright": "^1.
|
|
56
|
+
"playwright": "^1.58.1",
|
|
57
57
|
"trace-unhandled": "^2.0.1",
|
|
58
58
|
"wtfnode": "^0.10.1",
|
|
59
59
|
"xml2js": "^0.6.2",
|
package/src/failure-detail.ts
CHANGED
|
@@ -9,6 +9,7 @@ export interface FailureDetail {
|
|
|
9
9
|
id?: string;
|
|
10
10
|
stack?: string;
|
|
11
11
|
stackLines?: string[];
|
|
12
|
+
diagnostics?: string;
|
|
12
13
|
actual?: string;
|
|
13
14
|
expected?: string;
|
|
14
15
|
logs?: string;
|
|
@@ -20,7 +21,7 @@ export interface FailureDetail {
|
|
|
20
21
|
/**
|
|
21
22
|
* Captures all pertinent information about a failed test.
|
|
22
23
|
*/
|
|
23
|
-
export function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[]) {
|
|
24
|
+
export function FailureDetail(error: any, id?: string, logs?: string[], parentStack?: string[], diagnostics?: string) {
|
|
24
25
|
const { message, stack, stackLines, cause, errors, secondary } = parseError(error, parentStack);
|
|
25
26
|
const result = { message } as FailureDetail;
|
|
26
27
|
|
|
@@ -33,6 +34,9 @@ export function FailureDetail(error: any, id?: string, logs?: string[], parentSt
|
|
|
33
34
|
if (logs?.length) {
|
|
34
35
|
result.logs = logs.join("\n");
|
|
35
36
|
}
|
|
37
|
+
if (diagnostics?.length) {
|
|
38
|
+
result.diagnostics = diagnostics;
|
|
39
|
+
}
|
|
36
40
|
if (cause) {
|
|
37
41
|
result.cause = cause;
|
|
38
42
|
}
|
package/src/failure-reporter.ts
CHANGED
|
@@ -34,7 +34,7 @@ function dumpCause(out: Printer, failure: FailureDetail) {
|
|
|
34
34
|
|
|
35
35
|
function dumpDetails(
|
|
36
36
|
out: Printer,
|
|
37
|
-
{ message, id, actual, expected, stack, cause, errors, secondary, logs }: FailureDetail,
|
|
37
|
+
{ message, id, actual, expected, stack, cause, errors, secondary, logs, diagnostics }: FailureDetail,
|
|
38
38
|
) {
|
|
39
39
|
out("\n", ansi.bright.red(id ? `[${ansi.bold(id)}] ${message}` : message), "\n");
|
|
40
40
|
|
|
@@ -71,4 +71,8 @@ function dumpDetails(
|
|
|
71
71
|
if (logs) {
|
|
72
72
|
out("\n", logs, "\n");
|
|
73
73
|
}
|
|
74
|
+
|
|
75
|
+
if (diagnostics) {
|
|
76
|
+
out("\n", ansi.bold("Process state at timeout:"), "\n", diagnostics, "\n");
|
|
77
|
+
}
|
|
74
78
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type Chai from "chai";
|
|
8
8
|
import "chai-as-promised";
|
|
9
9
|
import type { DiffMarker } from "./chai.js";
|
|
10
|
+
import type { BootKind } from "./mocks/boot.js";
|
|
10
11
|
import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
|
|
11
12
|
import type { MockTime } from "./mocks/time.js";
|
|
12
13
|
import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
|
|
@@ -51,7 +52,7 @@ declare global {
|
|
|
51
52
|
/**
|
|
52
53
|
* Set boot manager.
|
|
53
54
|
*/
|
|
54
|
-
bootSetup(boot: { reboot(): void | Promise<void> }): void;
|
|
55
|
+
bootSetup(boot: { reboot(kind?: BootKind): void | Promise<void> }): void;
|
|
55
56
|
|
|
56
57
|
/**
|
|
57
58
|
* Configure time.
|
|
@@ -68,6 +69,11 @@ declare global {
|
|
|
68
69
|
*/
|
|
69
70
|
loggerSink?: (text: string, message: DiagnosticMessageLike) => void;
|
|
70
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Dump information about current state of process to log.
|
|
74
|
+
*/
|
|
75
|
+
generateDiagnostics?: () => string;
|
|
76
|
+
|
|
71
77
|
/**
|
|
72
78
|
* Extract error details.
|
|
73
79
|
*/
|
package/src/mocha.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { Test } from "mocha";
|
|
|
10
10
|
import { FailureDetail } from "./failure-detail.js";
|
|
11
11
|
import { Boot } from "./mocks/boot.js";
|
|
12
12
|
import { LoggerHooks } from "./mocks/logging.js";
|
|
13
|
+
import { TestTimeoutError } from "./mocks/time.js";
|
|
13
14
|
import { TestOptions } from "./options.js";
|
|
14
15
|
import { Reporter } from "./reporter.js";
|
|
15
16
|
import type { TestDescriptor } from "./test-descriptor.js";
|
|
@@ -89,6 +90,20 @@ export function generalSetup(mocha: Mocha) {
|
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
export function extendApi(Mocha: typeof MochaType) {
|
|
93
|
+
(Mocha.Runnable.prototype as any)._timeoutError = function (timeoutMs: number) {
|
|
94
|
+
// We use our error class so we get diagnostics and message isn't so verbose
|
|
95
|
+
const error = new TestTimeoutError(`Timeout of ${timeoutMs}ms exceeded`);
|
|
96
|
+
|
|
97
|
+
// But we configure properties like Mocha does
|
|
98
|
+
error.code = "ERR_MOCHA_TIMEOUT";
|
|
99
|
+
error.timeout = timeoutMs;
|
|
100
|
+
if (this.file) {
|
|
101
|
+
error.file = this.file;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return error;
|
|
105
|
+
};
|
|
106
|
+
|
|
92
107
|
(Mocha.reporters.Base as any).maxDiffSize = 0xffff;
|
|
93
108
|
|
|
94
109
|
const descriptors = new WeakMap<Mocha.Suite | Mocha.Test, TestDescriptor>();
|
|
@@ -164,6 +179,7 @@ export function extendApi(Mocha: typeof MochaType) {
|
|
|
164
179
|
function instrumentSuites(mocha: Mocha) {
|
|
165
180
|
for (const suite of mocha.suite.suites) {
|
|
166
181
|
suite.beforeAll(beforeEachFile);
|
|
182
|
+
suite.beforeEach(beforeEach);
|
|
167
183
|
|
|
168
184
|
// Move our beforeAll hook so it runs before the suite's beforeAll hooks
|
|
169
185
|
const hooks = (suite as any)._beforeAll as unknown[];
|
|
@@ -200,6 +216,11 @@ function beforeEachFile() {
|
|
|
200
216
|
Boot.reboot();
|
|
201
217
|
}
|
|
202
218
|
|
|
219
|
+
// Reset state before each test.
|
|
220
|
+
function beforeEach() {
|
|
221
|
+
Boot.reset();
|
|
222
|
+
}
|
|
223
|
+
|
|
203
224
|
export function adaptReporter(
|
|
204
225
|
Mocha: typeof MochaType,
|
|
205
226
|
title: string,
|
|
@@ -248,12 +269,16 @@ export function adaptReporter(
|
|
|
248
269
|
}
|
|
249
270
|
|
|
250
271
|
runner.on(RUNNER.EVENT_TEST_FAIL, (test, error) => {
|
|
272
|
+
let diagnostics: undefined | string;
|
|
273
|
+
if (error instanceof TestTimeoutError) {
|
|
274
|
+
diagnostics = error.diagnostics;
|
|
275
|
+
}
|
|
251
276
|
if (updateStats && test.descriptor) {
|
|
252
277
|
test.descriptor.durationMs = test.duration;
|
|
253
278
|
test.descriptor.passed = false;
|
|
254
279
|
}
|
|
255
280
|
const logs = (test as any).logs as string[];
|
|
256
|
-
reporter.failTest(test.title, FailureDetail(error, undefined, logs));
|
|
281
|
+
reporter.failTest(test.title, FailureDetail(error, undefined, logs, undefined, diagnostics));
|
|
257
282
|
wtf.dump();
|
|
258
283
|
});
|
|
259
284
|
|
package/src/mocks/boot.ts
CHANGED
|
@@ -11,31 +11,40 @@
|
|
|
11
11
|
* The test harness may load multiple test environments (e.g. ESM vs CJS) so we must track the current environment to
|
|
12
12
|
* ensure we boot the correct version of the code.
|
|
13
13
|
*/
|
|
14
|
-
const appBooters = {} as Record<string, () => void>;
|
|
14
|
+
const appBooters = {} as Record<string, (kind?: BootKind) => void>;
|
|
15
15
|
|
|
16
16
|
export interface Boot {
|
|
17
17
|
format: string;
|
|
18
|
-
init(fn: () => void): void;
|
|
18
|
+
init(fn: (kind: BootKind) => void): void;
|
|
19
19
|
reboot(): void;
|
|
20
|
+
reset(): void;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export const Boot: Boot = {
|
|
23
24
|
format: "unknown",
|
|
24
25
|
|
|
25
26
|
init(fn) {
|
|
26
|
-
fn();
|
|
27
|
+
fn("platform");
|
|
27
28
|
initializers.push(fn);
|
|
28
29
|
},
|
|
29
30
|
|
|
30
31
|
reboot() {
|
|
31
32
|
for (const initializer of initializers) {
|
|
32
|
-
initializer();
|
|
33
|
+
initializer("platform");
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
reset() {
|
|
38
|
+
for (const initializer of initializers) {
|
|
39
|
+
initializer("state");
|
|
33
40
|
}
|
|
34
41
|
},
|
|
35
42
|
};
|
|
36
43
|
|
|
37
|
-
const initializers = [() => appBooters[Boot.format]?.()];
|
|
44
|
+
const initializers = [(kind: BootKind) => appBooters[Boot.format]?.(kind)];
|
|
38
45
|
|
|
39
|
-
export function bootSetup(AppBoot: { reboot(): () => void }) {
|
|
46
|
+
export function bootSetup(AppBoot: { reboot(kind?: BootKind): () => void }) {
|
|
40
47
|
appBooters[Boot.format] = AppBoot.reboot.bind(Boot);
|
|
41
48
|
}
|
|
49
|
+
|
|
50
|
+
export type BootKind = "platform" | "state";
|
package/src/mocks/time.ts
CHANGED
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
import { Boot } from "./boot.js";
|
|
8
8
|
|
|
9
|
+
export class TestTimeoutError extends Error {
|
|
10
|
+
diagnostics = MatterHooks?.generateDiagnostics?.();
|
|
11
|
+
|
|
12
|
+
constructor(message: string) {
|
|
13
|
+
super(`Test timeout: ${message}`);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
code?: number | string;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
file?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
9
21
|
type TimerCallback = () => any;
|
|
10
22
|
|
|
11
23
|
type MockTimeLike = typeof MockTime;
|
|
@@ -190,11 +202,23 @@ export const MockTime = {
|
|
|
190
202
|
*
|
|
191
203
|
* Moves time forward until the promise resolves.
|
|
192
204
|
*/
|
|
193
|
-
async resolve<T>(
|
|
205
|
+
async resolve<T>(
|
|
206
|
+
promise: PromiseLike<T> | T,
|
|
207
|
+
{ stepMs, macrotasks }: { stepMs?: number; macrotasks?: boolean } = {},
|
|
208
|
+
) {
|
|
194
209
|
let resolved = false;
|
|
195
210
|
let result: T | undefined;
|
|
196
211
|
let error: any;
|
|
197
212
|
|
|
213
|
+
if (
|
|
214
|
+
typeof promise !== "object" ||
|
|
215
|
+
promise === null ||
|
|
216
|
+
!("then" in promise) ||
|
|
217
|
+
typeof promise.then !== "function"
|
|
218
|
+
) {
|
|
219
|
+
return promise;
|
|
220
|
+
}
|
|
221
|
+
|
|
198
222
|
promise.then(
|
|
199
223
|
r => {
|
|
200
224
|
resolved = true;
|
|
@@ -224,8 +248,8 @@ export const MockTime = {
|
|
|
224
248
|
|
|
225
249
|
// If we've advanced more than one hour, assume we've hung
|
|
226
250
|
if (timeAdvanced > 60 * 60 * 1000) {
|
|
227
|
-
throw new
|
|
228
|
-
"
|
|
251
|
+
throw new TestTimeoutError(
|
|
252
|
+
"Promise did not resolve within one (virtual) hour, probably not going to happen",
|
|
229
253
|
);
|
|
230
254
|
}
|
|
231
255
|
|
|
@@ -402,7 +426,11 @@ export function timeSetup(Time: {
|
|
|
402
426
|
|
|
403
427
|
Object.assign(globalThis, { MockTime });
|
|
404
428
|
|
|
405
|
-
Boot.init(
|
|
429
|
+
Boot.init(kind => {
|
|
430
|
+
if (kind === "state") {
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
|
|
406
434
|
MockTime.reset();
|
|
407
435
|
MockTime.disable();
|
|
408
436
|
});
|