@matter/testing 0.15.0-alpha.0-20250612-ddd428561 → 0.15.0-alpha.0-20250614-b9829e223

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/chip/config.d.ts.map +1 -1
  2. package/dist/cjs/chip/config.js +2 -6
  3. package/dist/cjs/chip/config.js.map +1 -1
  4. package/dist/cjs/chip/container-command-pipe.d.ts +1 -0
  5. package/dist/cjs/chip/container-command-pipe.d.ts.map +1 -1
  6. package/dist/cjs/chip/container-command-pipe.js +2 -1
  7. package/dist/cjs/chip/container-command-pipe.js.map +1 -1
  8. package/dist/cjs/global-declarations.d.ts +0 -6
  9. package/dist/cjs/global-declarations.d.ts.map +1 -1
  10. package/dist/cjs/global-definitions.js +2 -5
  11. package/dist/cjs/global-definitions.js.map +1 -1
  12. package/dist/cjs/mocks/index.d.ts +0 -1
  13. package/dist/cjs/mocks/index.d.ts.map +1 -1
  14. package/dist/cjs/mocks/index.js +0 -1
  15. package/dist/cjs/mocks/index.js.map +1 -1
  16. package/dist/esm/chip/config.d.ts.map +1 -1
  17. package/dist/esm/chip/config.js +2 -6
  18. package/dist/esm/chip/config.js.map +1 -1
  19. package/dist/esm/chip/container-command-pipe.d.ts +1 -0
  20. package/dist/esm/chip/container-command-pipe.d.ts.map +1 -1
  21. package/dist/esm/chip/container-command-pipe.js +2 -1
  22. package/dist/esm/chip/container-command-pipe.js.map +1 -1
  23. package/dist/esm/global-declarations.d.ts +0 -6
  24. package/dist/esm/global-declarations.d.ts.map +1 -1
  25. package/dist/esm/global-definitions.js +2 -5
  26. package/dist/esm/global-definitions.js.map +1 -1
  27. package/dist/esm/mocks/index.d.ts +0 -1
  28. package/dist/esm/mocks/index.d.ts.map +1 -1
  29. package/dist/esm/mocks/index.js +0 -1
  30. package/dist/esm/mocks/index.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/chip/config.ts +2 -6
  33. package/src/chip/container-command-pipe.ts +1 -1
  34. package/src/global-declarations.ts +0 -9
  35. package/src/global-definitions.ts +0 -4
  36. package/src/mocks/index.ts +0 -1
  37. package/dist/cjs/mocks/crypto.d.ts +0 -33
  38. package/dist/cjs/mocks/crypto.d.ts.map +0 -1
  39. package/dist/cjs/mocks/crypto.js +0 -92
  40. package/dist/cjs/mocks/crypto.js.map +0 -6
  41. package/dist/esm/mocks/crypto.d.ts +0 -33
  42. package/dist/esm/mocks/crypto.d.ts.map +0 -1
  43. package/dist/esm/mocks/crypto.js +0 -72
  44. package/dist/esm/mocks/crypto.js.map +0 -6
  45. package/src/mocks/crypto.ts +0 -116
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,eAAe,iHACsF,CAAC;CACtH;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAcvC;;OAEG;IACI,MAAM,cAAc,UAW1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAK5B,CAAC;IAEK,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,eAAe,iHACsF,CAAC;CACtH;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAcvC;;OAEG;IACI,MAAM,cAAc,UAW1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAA4B,CAAC;IAEnD,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
@@ -23,6 +23,7 @@ __export(config_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(config_exports);
25
25
  var import_node_process = require("node:process");
26
+ var import_container_command_pipe = require("./container-command-pipe.js");
26
27
  /**
27
28
  * @license
28
29
  * Copyright 2022-2025 Matter.js Authors
@@ -57,12 +58,7 @@ var Constants;
57
58
  "--waitAfterCommissioning",
58
59
  `${delayAfterOpeningCommissioningWindowMs}`
59
60
  ];
60
- Constants2.PythonRunnerArgs = [
61
- // Our PID is meaningless within the container but Python uses in the name of the command pipe. We pass in our
62
- // actual PID to ensure no collision if multiple instances run
63
- "--app-pid",
64
- process.pid.toString()
65
- ];
61
+ Constants2.PythonRunnerArgs = ["--app-pipe", import_container_command_pipe.FIFO_PATH];
66
62
  Constants2.defaultPics = {
67
63
  kind: "composite",
68
64
  sources: [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/config.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAAoB;AANpB;AAAA;AAAA;AAAA;AAAA;AAeO,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,kBACT;AAAA,GANS;AAsBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,wBAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,wBAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,wBAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAMhC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB;AAAA;AAAA;AAAA,IAG5B;AAAA,IACA,QAAQ,IAAI,SAAS;AAAA,EACzB;AAEO,EAAMA,WAAA,cAA0B;AAAA,IACnC,MAAM;AAAA,IACN,SAAS;AAAA,MACL,EAAE,MAAM,QAAQ,MAAM,eAAe,SAAS;AAAA,MAC9C,EAAE,MAAM,QAAQ,MAAM,qCAAqC;AAAA,IAC/D;AAAA,EACJ;AAAA,GAjEa;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAAoB;AACpB,oCAA0B;AAP1B;AAAA;AAAA;AAAA;AAAA;AAgBO,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,kBACT;AAAA,GANS;AAsBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,wBAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,wBAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,wBAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAMhC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB,CAAC,cAAc,uCAAS;AAEjD,EAAMA,WAAA,cAA0B;AAAA,IACnC,MAAM;AAAA,IACN,SAAS;AAAA,MACL,EAAE,MAAM,QAAQ,MAAM,eAAe,SAAS;AAAA,MAC9C,EAAE,MAAM,QAAQ,MAAM,qCAAqC;AAAA,IAC/D;AAAA,EACJ;AAAA,GA5Da;",
5
5
  "names": ["ContainerPaths", "Constants"]
6
6
  }
@@ -6,6 +6,7 @@
6
6
  import { BackchannelCommand } from "../device/backchannel.js";
7
7
  import { Container } from "../docker/container.js";
8
8
  import { CommandPipe } from "./command-pipe.js";
9
+ export declare const FIFO_PATH = "/command-pipe.fifo";
9
10
  /**
10
11
  * A command pipe that reads commands from a Docker container.
11
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO;IAKtD,UAAU;IAOnB,aAAa,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;CAiDvB"}
1
+ {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAE9C;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO;IAKtD,UAAU;IAOnB,aAAa,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;CAiDvB"}
@@ -18,7 +18,8 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var container_command_pipe_exports = {};
20
20
  __export(container_command_pipe_exports, {
21
- ContainerCommandPipe: () => ContainerCommandPipe
21
+ ContainerCommandPipe: () => ContainerCommandPipe,
22
+ FIFO_PATH: () => FIFO_PATH
22
23
  });
23
24
  module.exports = __toCommonJS(container_command_pipe_exports);
24
25
  var import_terminal = require("../docker/terminal.js");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/container-command-pipe.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AACzB,0BAA4B;AAT5B;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,YAAY;AAKX,MAAM,6BAA6B,gCAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC;AACnE,UAAM,SAAS,oBAAoB;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAExB,UAAM,KAAK,WAAW,WAAW,SAAS;AAE1C,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,MAAc;AAC9B,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,KAAK,UAAU,qBAAqB,YAAY,IAAI,CAAC,CAAC;AAAA,EACnG;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW;AAAA,QAC7B,CAAC,QAAQ,MAAM,sBAAsB,SAAS,QAAQ;AAAA,QACtD,yBAAS;AAAA,MACb;AAEA,YAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,aAAK,cAAc;AAAA,MACvB,CAAC;AAED,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,cAAM,UAAU,MAAM,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAAe;AAAA,QACzD,CAAC;AACD,YAAI,YAAY,QAAW;AACvB;AAAA,QACJ;AACA,aAAK,OAAO,OAAO;AAAA,MACvB;AACA,YAAM;AAAA,IACV,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AACzB,0BAA4B;AAT5B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,YAAY;AAKlB,MAAM,6BAA6B,gCAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC;AACnE,UAAM,SAAS,oBAAoB;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAExB,UAAM,KAAK,WAAW,WAAW,SAAS;AAE1C,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,MAAc;AAC9B,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,KAAK,UAAU,qBAAqB,YAAY,IAAI,CAAC,CAAC;AAAA,EACnG;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW;AAAA,QAC7B,CAAC,QAAQ,MAAM,sBAAsB,SAAS,QAAQ;AAAA,QACtD,yBAAS;AAAA,MACb;AAEA,YAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,aAAK,cAAc;AAAA,MACvB,CAAC;AAED,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,cAAM,UAAU,MAAM,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAAe;AAAA,QACzD,CAAC;AACD,YAAI,YAAY,QAAW;AACvB;AAAA,QACJ;AACA,aAAK,OAAO,OAAO;AAAA,MACvB;AACA,YAAM;AAAA,IACV,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import type Chai from "chai";
7
7
  import "chai-as-promised";
8
- import type { MockCrypto } from "./mocks/crypto.js";
9
8
  import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
10
9
  import type { MockTime } from "./mocks/time.js";
11
10
  import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
@@ -13,7 +12,6 @@ declare global {
13
12
  const expect: typeof Chai.expect;
14
13
  let MockTime: MockTime;
15
14
  let MockLogger: MockLogger;
16
- let MockCrypto: MockCrypto;
17
15
  /**
18
16
  * If present, the following hooks are engaged by matter.js packages to enable mocking. We use globals rather than
19
17
  * imports so we can hook the modules regardless of whether they're loaded as CommonJS or ESM.
@@ -37,10 +35,6 @@ declare global {
37
35
  * Configure logging.
38
36
  */
39
37
  loggerSetup?: (Logger: any) => void;
40
- /**
41
- * Configure crypto.
42
- */
43
- cryptoSetup?: (Crypto: any) => void;
44
38
  /**
45
39
  * Receive intercepted log messages.
46
40
  */
@@ -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,mBAAmB,CAAC;AACpD,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,CAAC;IAGjC,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAG3B,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,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,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,CAAC;IAGjC,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"}
@@ -25,7 +25,6 @@ var import_chai = __toESM(require("chai"), 1);
25
25
  var import_chai_as_promised = __toESM(require("chai-as-promised"), 1);
26
26
  var import_mocha = require("./mocha.js");
27
27
  var import_boot = require("./mocks/boot.js");
28
- var import_crypto = require("./mocks/crypto.js");
29
28
  var import_logging = require("./mocks/logging.js");
30
29
  var import_time = require("./mocks/time.js");
31
30
  /**
@@ -41,11 +40,9 @@ Object.assign(globalThis, {
41
40
  interrupt,
42
41
  bootSetup: import_boot.bootSetup,
43
42
  loggerSetup: import_logging.loggerSetup,
44
- timeSetup: import_time.timeSetup,
45
- cryptoSetup: import_crypto.cryptoSetup
43
+ timeSetup: import_time.timeSetup
46
44
  },
47
- MockLogger: import_logging.MockLogger,
48
- MockCrypto: import_crypto.MockCrypto
45
+ MockLogger: import_logging.MockLogger
49
46
  });
50
47
  if (globalThis === globalThis.window) {
51
48
  (0, import_mocha.extendApi)(Mocha);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/global-definitions.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AASA,kBAAiB;AACjB,8BAA2B;AAC3B,mBAAsD;AACtD,kBAA0B;AAC1B,oBAAwC;AACxC,qBAAwC;AACxC,kBAA0B;AAf1B;AAAA;AAAA;AAAA;AAAA;AAiBA,YAAAA,QAAK,OAAO,oBAAoB;AAChC,YAAAA,QAAK,IAAI,wBAAAC,OAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,YAAAD,QAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,8BAAU,KAAK;AACf,iCAAa,KAAK;AAClB,iCAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AASA,kBAAiB;AACjB,8BAA2B;AAC3B,mBAAsD;AACtD,kBAA0B;AAC1B,qBAAwC;AACxC,kBAA0B;AAd1B;AAAA;AAAA;AAAA;AAAA;AAgBA,YAAAA,QAAK,OAAO,oBAAoB;AAChC,YAAAA,QAAK,IAAI,wBAAAC,OAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,YAAAD,QAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,8BAAU,KAAK;AACf,iCAAa,KAAK;AAClB,iCAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
5
5
  "names": ["Chai", "ChaiAsPromised"]
6
6
  }
@@ -6,6 +6,5 @@
6
6
  import "./environment.js";
7
7
  import "./logging.js";
8
8
  export * from "./boot.js";
9
- export * from "./crypto.js";
10
9
  export * from "./time.js";
11
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,cAAc,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,cAAc,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -18,7 +18,6 @@ module.exports = __toCommonJS(mocks_exports);
18
18
  var import_environment = require("./environment.js");
19
19
  var import_logging = require("./logging.js");
20
20
  __reExport(mocks_exports, require("./boot.js"), module.exports);
21
- __reExport(mocks_exports, require("./crypto.js"), module.exports);
22
21
  __reExport(mocks_exports, require("./time.js"), module.exports);
23
22
  /**
24
23
  * @license
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAO;AACP,qBAAO;AACP,0BAAc,sBARd;AASA,0BAAc,wBATd;AAUA,0BAAc,sBAVd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAO;AACP,qBAAO;AACP,0BAAc,sBARd;AASA,0BAAc,sBATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,eAAe,iHACsF,CAAC;CACtH;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAcvC;;OAEG;IACI,MAAM,cAAc,UAW1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAK5B,CAAC;IAEK,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,eAAe,iHACsF,CAAC;CACtH;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAcvC;;OAEG;IACI,MAAM,cAAc,UAW1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAA4B,CAAC;IAEnD,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { env } from "node:process";
7
+ import { FIFO_PATH } from "./container-command-pipe.js";
7
8
  var ContainerPaths;
8
9
  ((ContainerPaths2) => {
9
10
  ContainerPaths2.yamlRunner = `/scripts/tests/chipyaml/chiptool.py`;
@@ -33,12 +34,7 @@ var Constants;
33
34
  "--waitAfterCommissioning",
34
35
  `${delayAfterOpeningCommissioningWindowMs}`
35
36
  ];
36
- Constants2.PythonRunnerArgs = [
37
- // Our PID is meaningless within the container but Python uses in the name of the command pipe. We pass in our
38
- // actual PID to ensure no collision if multiple instances run
39
- "--app-pid",
40
- process.pid.toString()
41
- ];
37
+ Constants2.PythonRunnerArgs = ["--app-pipe", FIFO_PATH];
42
38
  Constants2.defaultPics = {
43
39
  kind: "composite",
44
40
  sources: [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/config.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,WAAW;AASb,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,kBACT;AAAA,GANS;AAsBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,IAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,IAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,IAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAMhC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB;AAAA;AAAA;AAAA,IAG5B;AAAA,IACA,QAAQ,IAAI,SAAS;AAAA,EACzB;AAEO,EAAMA,WAAA,cAA0B;AAAA,IACnC,MAAM;AAAA,IACN,SAAS;AAAA,MACL,EAAE,MAAM,QAAQ,MAAM,eAAe,SAAS;AAAA,MAC9C,EAAE,MAAM,QAAQ,MAAM,qCAAqC;AAAA,IAC/D;AAAA,EACJ;AAAA,GAjEa;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,WAAW;AACpB,SAAS,iBAAiB;AASnB,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,kBACT;AAAA,GANS;AAsBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,IAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,IAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,IAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAMhC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB,CAAC,cAAc,SAAS;AAEjD,EAAMA,WAAA,cAA0B;AAAA,IACnC,MAAM;AAAA,IACN,SAAS;AAAA,MACL,EAAE,MAAM,QAAQ,MAAM,eAAe,SAAS;AAAA,MAC9C,EAAE,MAAM,QAAQ,MAAM,qCAAqC;AAAA,IAC/D;AAAA,EACJ;AAAA,GA5Da;",
5
5
  "names": ["ContainerPaths", "Constants"]
6
6
  }
@@ -6,6 +6,7 @@
6
6
  import { BackchannelCommand } from "../device/backchannel.js";
7
7
  import { Container } from "../docker/container.js";
8
8
  import { CommandPipe } from "./command-pipe.js";
9
+ export declare const FIFO_PATH = "/command-pipe.fifo";
9
10
  /**
10
11
  * A command pipe that reads commands from a Docker container.
11
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO;IAKtD,UAAU;IAOnB,aAAa,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;CAiDvB"}
1
+ {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAE9C;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO;IAKtD,UAAU;IAOnB,aAAa,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;CAiDvB"}
@@ -66,6 +66,7 @@ class ContainerCommandPipe extends CommandPipe {
66
66
  }
67
67
  }
68
68
  export {
69
- ContainerCommandPipe
69
+ ContainerCommandPipe,
70
+ FIFO_PATH
70
71
  };
71
72
  //# sourceMappingURL=container-command-pipe.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/container-command-pipe.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAE5B,MAAM,YAAY;AAKX,MAAM,6BAA6B,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC;AACnE,UAAM,SAAS,oBAAoB;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAExB,UAAM,KAAK,WAAW,WAAW,SAAS;AAE1C,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,MAAc;AAC9B,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,KAAK,UAAU,qBAAqB,YAAY,IAAI,CAAC,CAAC;AAAA,EACnG;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW;AAAA,QAC7B,CAAC,QAAQ,MAAM,sBAAsB,SAAS,QAAQ;AAAA,QACtD,SAAS;AAAA,MACb;AAEA,YAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,aAAK,cAAc;AAAA,MACvB,CAAC;AAED,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,cAAM,UAAU,MAAM,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAAe;AAAA,QACzD,CAAC;AACD,YAAI,YAAY,QAAW;AACvB;AAAA,QACJ;AACA,aAAK,OAAO,OAAO;AAAA,MACvB;AACA,YAAM;AAAA,IACV,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAErB,MAAM,YAAY;AAKlB,MAAM,6BAA6B,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC;AACnE,UAAM,SAAS,oBAAoB;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAExB,UAAM,KAAK,WAAW,WAAW,SAAS;AAE1C,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,MAAc;AAC9B,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,KAAK,UAAU,qBAAqB,YAAY,IAAI,CAAC,CAAC;AAAA,EACnG;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW;AAAA,QAC7B,CAAC,QAAQ,MAAM,sBAAsB,SAAS,QAAQ;AAAA,QACtD,SAAS;AAAA,MACb;AAEA,YAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,aAAK,cAAc;AAAA,MACvB,CAAC;AAED,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,cAAM,UAAU,MAAM,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAAe;AAAA,QACzD,CAAC;AACD,YAAI,YAAY,QAAW;AACvB;AAAA,QACJ;AACA,aAAK,OAAO,OAAO;AAAA,MACvB;AACA,YAAM;AAAA,IACV,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import type Chai from "chai";
7
7
  import "chai-as-promised";
8
- import type { MockCrypto } from "./mocks/crypto.js";
9
8
  import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
10
9
  import type { MockTime } from "./mocks/time.js";
11
10
  import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
@@ -13,7 +12,6 @@ declare global {
13
12
  const expect: typeof Chai.expect;
14
13
  let MockTime: MockTime;
15
14
  let MockLogger: MockLogger;
16
- let MockCrypto: MockCrypto;
17
15
  /**
18
16
  * If present, the following hooks are engaged by matter.js packages to enable mocking. We use globals rather than
19
17
  * imports so we can hook the modules regardless of whether they're loaded as CommonJS or ESM.
@@ -37,10 +35,6 @@ declare global {
37
35
  * Configure logging.
38
36
  */
39
37
  loggerSetup?: (Logger: any) => void;
40
- /**
41
- * Configure crypto.
42
- */
43
- cryptoSetup?: (Crypto: any) => void;
44
38
  /**
45
39
  * Receive intercepted log messages.
46
40
  */
@@ -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,mBAAmB,CAAC;AACpD,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,CAAC;IAGjC,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAG3B,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,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,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,CAAC;IAGjC,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"}
@@ -7,7 +7,6 @@ import Chai from "chai";
7
7
  import ChaiAsPromised from "chai-as-promised";
8
8
  import { browserSetup, extendApi, generalSetup } from "./mocha.js";
9
9
  import { bootSetup } from "./mocks/boot.js";
10
- import { MockCrypto, cryptoSetup } from "./mocks/crypto.js";
11
10
  import { MockLogger, loggerSetup } from "./mocks/logging.js";
12
11
  import { timeSetup } from "./mocks/time.js";
13
12
  Chai.config.truncateThreshold = 200;
@@ -18,11 +17,9 @@ Object.assign(globalThis, {
18
17
  interrupt,
19
18
  bootSetup,
20
19
  loggerSetup,
21
- timeSetup,
22
- cryptoSetup
20
+ timeSetup
23
21
  },
24
- MockLogger,
25
- MockCrypto
22
+ MockLogger
26
23
  });
