@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.
Files changed (45) hide show
  1. package/dist/cjs/failure-detail.d.ts +2 -1
  2. package/dist/cjs/failure-detail.d.ts.map +1 -1
  3. package/dist/cjs/failure-detail.js +4 -1
  4. package/dist/cjs/failure-detail.js.map +1 -1
  5. package/dist/cjs/failure-reporter.js +4 -1
  6. package/dist/cjs/failure-reporter.js.map +1 -1
  7. package/dist/cjs/global-declarations.d.ts +6 -1
  8. package/dist/cjs/global-declarations.d.ts.map +1 -1
  9. package/dist/cjs/mocha.d.ts.map +1 -1
  10. package/dist/cjs/mocha.js +19 -1
  11. package/dist/cjs/mocha.js.map +1 -1
  12. package/dist/cjs/mocks/boot.d.ts +4 -2
  13. package/dist/cjs/mocks/boot.d.ts.map +1 -1
  14. package/dist/cjs/mocks/boot.js +8 -3
  15. package/dist/cjs/mocks/boot.js.map +1 -1
  16. package/dist/cjs/mocks/time.d.ts +8 -1
  17. package/dist/cjs/mocks/time.d.ts.map +1 -1
  18. package/dist/cjs/mocks/time.js +19 -3
  19. package/dist/cjs/mocks/time.js.map +1 -1
  20. package/dist/esm/failure-detail.d.ts +2 -1
  21. package/dist/esm/failure-detail.d.ts.map +1 -1
  22. package/dist/esm/failure-detail.js +4 -1
  23. package/dist/esm/failure-detail.js.map +1 -1
  24. package/dist/esm/failure-reporter.js +4 -1
  25. package/dist/esm/failure-reporter.js.map +1 -1
  26. package/dist/esm/global-declarations.d.ts +6 -1
  27. package/dist/esm/global-declarations.d.ts.map +1 -1
  28. package/dist/esm/mocha.d.ts.map +1 -1
  29. package/dist/esm/mocha.js +19 -1
  30. package/dist/esm/mocha.js.map +1 -1
  31. package/dist/esm/mocks/boot.d.ts +4 -2
  32. package/dist/esm/mocks/boot.d.ts.map +1 -1
  33. package/dist/esm/mocks/boot.js +8 -3
  34. package/dist/esm/mocks/boot.js.map +1 -1
  35. package/dist/esm/mocks/time.d.ts +8 -1
  36. package/dist/esm/mocks/time.d.ts.map +1 -1
  37. package/dist/esm/mocks/time.js +19 -3
  38. package/dist/esm/mocks/time.js.map +1 -1
  39. package/package.json +3 -3
  40. package/src/failure-detail.ts +5 -1
  41. package/src/failure-reporter.ts +5 -1
  42. package/src/global-declarations.ts +7 -1
  43. package/src/mocha.ts +26 -1
  44. package/src/mocks/boot.ts +15 -6
  45. 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,iBAmC7F"}
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;AAsBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB;AAC5F,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,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;",
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,KAAK,GACzE;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;AACJ;",
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;QAE1D;;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,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"}
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"}
@@ -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;AAK7B,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,QAuEhD;AAaD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAQD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA6Hm9Y,GAAG;;;;;;;;;;;;EA5D7/Y;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"}
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, () => {
@@ -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
  }
@@ -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,MAAM,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,EAAE,IAalB,CAAC;AAIF,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,MAAM,IAAI,MAAM,IAAI,CAAA;CAAE,QAE1D"}
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"}
@@ -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;AAQb,MAAM,OAAa;AAAA,EACtB,QAAQ;AAAA,EAER,KAAK,IAAI;AACL,OAAG;AACH,iBAAa,KAAK,EAAE;AAAA,EACxB;AAAA,EAEA,SAAS;AACL,eAAW,eAAe,cAAc;AACpC,kBAAY;AAAA,IAChB;AAAA,EACJ;AACJ;AAEA,MAAM,eAAe,CAAC,MAAM,WAAW,KAAK,MAAM,IAAI,CAAC;AAEhD,SAAS,UAAU,SAAmC;AACzD,aAAW,KAAK,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AACtD;",
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
  }
@@ -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>, { stepMs, macrotasks }?: {
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,WAAW,WAAW,CAAC,CAAC,CAAC,2BAA0B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAkE3G;;OAEG;gBACe,MAAM;IAcxB;;;OAGG;;IAKH;;;;;OAKG;;IAOH;;;;;;;;OAQG;kBACW,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,GAAE,OAC5F,IAAI,UACD,KAAK,uBACQ,CACjB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAC/B,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,oBACtE,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAgDhF;;OAEG;wBACiB,MAAM;yBAIL,MAAM,YAAY,aAAa;qCAWnB,aAAa;CAKjD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC5B,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC1B,QASA"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"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"}
@@ -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 Error(
201
- "Mock timeout: Promise did not resolve within one (virtual) hour, probably not going to happen"
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": "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",
4
+ "mappings": "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",
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,iBAmC7F"}
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;AAsBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB;AAC5F,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,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;",
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,KAAK,GACzE;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;AACJ;",
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;QAE1D;;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,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"}
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"}
@@ -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;AAK7B,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,QAuEhD;AAaD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAQD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA6Hm9Y,GAAG;;;;;;;;;;;;EA5D7/Y;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"}
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, () => {
@@ -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
  }
@@ -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,MAAM,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,EAAE,IAalB,CAAC;AAIF,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,MAAM,IAAI,MAAM,IAAI,CAAA;CAAE,QAE1D"}
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"}
@@ -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;AAQb,MAAM,OAAa;AAAA,EACtB,QAAQ;AAAA,EAER,KAAK,IAAI;AACL,OAAG;AACH,iBAAa,KAAK,EAAE;AAAA,EACxB;AAAA,EAEA,SAAS;AACL,eAAW,eAAe,cAAc;AACpC,kBAAY;AAAA,IAChB;AAAA,EACJ;AACJ;AAEA,MAAM,eAAe,CAAC,MAAM,WAAW,KAAK,MAAM,IAAI,CAAC;AAEhD,SAAS,UAAU,SAAmC;AACzD,aAAW,KAAK,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AACtD;",
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
  }
@@ -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>, { stepMs, macrotasks }?: {
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,WAAW,WAAW,CAAC,CAAC,CAAC,2BAA0B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAkE3G;;OAEG;gBACe,MAAM;IAcxB;;;OAGG;;IAKH;;;;;OAKG;;IAOH;;;;;;;;OAQG;kBACW,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,GAAE,OAC5F,IAAI,UACD,KAAK,uBACQ,CACjB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAC/B,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,oBACtE,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAgDhF;;OAEG;wBACiB,MAAM;yBAIL,MAAM,YAAY,aAAa;qCAWnB,aAAa;CAKjD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC5B,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC1B,QASA"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"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"}
@@ -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 Error(
177
- "Mock timeout: Promise did not resolve within one (virtual) hour, probably not going to happen"
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": "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",
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.8",
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.8",
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.57.0",
56
+ "playwright": "^1.58.1",
57
57
  "trace-unhandled": "^2.0.1",
58
58
  "wtfnode": "^0.10.1",
59
59
  "xml2js": "^0.6.2",
@@ -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
  }
@@ -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>(promise: PromiseLike<T>, { stepMs, macrotasks }: { stepMs?: number; macrotasks?: boolean } = {}) {
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 Error(
228
- "Mock timeout: Promise did not resolve within one (virtual) hour, probably not going to happen",
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
  });