27
24
  if (globalThis === globalThis.window) {
28
25
  extendApi(Mocha);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/global-definitions.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,OAAO,UAAU;AACjB,OAAO,oBAAoB;AAC3B,SAAS,cAAc,WAAW,oBAAoB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,YAAY,mBAAmB;AACxC,SAAS,YAAY,mBAAmB;AACxC,SAAS,iBAAiB;AAE1B,KAAK,OAAO,oBAAoB;AAChC,KAAK,IAAI,cAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,KAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,YAAU,KAAK;AACf,eAAa,KAAK;AAClB,eAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,OAAO,UAAU;AACjB,OAAO,oBAAoB;AAC3B,SAAS,cAAc,WAAW,oBAAoB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,YAAY,mBAAmB;AACxC,SAAS,iBAAiB;AAE1B,KAAK,OAAO,oBAAoB;AAChC,KAAK,IAAI,cAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,KAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,YAAU,KAAK;AACf,eAAa,KAAK;AAClB,eAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
5
5
  "names": []
6
6
  }
@@ -6,6 +6,5 @@
6
6
  import "./environment.js";
7
7
  import "./logging.js";
8
8
  export * from "./boot.js";
9
- export * from "./crypto.js";
10
9
  export * from "./time.js";
11
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,cAAc,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,cAAc,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -6,6 +6,5 @@
6
6
  import "./environment.js";
7
7
  import "./logging.js";
8
8
  export * from "./boot.js";
9
- export * from "./crypto.js";
10
9
  export * from "./time.js";
11
10
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/testing",
3
- "version": "0.15.0-alpha.0-20250612-ddd428561",
3
+ "version": "0.15.0-alpha.0-20250614-b9829e223",
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.15.0-alpha.0-20250612-ddd428561",
48
+ "@matter/tools": "0.15.0-alpha.0-20250614-b9829e223",
49
49
  "@types/express": "^5.0.3",
50
50
  "ansi-colors": "^4.1.3",
51
51
  "chai": "^4.5.0",
@@ -5,6 +5,7 @@
5
5
  */
6
6
 
7
7
  import { env } from "node:process";
8
+ import { FIFO_PATH } from "./container-command-pipe.js";
8
9
  import { PicsSource } from "./pics/source.js";
9
10
 
10
11
  /**
@@ -87,12 +88,7 @@ export namespace Constants {
87
88
  /**
88
89
  * Default arguments provided to the Python runner.
89
90
  */
90
- export const PythonRunnerArgs = [
91
- // Our PID is meaningless within the container but Python uses in the name of the command pipe. We pass in our
92
- // actual PID to ensure no collision if multiple instances run
93
- "--app-pid",
94
- process.pid.toString(),
95
- ];
91
+ export const PythonRunnerArgs = ["--app-pipe", FIFO_PATH];
96
92
 
97
93
  export const defaultPics: PicsSource = {
98
94
  kind: "composite",
@@ -9,7 +9,7 @@ import { Container } from "../docker/container.js";
9
9
  import { Terminal } from "../docker/terminal.js";
10
10
  import { CommandPipe } from "./command-pipe.js";
11
11
 
12
- const FIFO_PATH = "/command-pipe.fifo";
12
+ export const FIFO_PATH = "/command-pipe.fifo";
13
13
 
14
14
  /**
15
15
  * A command pipe that reads commands from a Docker container.
@@ -6,7 +6,6 @@
6
6
 
7
7
  import type Chai from "chai";
8
8
  import "chai-as-promised";
9
- import type { MockCrypto } from "./mocks/crypto.js";
10
9
  import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
11
10
  import type { MockTime } from "./mocks/time.js";
12
11
  import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
@@ -21,9 +20,6 @@ declare global {
21
20
  // Expose API for controlling logging
22
21
  let MockLogger: MockLogger;
23
22
 
24
- // Expose API for controlling crypto
25
- let MockCrypto: MockCrypto;
26
-
27
23
  /**
28
24
  * If present, the following hooks are engaged by matter.js packages to enable mocking. We use globals rather than
29
25
  * imports so we can hook the modules regardless of whether they're loaded as CommonJS or ESM.
@@ -51,11 +47,6 @@ declare global {
51
47
  */
52
48
  loggerSetup?: (Logger: any) => void;
53
49
 
54
- /**
55
- * Configure crypto.
56
- */
57
- cryptoSetup?: (Crypto: any) => void;
58
-
59
50
  /**
60
51
  * Receive intercepted log messages.
61
52
  */
@@ -11,7 +11,6 @@ import Chai from "chai";
11
11
  import ChaiAsPromised from "chai-as-promised";
12
12
  import { browserSetup, extendApi, generalSetup } from "./mocha.js";
13
13
  import { bootSetup } from "./mocks/boot.js";
14
- import { MockCrypto, cryptoSetup } from "./mocks/crypto.js";
15
14
  import { MockLogger, loggerSetup } from "./mocks/logging.js";
16
15
  import { timeSetup } from "./mocks/time.js";
17
16
 
@@ -26,12 +25,9 @@ Object.assign(globalThis, {
26
25
  bootSetup,
27
26
  loggerSetup,
28
27
  timeSetup,
29
- cryptoSetup,
30
28
  },
31
29
 
32
30
  MockLogger,
33
-
34
- MockCrypto,
35
31
  });
36
32
 
37
33
  if (globalThis === (globalThis as any).window) {
@@ -7,5 +7,4 @@
7
7
  import "./environment.js";
8
8
  import "./logging.js";
9
9
  export * from "./boot.js";
10
- export * from "./crypto.js";
11
10
  export * from "./time.js";
@@ -1,33 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- interface CryptoInstance {
7
- getRandomData(length: number): Uint8Array;
8
- }
9
- interface CryptoNamespace {
10
- default: CryptoInstance;
11
- }
12
- export declare const MockCrypto: MockCrypto;
13
- export declare function cryptoSetup(Crypto: CryptoNamespace): void;
14
- export interface MockCrypto {
15
- /**
16
- * If false, crypto functions return all zeros instead of random data. Resets to true for each test file.
17
- */
18
- random: boolean;
19
- /**
20
- * Set {@link random} to false.
21
- */
22
- enable(): void;
23
- /**
24
- * Enabled if not already enabled.
25
- */
26
- init(): void;
27
- /**
28
- * Perform an operation with altered {@link random} then revert.
29
- */
30
- withRandom<T>(value: boolean, actor: () => T): T;
31
- }
32
- export {};
33
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/mocks/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,UAAU,cAAc;IACpB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7C;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,cAAc,CAAC;CAC3B;AAMD,eAAO,MAAM,UAAU,EAAE,UA6DxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,QAElD;AAID,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACpD"}
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var crypto_exports = {};
20
- __export(crypto_exports, {
21
- MockCrypto: () => MockCrypto,
22
- cryptoSetup: () => cryptoSetup
23
- });
24
- module.exports = __toCommonJS(crypto_exports);
25
- var import_boot = require("./boot.js");
26
- /**
27
- * @license
28
- * Copyright 2022-2025 Matter.js Authors
29
- * SPDX-License-Identifier: Apache-2.0
30
- */
31
- const FILL_BYTE = 128;
32
- let RealCrypto;
33
- let restoreRandomness;
34
- const MockCrypto = {
35
- set random(value) {
36
- if (RealCrypto === void 0) {
37
- return;
38
- }
39
- if (value === this.random) {
40
- return;
41
- }
42
- restoreRandomness?.();
43
- if (!value) {
44
- const instance = RealCrypto.default;
45
- const realGetRandomData = instance.getRandomData;
46
- instance.getRandomData = (length) => {
47
- const result = new Uint8Array(length);
48
- result.fill(FILL_BYTE);
49
- return result;
50
- };
51
- restoreRandomness = () => {
52
- instance.getRandomData = realGetRandomData;
53
- restoreRandomness = void 0;
54
- };
55
- }
56
- },
57
- get random() {
58
- return !restoreRandomness;
59
- },
60
- withRandom(value, actor) {
61
- const revertTo = !!restoreRandomness;
62
- let isAsync = false;
63
- try {
64
- MockCrypto.random = value;
65
- const result = actor();
66
- if (typeof result?.then === "function") {
67
- isAsync = true;
68
- return Promise.resolve(result).finally(() => {
69
- MockCrypto.random = revertTo;
70
- });
71
- }
72
- return result;
73
- } finally {
74
- if (!isAsync) {
75
- MockCrypto.random = revertTo;
76
- }
77
- }
78
- },
79
- enable() {
80
- MockCrypto.random = false;
81
- },
82
- init() {
83
- if (MockCrypto.random) {
84
- MockCrypto.enable();
85
- }
86
- }
87
- };
88
- function cryptoSetup(Crypto) {
89
- RealCrypto = Crypto;
90
- }
91
- import_boot.Boot.init(() => MockCrypto.random = true);
92
- //# sourceMappingURL=crypto.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/mocks/crypto.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAqB;AANrB;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,YAAY;AAUlB,IAAI;AAEJ,IAAI;AAEG,MAAM,aAAyB;AAAA,EAClC,IAAI,OAAO,OAAgB;AACvB,QAAI,eAAe,QAAW;AAC1B;AAAA,IACJ;AAEA,QAAI,UAAU,KAAK,QAAQ;AACvB;AAAA,IACJ;AAEA,wBAAoB;AACpB,QAAI,CAAC,OAAO;AACR,YAAM,WAAW,WAAW;AAE5B,YAAM,oBAAoB,SAAS;AACnC,eAAS,gBAAgB,YAAU;AAC/B,cAAM,SAAS,IAAI,WAAW,MAAM;AACpC,eAAO,KAAK,SAAS;AACrB,eAAO;AAAA,MACX;AAEA,0BAAoB,MAAM;AACtB,iBAAS,gBAAgB;AACzB,4BAAoB;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,CAAC;AAAA,EACZ;AAAA,EAEA,WAAc,OAAgB,OAAmB;AAC7C,UAAM,WAAW,CAAC,CAAC;AACnB,QAAI,UAAU;AACd,QAAI;AACA,iBAAW,SAAS;AACpB,YAAM,SAAS,MAAM;AACrB,UAAI,OAAQ,QAAgB,SAAS,YAAY;AAC7C,kBAAU;AACV,eAAO,QAAQ,QAAQ,MAAM,EAAE,QAAQ,MAAM;AACzC,qBAAW,SAAS;AAAA,QACxB,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX,UAAE;AACE,UAAI,CAAC,SAAS;AACV,mBAAW,SAAS;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,SAAS;AACL,eAAW,SAAS;AAAA,EACxB;AAAA,EAEA,OAAO;AACH,QAAI,WAAW,QAAQ;AACnB,iBAAW,OAAO;AAAA,IACtB;AAAA,EACJ;AACJ;AAEO,SAAS,YAAY,QAAyB;AACjD,eAAa;AACjB;AAEA,iBAAK,KAAK,MAAO,WAAW,SAAS,IAAK;",
5
- "names": []
6
- }
@@ -1,33 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- interface CryptoInstance {
7
- getRandomData(length: number): Uint8Array;
8
- }
9
- interface CryptoNamespace {
10
- default: CryptoInstance;
11
- }
12
- export declare const MockCrypto: MockCrypto;
13
- export declare function cryptoSetup(Crypto: CryptoNamespace): void;
14
- export interface MockCrypto {
15
- /**
16
- * If false, crypto functions return all zeros instead of random data. Resets to true for each test file.
17
- */
18
- random: boolean;
19
- /**
20
- * Set {@link random} to false.
21
- */
22
- enable(): void;
23
- /**
24
- * Enabled if not already enabled.
25
- */
26
- init(): void;
27
- /**
28
- * Perform an operation with altered {@link random} then revert.
29
- */
30
- withRandom<T>(value: boolean, actor: () => T): T;
31
- }
32
- export {};
33
- //# sourceMappingURL=crypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/mocks/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,UAAU,cAAc;IACpB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7C;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,cAAc,CAAC;CAC3B;AAMD,eAAO,MAAM,UAAU,EAAE,UA6DxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,QAElD;AAID,MAAM,WAAW,UAAU;IACvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACpD"}
@@ -1,72 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Boot } from "./boot.js";
7
- const FILL_BYTE = 128;
8
- let RealCrypto;
9
- let restoreRandomness;
10
- const MockCrypto = {
11
- set random(value) {
12
- if (RealCrypto === void 0) {
13
- return;
14
- }
15
- if (value === this.random) {
16
- return;
17
- }
18
- restoreRandomness?.();
19
- if (!value) {
20
- const instance = RealCrypto.default;
21
- const realGetRandomData = instance.getRandomData;
22
- instance.getRandomData = (length) => {
23
- const result = new Uint8Array(length);
24
- result.fill(FILL_BYTE);
25
- return result;
26
- };
27
- restoreRandomness = () => {
28
- instance.getRandomData = realGetRandomData;
29
- restoreRandomness = void 0;
30
- };
31
- }
32
- },
33
- get random() {
34
- return !restoreRandomness;
35
- },
36
- withRandom(value, actor) {
37
- const revertTo = !!restoreRandomness;
38
- let isAsync = false;
39
- try {
40
- MockCrypto.random = value;
41
- const result = actor();
42
- if (typeof result?.then === "function") {
43
- isAsync = true;
44
- return Promise.resolve(result).finally(() => {
45
- MockCrypto.random = revertTo;
46
- });
47
- }
48
- return result;
49
- } finally {
50
- if (!isAsync) {
51
- MockCrypto.random = revertTo;
52
- }
53
- }
54
- },
55
- enable() {
56
- MockCrypto.random = false;
57
- },
58
- init() {
59
- if (MockCrypto.random) {
60
- MockCrypto.enable();
61
- }
62
- }
63
- };
64
- function cryptoSetup(Crypto) {
65
- RealCrypto = Crypto;
66
- }
67
- Boot.init(() => MockCrypto.random = true);
68
- export {
69
- MockCrypto,
70
- cryptoSetup
71
- };
72
- //# sourceMappingURL=crypto.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/mocks/crypto.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AAMrB,MAAM,YAAY;AAUlB,IAAI;AAEJ,IAAI;AAEG,MAAM,aAAyB;AAAA,EAClC,IAAI,OAAO,OAAgB;AACvB,QAAI,eAAe,QAAW;AAC1B;AAAA,IACJ;AAEA,QAAI,UAAU,KAAK,QAAQ;AACvB;AAAA,IACJ;AAEA,wBAAoB;AACpB,QAAI,CAAC,OAAO;AACR,YAAM,WAAW,WAAW;AAE5B,YAAM,oBAAoB,SAAS;AACnC,eAAS,gBAAgB,YAAU;AAC/B,cAAM,SAAS,IAAI,WAAW,MAAM;AACpC,eAAO,KAAK,SAAS;AACrB,eAAO;AAAA,MACX;AAEA,0BAAoB,MAAM;AACtB,iBAAS,gBAAgB;AACzB,4BAAoB;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,CAAC;AAAA,EACZ;AAAA,EAEA,WAAc,OAAgB,OAAmB;AAC7C,UAAM,WAAW,CAAC,CAAC;AACnB,QAAI,UAAU;AACd,QAAI;AACA,iBAAW,SAAS;AACpB,YAAM,SAAS,MAAM;AACrB,UAAI,OAAQ,QAAgB,SAAS,YAAY;AAC7C,kBAAU;AACV,eAAO,QAAQ,QAAQ,MAAM,EAAE,QAAQ,MAAM;AACzC,qBAAW,SAAS;AAAA,QACxB,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX,UAAE;AACE,UAAI,CAAC,SAAS;AACV,mBAAW,SAAS;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,SAAS;AACL,eAAW,SAAS;AAAA,EACxB;AAAA,EAEA,OAAO;AACH,QAAI,WAAW,QAAQ;AACnB,iBAAW,OAAO;AAAA,IACtB;AAAA,EACJ;AACJ;AAEO,SAAS,YAAY,QAAyB;AACjD,eAAa;AACjB;AAEA,KAAK,KAAK,MAAO,WAAW,SAAS,IAAK;",
5
- "names": []
6
- }
@@ -1,116 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- import { Boot } from "./boot.js";
8
-
9
- /**
10
- * An arbitrary fill byte for mock random data. At some point a pseudo-random function may make sense but for now this
11
- * suffices. Do not choose 0 or 0xff because that will interfere with logic that disallows 0 or -1.
12
- */
13
- const FILL_BYTE = 0x80;
14
-
15
- interface CryptoInstance {
16
- getRandomData(length: number): Uint8Array;
17
- }
18
-
19
- interface CryptoNamespace {
20
- default: CryptoInstance;
21
- }
22
-
23
- let RealCrypto: undefined | CryptoNamespace;
24
-
25
- let restoreRandomness: undefined | (() => void);
26
-
27
- export const MockCrypto: MockCrypto = {
28
- set random(value: boolean) {
29
- if (RealCrypto === undefined) {
30
- return;
31
- }
32
-
33
- if (value === this.random) {
34
- return;
35
- }
36
-
37
- restoreRandomness?.();
38
- if (!value) {
39
- const instance = RealCrypto.default;
40
-
41
- const realGetRandomData = instance.getRandomData;
42
- instance.getRandomData = length => {
43
- const result = new Uint8Array(length);
44
- result.fill(FILL_BYTE);
45
- return result;
46
- };
47
-
48
- restoreRandomness = () => {
49
- instance.getRandomData = realGetRandomData;
50
- restoreRandomness = undefined;
51
- };
52
- }
53
- },
54
-
55
- get random() {
56
- return !restoreRandomness;
57
- },
58
-
59
- withRandom<T>(value: boolean, actor: () => T): T {
60
- const revertTo = !!restoreRandomness;
61
- let isAsync = false;
62
- try {
63
- MockCrypto.random = value;
64
- const result = actor();
65
- if (typeof (result as any)?.then === "function") {
66
- isAsync = true;
67
- return Promise.resolve(result).finally(() => {
68
- MockCrypto.random = revertTo;
69
- }) as T;
70
- }
71
- return result;
72
- } finally {
73
- if (!isAsync) {
74
- MockCrypto.random = revertTo;
75
- }
76
- }
77
- },
78
-
79
- enable() {
80
- MockCrypto.random = false;
81
- },
82
-
83
- init() {
84
- if (MockCrypto.random) {
85
- MockCrypto.enable();
86
- }
87
- },
88
- };
89
-
90
- export function cryptoSetup(Crypto: CryptoNamespace) {
91
- RealCrypto = Crypto;
92
- }
93
-
94
- Boot.init(() => (MockCrypto.random = true));
95
-
96
- export interface MockCrypto {
97
- /**
98
- * If false, crypto functions return all zeros instead of random data. Resets to true for each test file.
99
- */
100
- random: boolean;
101
-
102
- /**
103
- * Set {@link random} to false.
104
- */
105
- enable(): void;
106
-
107
- /**
108
- * Enabled if not already enabled.
109
- */
110
- init(): void;
111
-
112
- /**
113
- * Perform an operation with altered {@link random} then revert.
114
- */
115
- withRandom<T>(value: boolean, actor: () => T): T;
116
- }