@matter/testing 0.13.1-alpha.0-20250501-80c86b03e → 0.13.1-alpha.0-20250504-87f265a2e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/test.js +1 -2
- package/dist/cjs/chip/chip.d.ts +7 -2
- package/dist/cjs/chip/chip.d.ts.map +1 -1
- package/dist/cjs/chip/chip.js +20 -15
- package/dist/cjs/chip/chip.js.map +1 -1
- package/dist/cjs/chip/command-pipe.d.ts +2 -1
- package/dist/cjs/chip/command-pipe.d.ts.map +1 -1
- package/dist/cjs/chip/command-pipe.js +5 -2
- package/dist/cjs/chip/command-pipe.js.map +1 -1
- package/dist/cjs/chip/config.d.ts +2 -2
- package/dist/cjs/chip/config.d.ts.map +1 -1
- package/dist/cjs/chip/config.js +7 -6
- package/dist/cjs/chip/config.js.map +1 -1
- package/dist/cjs/chip/container-command-pipe.d.ts +2 -1
- package/dist/cjs/chip/container-command-pipe.d.ts.map +1 -1
- package/dist/cjs/chip/container-command-pipe.js +26 -24
- package/dist/cjs/chip/container-command-pipe.js.map +1 -1
- package/dist/cjs/chip/index.d.ts +1 -1
- package/dist/cjs/chip/index.d.ts.map +1 -1
- package/dist/cjs/chip/index.js +1 -1
- package/dist/cjs/chip/index.js.map +1 -1
- package/dist/cjs/chip/{pics-expression.d.ts → pics/expression.d.ts} +2 -2
- package/dist/cjs/chip/pics/expression.d.ts.map +1 -0
- package/dist/cjs/chip/{pics-expression.js → pics/expression.js} +6 -6
- package/dist/cjs/chip/pics/expression.js.map +6 -0
- package/dist/cjs/chip/{pics-file.d.ts → pics/file.d.ts} +10 -5
- package/dist/cjs/chip/pics/file.d.ts.map +1 -0
- package/dist/cjs/chip/{pics-file.js → pics/file.js} +21 -13
- package/dist/cjs/chip/pics/file.js.map +6 -0
- package/dist/cjs/chip/pics/index.d.ts +10 -0
- package/dist/cjs/chip/pics/index.d.ts.map +1 -0
- package/dist/cjs/chip/pics/index.js +27 -0
- package/dist/cjs/chip/pics/index.js.map +6 -0
- package/dist/cjs/chip/pics/source.d.ts +52 -0
- package/dist/cjs/chip/pics/source.d.ts.map +1 -0
- package/dist/cjs/chip/pics/source.js +117 -0
- package/dist/cjs/chip/pics/source.js.map +6 -0
- package/dist/cjs/chip/pics/values.d.ts +9 -0
- package/dist/cjs/chip/pics/values.d.ts.map +1 -0
- package/dist/cjs/chip/pics/values.js +22 -0
- package/dist/cjs/chip/pics/values.js.map +6 -0
- package/dist/cjs/chip/python-test.d.ts.map +1 -1
- package/dist/cjs/chip/python-test.js +14 -7
- package/dist/cjs/chip/python-test.js.map +1 -1
- package/dist/cjs/chip/state.d.ts +3 -2
- package/dist/cjs/chip/state.d.ts.map +1 -1
- package/dist/cjs/chip/state.js +38 -25
- package/dist/cjs/chip/state.js.map +1 -1
- package/dist/cjs/chip/yaml-test.d.ts +1 -1
- package/dist/cjs/chip/yaml-test.d.ts.map +1 -1
- package/dist/cjs/chip/yaml-test.js +5 -1
- package/dist/cjs/chip/yaml-test.js.map +1 -1
- package/dist/cjs/cli.d.ts.map +1 -1
- package/dist/cjs/cli.js +18 -3
- package/dist/cjs/cli.js.map +2 -2
- package/dist/cjs/device/subject.d.ts +4 -0
- package/dist/cjs/device/subject.d.ts.map +1 -1
- package/dist/cjs/failure-reporter.js +4 -6
- package/dist/cjs/failure-reporter.js.map +1 -1
- package/dist/cjs/print-report.d.ts +3 -0
- package/dist/cjs/print-report.d.ts.map +1 -1
- package/dist/cjs/print-report.js +13 -16
- package/dist/cjs/print-report.js.map +2 -2
- package/dist/cjs/test-descriptor.d.ts +18 -13
- package/dist/cjs/test-descriptor.d.ts.map +1 -1
- package/dist/cjs/test-descriptor.js +48 -49
- package/dist/cjs/test-descriptor.js.map +2 -2
- package/dist/esm/chip/chip.d.ts +7 -2
- package/dist/esm/chip/chip.d.ts.map +1 -1
- package/dist/esm/chip/chip.js +20 -15
- package/dist/esm/chip/chip.js.map +1 -1
- package/dist/esm/chip/command-pipe.d.ts +2 -1
- package/dist/esm/chip/command-pipe.d.ts.map +1 -1
- package/dist/esm/chip/command-pipe.js +5 -2
- package/dist/esm/chip/command-pipe.js.map +1 -1
- package/dist/esm/chip/config.d.ts +2 -2
- package/dist/esm/chip/config.d.ts.map +1 -1
- package/dist/esm/chip/config.js +7 -6
- package/dist/esm/chip/config.js.map +1 -1
- package/dist/esm/chip/container-command-pipe.d.ts +2 -1
- package/dist/esm/chip/container-command-pipe.d.ts.map +1 -1
- package/dist/esm/chip/container-command-pipe.js +26 -24
- package/dist/esm/chip/container-command-pipe.js.map +1 -1
- package/dist/esm/chip/index.d.ts +1 -1
- package/dist/esm/chip/index.d.ts.map +1 -1
- package/dist/esm/chip/index.js +1 -1
- package/dist/esm/chip/{pics-expression.d.ts → pics/expression.d.ts} +2 -2
- package/dist/esm/chip/pics/expression.d.ts.map +1 -0
- package/dist/esm/chip/{pics-expression.js → pics/expression.js} +3 -3
- package/dist/esm/chip/pics/expression.js.map +6 -0
- package/dist/esm/chip/{pics-file.d.ts → pics/file.d.ts} +10 -5
- package/dist/esm/chip/pics/file.d.ts.map +1 -0
- package/dist/esm/chip/{pics-file.js → pics/file.js} +18 -10
- package/dist/esm/chip/pics/file.js.map +6 -0
- package/dist/esm/chip/pics/index.d.ts +10 -0
- package/dist/esm/chip/pics/index.d.ts.map +1 -0
- package/dist/esm/chip/pics/index.js +10 -0
- package/dist/esm/chip/pics/index.js.map +6 -0
- package/dist/esm/chip/pics/source.d.ts +52 -0
- package/dist/esm/chip/pics/source.d.ts.map +1 -0
- package/dist/esm/chip/pics/source.js +97 -0
- package/dist/esm/chip/pics/source.js.map +6 -0
- package/dist/esm/chip/pics/values.d.ts +9 -0
- package/dist/esm/chip/pics/values.d.ts.map +1 -0
- package/dist/esm/chip/pics/values.js +6 -0
- package/dist/esm/chip/pics/values.js.map +6 -0
- package/dist/esm/chip/python-test.d.ts.map +1 -1
- package/dist/esm/chip/python-test.js +14 -7
- package/dist/esm/chip/python-test.js.map +1 -1
- package/dist/esm/chip/state.d.ts +3 -2
- package/dist/esm/chip/state.d.ts.map +1 -1
- package/dist/esm/chip/state.js +39 -26
- package/dist/esm/chip/state.js.map +1 -1
- package/dist/esm/chip/yaml-test.d.ts +1 -1
- package/dist/esm/chip/yaml-test.d.ts.map +1 -1
- package/dist/esm/chip/yaml-test.js +5 -1
- package/dist/esm/chip/yaml-test.js.map +1 -1
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +19 -4
- package/dist/esm/cli.js.map +2 -2
- package/dist/esm/device/subject.d.ts +4 -0
- package/dist/esm/device/subject.d.ts.map +1 -1
- package/dist/esm/failure-reporter.js +4 -6
- package/dist/esm/failure-reporter.js.map +1 -1
- package/dist/esm/print-report.d.ts +3 -0
- package/dist/esm/print-report.d.ts.map +1 -1
- package/dist/esm/print-report.js +12 -15
- package/dist/esm/print-report.js.map +2 -2
- package/dist/esm/test-descriptor.d.ts +18 -13
- package/dist/esm/test-descriptor.d.ts.map +1 -1
- package/dist/esm/test-descriptor.js +48 -49
- package/dist/esm/test-descriptor.js.map +2 -2
- package/package.json +2 -2
- package/src/chip/chip.ts +31 -17
- package/src/chip/command-pipe.ts +6 -2
- package/src/chip/config.ts +9 -9
- package/src/chip/container-command-pipe.ts +28 -30
- package/src/chip/index.ts +1 -1
- package/src/chip/matter-js-pics.properties +7 -4
- package/src/chip/{pics-expression.ts → pics/expression.ts} +4 -3
- package/src/chip/{pics-file.ts → pics/file.ts} +30 -13
- package/src/chip/pics/index.ts +10 -0
- package/src/chip/pics/source.ts +163 -0
- package/src/chip/pics/values.ts +9 -0
- package/src/chip/python-test.ts +18 -11
- package/src/chip/state.ts +56 -33
- package/src/chip/yaml-test.ts +6 -1
- package/src/cli.ts +29 -5
- package/src/device/subject.ts +4 -0
- package/src/failure-reporter.ts +4 -4
- package/src/print-report.ts +13 -18
- package/src/test-descriptor.ts +70 -61
- package/src/tsconfig.json +6 -2
- package/dist/cjs/chip/pics-expression.d.ts.map +0 -1
- package/dist/cjs/chip/pics-expression.js.map +0 -6
- package/dist/cjs/chip/pics-file.d.ts.map +0 -1
- package/dist/cjs/chip/pics-file.js.map +0 -6
- package/dist/esm/chip/pics-expression.d.ts.map +0 -1
- package/dist/esm/chip/pics-expression.js.map +0 -6
- package/dist/esm/chip/pics-file.d.ts.map +0 -1
- package/dist/esm/chip/pics-file.js.map +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC;;GAEG;AACH,MAAM,MAAM,UAAU,GAChB,UAAU,CAAC,SAAS,GACpB,UAAU,CAAC,QAAQ,GACnB,UAAU,CAAC,SAAS,GACpB,UAAU,CAAC,KAAK,GAChB,UAAU,CAAC,MAAM,CAAC;AAExB,yBAAiB,UAAU,CAAC;IACxB;;;;OAIG;IACH,SAAsB,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4ChE;IAED;;OAEG;IACH,SAAsB,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAatF;IAED;;;;;;OAMG;IACH,SAAsB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB7D;IAED,UAAiB,SAAS;QACtB,IAAI,EAAE,WAAW,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACrB;IAED,UAAiB,QAAQ;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB;IAED,UAAiB,SAAS;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB;IAED,UAAiB,KAAK;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACjB;IAED,UAAiB,MAAM;QACnB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACjC;IAED,KAAY,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;CAC9D"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Package } from "#tools";
|
|
7
|
+
import { readFile } from "node:fs/promises";
|
|
8
|
+
import { isAbsolute } from "node:path";
|
|
9
|
+
import { State } from "../state.js";
|
|
10
|
+
import { PicsFile } from "./file.js";
|
|
11
|
+
const dataCache = /* @__PURE__ */ new WeakMap();
|
|
12
|
+
const filenameCache = /* @__PURE__ */ new WeakMap();
|
|
13
|
+
let nextFileNo = 1;
|
|
14
|
+
var PicsSource;
|
|
15
|
+
((PicsSource2) => {
|
|
16
|
+
async function load(source) {
|
|
17
|
+
let file = dataCache.get(source);
|
|
18
|
+
if (file) {
|
|
19
|
+
return file;
|
|
20
|
+
}
|
|
21
|
+
switch (source.kind) {
|
|
22
|
+
case "composite":
|
|
23
|
+
for (const subsource of source.sources) {
|
|
24
|
+
const sourceFile = await load(subsource);
|
|
25
|
+
if (file) {
|
|
26
|
+
file.patch(sourceFile);
|
|
27
|
+
} else {
|
|
28
|
+
file = sourceFile;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!file) {
|
|
32
|
+
file = new PicsFile();
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
case "chip":
|
|
36
|
+
file = new PicsFile(await State.container.read(source.name));
|
|
37
|
+
break;
|
|
38
|
+
case "file":
|
|
39
|
+
file = new PicsFile(await readFile(resolve(source.name), "utf-8"));
|
|
40
|
+
break;
|
|
41
|
+
case "lines":
|
|
42
|
+
file = new PicsFile(source.lines.split("\n").map((l) => l.trim()));
|
|
43
|
+
break;
|
|
44
|
+
case "values":
|
|
45
|
+
file = new PicsFile(Object.entries(source.values).map(([key, value]) => `${key}=${value}`));
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
throw new Error(`Invalid PICS source kind "${source.kind}"`);
|
|
49
|
+
}
|
|
50
|
+
dataCache.set(source, file);
|
|
51
|
+
return file;
|
|
52
|
+
}
|
|
53
|
+
PicsSource2.load = load;
|
|
54
|
+
async function save(target, file) {
|
|
55
|
+
switch (target.kind) {
|
|
56
|
+
case "chip":
|
|
57
|
+
await State.container.write(target.name, file.toString());
|
|
58
|
+
break;
|
|
59
|
+
case "file":
|
|
60
|
+
await State.container.write(resolve(target.name), file.toString());
|
|
61
|
+
break;
|
|
62
|
+
default:
|
|
63
|
+
throw new Error(`Invalid PICS target kind "${target.kind}"`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
PicsSource2.save = save;
|
|
67
|
+
async function install(file) {
|
|
68
|
+
let filename = filenameCache.get(file);
|
|
69
|
+
if (filename) {
|
|
70
|
+
return filename;
|
|
71
|
+
}
|
|
72
|
+
filename = `/pics-${nextFileNo++}.properties`;
|
|
73
|
+
try {
|
|
74
|
+
filenameCache.set(file, filename);
|
|
75
|
+
await save({ kind: "chip", name: filename }, file);
|
|
76
|
+
} catch (e) {
|
|
77
|
+
filenameCache.delete(file);
|
|
78
|
+
throw e;
|
|
79
|
+
}
|
|
80
|
+
return filename;
|
|
81
|
+
}
|
|
82
|
+
PicsSource2.install = install;
|
|
83
|
+
})(PicsSource || (PicsSource = {}));
|
|
84
|
+
function resolve(path) {
|
|
85
|
+
if (isAbsolute(path)) {
|
|
86
|
+
return path;
|
|
87
|
+
}
|
|
88
|
+
const testing = Package.tools.findPackage("@matter/testing");
|
|
89
|
+
if (testing.hasFile(path)) {
|
|
90
|
+
return testing.resolve(path);
|
|
91
|
+
}
|
|
92
|
+
return resolve(path);
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
PicsSource
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=source.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/chip/pics/source.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,aAAa;AACtB,SAAS,gBAAgB;AAEzB,MAAM,YAAY,oBAAI,QAA8B;AACpD,MAAM,gBAAgB,oBAAI,QAA0B;AAEpD,IAAI,aAAa;AAYV,IAAU;AAAA,CAAV,CAAUA,gBAAV;AAMH,iBAAsB,KAAK,QAAuC;AAC9D,QAAI,OAAO,UAAU,IAAI,MAAM;AAC/B,QAAI,MAAM;AACN,aAAO;AAAA,IACX;AAEA,YAAQ,OAAO,MAAM;AAAA,MACjB,KAAK;AACD,mBAAW,aAAa,OAAO,SAAS;AACpC,gBAAM,aAAa,MAAM,KAAK,SAAS;AACvC,cAAI,MAAM;AACN,iBAAK,MAAM,UAAU;AAAA,UACzB,OAAO;AACH,mBAAO;AAAA,UACX;AAAA,QACJ;AACA,YAAI,CAAC,MAAM;AACP,iBAAO,IAAI,SAAS;AAAA,QACxB;AACA;AAAA,MAEJ,KAAK;AACD,eAAO,IAAI,SAAS,MAAM,MAAM,UAAU,KAAK,OAAO,IAAI,CAAC;AAC3D;AAAA,MAEJ,KAAK;AACD,eAAO,IAAI,SAAS,MAAM,SAAS,QAAQ,OAAO,IAAI,GAAG,OAAO,CAAC;AACjE;AAAA,MAEJ,KAAK;AACD,eAAO,IAAI,SAAS,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC,CAAC;AAC/D;AAAA,MAEJ,KAAK;AACD,eAAO,IAAI,SAAS,OAAO,QAAQ,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;AAC1F;AAAA,MAEJ;AACI,cAAM,IAAI,MAAM,6BAA8B,OAA6B,IAAI,GAAG;AAAA,IAC1F;AAEA,cAAU,IAAI,QAAQ,IAAI;AAE1B,WAAO;AAAA,EACX;AA5CA,EAAAA,YAAsB;AAiDtB,iBAAsB,KAAK,QAA8B,MAA+B;AACpF,YAAQ,OAAO,MAAM;AAAA,MACjB,KAAK;AACD,cAAM,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,SAAS,CAAC;AACxD;AAAA,MAEJ,KAAK;AACD,cAAM,MAAM,UAAU,MAAM,QAAQ,OAAO,IAAI,GAAG,KAAK,SAAS,CAAC;AACjE;AAAA,MAEJ;AACI,cAAM,IAAI,MAAM,6BAA8B,OAA6B,IAAI,GAAG;AAAA,IAC1F;AAAA,EACJ;AAbA,EAAAA,YAAsB;AAsBtB,iBAAsB,QAAQ,MAAiC;AAC3D,QAAI,WAAW,cAAc,IAAI,IAAI;AACrC,QAAI,UAAU;AACV,aAAO;AAAA,IACX;AAEA,eAAW,SAAS,YAAY;AAEhC,QAAI;AACA,oBAAc,IAAI,MAAM,QAAQ;AAChC,YAAM,KAAK,EAAE,MAAM,QAAQ,MAAM,SAAS,GAAG,IAAI;AAAA,IACrD,SAAS,GAAG;AACR,oBAAc,OAAO,IAAI;AACzB,YAAM;AAAA,IACV;AAEA,WAAO;AAAA,EACX;AAjBA,EAAAA,YAAsB;AAAA,GA7ET;AA4HjB,SAAS,QAAQ,MAAsB;AACnC,MAAI,WAAW,IAAI,GAAG;AAClB,WAAO;AAAA,EACX;AAEA,QAAM,UAAU,QAAQ,MAAM,YAAY,iBAAiB;AAC3D,MAAI,QAAQ,QAAQ,IAAI,GAAG;AACvB,WAAO,QAAQ,QAAQ,IAAI;AAAA,EAC/B;AAEA,SAAO,QAAQ,IAAI;AACvB;",
|
|
5
|
+
"names": ["PicsSource"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IACvB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python-test.d.ts","sourceRoot":"","sources":["../../../src/chip/python-test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"python-test.d.ts","sourceRoot":"","sources":["../../../src/chip/python-test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,qBAAa,UAAW,SAAQ,QAAQ;IACpC;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAqElC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;CAoB/E"}
|
|
@@ -8,6 +8,7 @@ import { BaseTest } from "../device/test.js";
|
|
|
8
8
|
import { Terminal } from "../docker/terminal.js";
|
|
9
9
|
import { parseStep } from "./chip-test-common.js";
|
|
10
10
|
import { Constants, ContainerPaths } from "./config.js";
|
|
11
|
+
import { PicsSource } from "./pics/source.js";
|
|
11
12
|
class PythonTest extends BaseTest {
|
|
12
13
|
/**
|
|
13
14
|
* Python commissioning logic is cleverly hidden in:
|
|
@@ -130,10 +131,10 @@ function spiffy(line) {
|
|
|
130
131
|
async function createCommand(descriptor, subject, extraArgs) {
|
|
131
132
|
const command = ["python3", descriptor.path, ...Constants.PythonRunnerArgs];
|
|
132
133
|
const args = scriptArgsOf(descriptor);
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
command.push(...args, ...extraArgs);
|
|
135
|
+
if (!command.includes("--PICS")) {
|
|
136
|
+
command.push("--PICS", await PicsSource.install(subject.pics));
|
|
135
137
|
}
|
|
136
|
-
command.push(...extraArgs);
|
|
137
138
|
const qrCodePos = command.indexOf("--qr-code");
|
|
138
139
|
if (qrCodePos !== -1) {
|
|
139
140
|
command[qrCodePos + 1] = subject.commissioning.qrPairingCode;
|
|
@@ -141,11 +142,17 @@ async function createCommand(descriptor, subject, extraArgs) {
|
|
|
141
142
|
return command;
|
|
142
143
|
}
|
|
143
144
|
function scriptArgsOf(descriptor) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
145
|
+
let args;
|
|
146
|
+
const predefined = descriptor.config?.["script-args"];
|
|
147
|
+
if (typeof predefined === "string") {
|
|
148
|
+
args = predefined.trim().split(/\s+/);
|
|
149
|
+
} else if (Array.isArray(predefined)) {
|
|
150
|
+
args = [...predefined];
|
|
147
151
|
}
|
|
148
|
-
|
|
152
|
+
if (descriptor.subpath) {
|
|
153
|
+
(args ?? (args = [])).push("--test-case", descriptor.subpath);
|
|
154
|
+
}
|
|
155
|
+
return args ?? [];
|
|
149
156
|
}
|
|
150
157
|
export {
|
|
151
158
|
PythonTest
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/chip/python-test.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO,YAAY;AAEnB,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAEzB,SAAS,iBAAiB;AAC1B,SAAS,WAAW,sBAAsB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/chip/state.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { Container } from "../docker/container.js";
|
|
|
10
10
|
import type { TestRunner } from "../runner.js";
|
|
11
11
|
import { TestDescriptor } from "../test-descriptor.js";
|
|
12
12
|
import type { chip } from "./chip.js";
|
|
13
|
-
import { PicsFile } from "./pics
|
|
13
|
+
import { PicsFile } from "./pics/file.js";
|
|
14
14
|
/**
|
|
15
15
|
* Internal state management for CHIP testing.
|
|
16
16
|
*/
|
|
@@ -20,7 +20,8 @@ export declare const State: {
|
|
|
20
20
|
mocha: Mocha;
|
|
21
21
|
subject: Subject.Factory;
|
|
22
22
|
pullBeforeTesting: boolean;
|
|
23
|
-
readonly
|
|
23
|
+
readonly defaultPics: PicsFile;
|
|
24
|
+
readonly defaultPicsFilename: string;
|
|
24
25
|
readonly tests: TestDescriptor.Filesystem;
|
|
25
26
|
readonly test: Test;
|
|
26
27
|
readonly isInitialized: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/chip/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/chip/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAMnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAsB,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAE/F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA+B1C;;GAEG;AACH,eAAO,MAAM,KAAK;;YAWK,UAAU;WAcZ,KAAK;aAcD,OAAO,CAAC,OAAO;uBAkBP,OAAO;;;;;;IAuCpC;;OAEG;;IA2BH;;OAEG;;IAeH;;OAEG;gBACS,MAAM,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;;IAWH;;OAEG;cACa,IAAI,QAAQ,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxG;;OAEG;yBACkB,kBAAkB;IAQvC;;OAEG;mBACkB,MAAM;IAa3B;;OAEG;wBACiB,MAAM,GAAG,cAAc,GAAG,IAAI;IAkBlD;;;;;OAKG;6BAEU,OAAO,CAAC,OAAO,qBACL,OAAO,QACpB,IAAI,gBACI,IAAI,CAAC,UAAU;IAoEjC;;;;;;;OAOG;;IAmBH;;OAEG;;CAYN,CAAC"}
|
package/dist/esm/chip/state.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ansi
|
|
6
|
+
import { ansi } from "#tools";
|
|
7
7
|
import { Docker } from "../docker/docker.js";
|
|
8
8
|
import { edit } from "../docker/edit.js";
|
|
9
9
|
import { Image } from "../docker/image.js";
|
|
@@ -13,7 +13,7 @@ import { TestDescriptor } from "../test-descriptor.js";
|
|
|
13
13
|
import { AccessoryServer } from "./accessory-server.js";
|
|
14
14
|
import { Constants, ContainerPaths } from "./config.js";
|
|
15
15
|
import { ContainerCommandPipe } from "./container-command-pipe.js";
|
|
16
|
-
import {
|
|
16
|
+
import { PicsSource } from "./pics/source.js";
|
|
17
17
|
import { PythonTest } from "./python-test.js";
|
|
18
18
|
import { YamlTest } from "./yaml-test.js";
|
|
19
19
|
const Values = {
|
|
@@ -24,18 +24,19 @@ const Values = {
|
|
|
24
24
|
test: void 0,
|
|
25
25
|
mainContainer: void 0,
|
|
26
26
|
mdnsContainer: void 0,
|
|
27
|
-
|
|
27
|
+
defaultPics: void 0,
|
|
28
|
+
defaultPicsFilename: void 0,
|
|
28
29
|
tests: void 0,
|
|
29
30
|
initializedSubjects: /* @__PURE__ */ new WeakSet(),
|
|
30
31
|
activeSubject: void 0,
|
|
31
32
|
singleUseSubject: false,
|
|
32
|
-
activePipes: /* @__PURE__ */ new Set(),
|
|
33
33
|
closers: Array(),
|
|
34
34
|
subjects: /* @__PURE__ */ new Map(),
|
|
35
35
|
snapshots: /* @__PURE__ */ new Map(),
|
|
36
36
|
containerLifecycleInstalled: false,
|
|
37
37
|
testMap: /* @__PURE__ */ new Map(),
|
|
38
|
-
pullBeforeTesting: true
|
|
38
|
+
pullBeforeTesting: true,
|
|
39
|
+
commandPipe: void 0
|
|
39
40
|
};
|
|
40
41
|
const State = {
|
|
41
42
|
get container() {
|
|
@@ -81,11 +82,17 @@ const State = {
|
|
|
81
82
|
set pullBeforeTesting(value) {
|
|
82
83
|
Values.pullBeforeTesting = value;
|
|
83
84
|
},
|
|
84
|
-
get
|
|
85
|
-
if (Values.
|
|
85
|
+
get defaultPics() {
|
|
86
|
+
if (Values.defaultPics === void 0) {
|
|
86
87
|
throw new Error("PICS not initialized");
|
|
87
88
|
}
|
|
88
|
-
return Values.
|
|
89
|
+
return Values.defaultPics;
|
|
90
|
+
},
|
|
91
|
+
get defaultPicsFilename() {
|
|
92
|
+
if (Values.defaultPicsFilename === void 0) {
|
|
93
|
+
throw new Error("PICS not initialized");
|
|
94
|
+
}
|
|
95
|
+
return Values.defaultPicsFilename;
|
|
89
96
|
},
|
|
90
97
|
get tests() {
|
|
91
98
|
if (Values.tests === void 0) {
|
|
@@ -112,7 +119,7 @@ const State = {
|
|
|
112
119
|
const { progress } = State.runner;
|
|
113
120
|
progress.update("Initializing containers");
|
|
114
121
|
try {
|
|
115
|
-
|
|
122
|
+
await initialize();
|
|
116
123
|
const image = await State.container.image;
|
|
117
124
|
const info = await image.inspect();
|
|
118
125
|
const chipCommit = formatSha(info.Config.Labels["org.opencontainers.image.revision"] ?? "(unknown)");
|
|
@@ -121,7 +128,6 @@ const State = {
|
|
|
121
128
|
progress.success(
|
|
122
129
|
`Initialized CHIP ${ansi.bold(chipCommit)} image ${ansi.bold(imageVersion)} for ${ansi.bold(arch)}`
|
|
123
130
|
);
|
|
124
|
-
return result;
|
|
125
131
|
} catch (e) {
|
|
126
132
|
progress.failure("Initializing containers");
|
|
127
133
|
throw e;
|
|
@@ -185,16 +191,15 @@ const State = {
|
|
|
185
191
|
* Open a back-channel command pipe.
|
|
186
192
|
*/
|
|
187
193
|
async openPipe(name) {
|
|
188
|
-
if (Values.
|
|
189
|
-
|
|
194
|
+
if (Values.commandPipe === void 0) {
|
|
195
|
+
Values.commandPipe = new ContainerCommandPipe(State.container, this);
|
|
196
|
+
await Values.commandPipe.initialize();
|
|
197
|
+
State.onClose(async () => {
|
|
198
|
+
await Values.commandPipe?.close();
|
|
199
|
+
Values.commandPipe = void 0;
|
|
200
|
+
});
|
|
190
201
|
}
|
|
191
|
-
|
|
192
|
-
await pipe.initialize();
|
|
193
|
-
Values.activePipes.add(name);
|
|
194
|
-
State.onClose(async () => {
|
|
195
|
-
await pipe.close();
|
|
196
|
-
Values.activePipes.delete(name);
|
|
197
|
-
});
|
|
202
|
+
await Values.commandPipe.installForApp(name);
|
|
198
203
|
},
|
|
199
204
|
/**
|
|
200
205
|
* Obtain a {@link Test}.
|
|
@@ -299,6 +304,7 @@ const State = {
|
|
|
299
304
|
};
|
|
300
305
|
async function initialize() {
|
|
301
306
|
await configureContainer();
|
|
307
|
+
await configureScripts();
|
|
302
308
|
await configurePics();
|
|
303
309
|
await configureTests();
|
|
304
310
|
await configureNetwork();
|
|
@@ -345,18 +351,25 @@ async function configureContainer() {
|
|
|
345
351
|
Values.mainContainer = void 0;
|
|
346
352
|
});
|
|
347
353
|
}
|
|
354
|
+
async function configureScripts() {
|
|
355
|
+
await State.container.edit(
|
|
356
|
+
edit.sed("s/sleep(0.001)/sleep(.02)/"),
|
|
357
|
+
// This is the one we actually use
|
|
358
|
+
"/usr/local/lib/python3.12/dist-packages/chip/testing/matter_testing.py",
|
|
359
|
+
// Patching here too just for completeness
|
|
360
|
+
"/src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py"
|
|
361
|
+
);
|
|
362
|
+
}
|
|
348
363
|
async function configurePics() {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
const testing = Package.tools.findPackage("@matter/testing");
|
|
352
|
-
const overrides = new PicsFile(testing.resolve(Constants.localPicsOverrideFile));
|
|
353
|
-
pics.patch(overrides);
|
|
354
|
-
Values.pics = pics;
|
|
355
|
-
await State.container.write(ContainerPaths.matterJsPics, pics.toString());
|
|
364
|
+
Values.defaultPics = await PicsSource.load(Constants.defaultPics);
|
|
365
|
+
Values.defaultPicsFilename = await PicsSource.install(Values.defaultPics);
|
|
356
366
|
}
|
|
357
367
|
async function configureTests() {
|
|
358
368
|
const { container } = State;
|
|
359
369
|
const descriptor = JSON.parse(await container.read(ContainerPaths.descriptorFile));
|
|
370
|
+
if (descriptor.format !== TestDescriptor.CURRENT_FORMAT) {
|
|
371
|
+
throw new Error(`Invalid descriptor format "${descriptor.format}" (expected ${TestDescriptor.CURRENT_FORMAT})`);
|
|
372
|
+
}
|
|
360
373
|
if (!Array.isArray(descriptor.members)) {
|
|
361
374
|
throw new Error(`CHIP test descriptor has no members`);
|
|
362
375
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/chip/state.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AAKrB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAS,cAAc;AACvB,SAAS,UAAU,iBAAiB;AAEpC,SAA6B,sBAA0C;AACvE,SAAS,uBAAuB;AAEhC,SAAS,WAAW,sBAAsB;AAC1C,SAAS,4BAA4B;AAErC,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAKzB,MAAM,SAAS;AAAA,EACX,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,eAAe;AAAA,EACf,eAAe;AAAA,EACf,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,qBAAqB,oBAAI,QAAiB;AAAA,EAC1C,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,SAAS,MAA2B;AAAA,EACpC,UAAU,oBAAI,IAA8C;AAAA,EAC5D,WAAW,oBAAI,IAAiB;AAAA,EAChC,6BAA6B;AAAA,EAC7B,SAAS,oBAAI,IAA0B;AAAA,EACvC,mBAAmB;AAAA,EACnB,aAAa;AACjB;AAKO,MAAM,QAAQ;AAAA,EACjB,IAAI,YAAY;AACZ,UAAM,YAAY,OAAO;AAEzB,QAAI,cAAc,QAAW;AACzB,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACzD;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAO,QAAoB;AAC3B,WAAO,SAAS;AAAA,EACpB;AAAA,EAEA,IAAI,SAAS;AACT,UAAM,SAAS,OAAO;AAEtB,QAAI,WAAW,QAAW;AACtB,YAAM,IAAI,MAAM,2BAA2B;AAAA,IAC/C;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,MAAM,OAAc;AACpB,WAAO,QAAQ;AAAA,EACnB;AAAA,EAEA,IAAI,QAAQ;AACR,UAAM,QAAQ,OAAO;AAErB,QAAI,UAAU,QAAW;AACrB,YAAM,IAAI,MAAM,8BAA8B;AAAA,IAClD;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,QAAQ,SAA0B;AAClC,WAAO,UAAU;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACV,UAAM,UAAU,OAAO;AAEvB,QAAI,YAAY,QAAW;AACvB,YAAM,IAAI,MAAM,+BAA+B;AAAA,IACnD;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,oBAAoB;AACpB,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,IAAI,kBAAkB,OAAgB;AAClC,WAAO,oBAAoB;AAAA,EAC/B;AAAA,EAEA,IAAI,cAAc;AACd,QAAI,OAAO,gBAAgB,QAAW;AAClC,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AAEA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,IAAI,sBAAsB;AACtB,QAAI,OAAO,wBAAwB,QAAW;AAC1C,YAAM,IAAI,MAAM,sBAAsB;AAAA,IAC1C;AAEA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,IAAI,QAAQ;AACR,QAAI,OAAO,UAAU,QAAW;AAC5B,YAAM,IAAI,MAAM,iCAAiC;AAAA,IACrD;AACA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,QAAI,OAAO,SAAS,QAAW;AAC3B,YAAM,IAAI,MAAM,gBAAgB;AAAA,IACpC;AAEA,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,OAAO;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,aAAa;AACf,QAAI,OAAO,eAAe;AACtB;AAAA,IACJ;AAEA,UAAM,EAAE,SAAS,IAAI,MAAM;AAE3B,aAAS,OAAO,yBAAyB;AACzC,QAAI;AACA,YAAM,WAAW;AAEjB,YAAM,QAAQ,MAAM,MAAM,UAAU;AACpC,YAAM,OAAO,MAAM,MAAM,QAAQ;AACjC,YAAM,aAAa,UAAU,KAAK,OAAO,OAAO,mCAAmC,KAAK,WAAW;AACnG,YAAM,eAAe,KAAK,OAAO,OAAO,kCAAkC,KAAK;AAC/E,YAAM,OAAO,KAAK;AAElB,eAAS;AAAA,QACL,oBAAoB,KAAK,KAAK,UAAU,CAAC,UAAU,KAAK,KAAK,YAAY,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC;AAAA,MACrG;AAAA,IACJ,SAAS,GAAG;AACR,eAAS,QAAQ,yBAAyB;AAC1C,YAAM;AAAA,IACV;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ;AAEV,UAAM,MAAM,kBAAkB;AAE9B,QAAI;AACJ,WAAQ,SAAS,OAAO,QAAQ,IAAI,GAAI;AACpC,UAAI;AACA,cAAM,OAAO;AAAA,MACjB,SAAS,GAAG;AACR,gBAAQ,MAAM,mBAAmB,CAAC;AAAA,MACtC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,IAAyB;AAC7B,WAAO,QAAQ,KAAK,EAAE;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,QAAI,OAAO,6BAA6B;AACpC;AAAA,IACJ;AAEA,WAAO,8BAA8B;AACrC,cAAU,MAAM,UAAU;AAC1B,aAAS,MAAM,KAAK;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,IAAI,MAAY,MAAgB,YAAoE;AACtG,UAAM,EAAE,SAAS,IAAI,MAAM;AAE3B,UAAM,UAAU,OAAO;AAEvB,QAAI;AACA,aAAO,OAAO;AACd,YAAM,WAAW,SAAS,IAAI;AAC9B,YAAM,KAAK,OAAO,SAAS,SAAS,UAAU,KAAK,QAAQ,GAAG,IAAI;AAAA,IACtE,UAAE;AACE,aAAO,OAAO;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,SAA6B;AACrC,QAAI,OAAO,kBAAkB,QAAW;AACpC,YAAM,IAAI,MAAM,eAAe,QAAQ,IAAI,8BAA8B;AAAA,IAC7E;AAEA,WAAO,OAAO,cAAc,YAAY,OAAO;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS,MAAc;AACzB,QAAI,OAAO,gBAAgB,QAAW;AAClC,aAAO,cAAc,IAAI,qBAAqB,MAAM,WAAW,IAAI;AACnE,YAAM,OAAO,YAAY,WAAW;AACpC,YAAM,QAAQ,YAAY;AACtB,cAAM,OAAO,aAAa,MAAM;AAChC,eAAO,cAAc;AAAA,MACzB,CAAC;AAAA,IACL;AAEA,UAAM,OAAO,YAAY,cAAc,IAAI;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,YAA2C;AAC/C,QAAI,OAAO,eAAe,UAAU;AAChC,YAAM,kBAAkB,KAAK,MAAM,KAAK,UAAU,GAAG;AACrD,UAAI,oBAAoB,QAAW;AAC/B,cAAM,IAAI,MAAM,gBAAgB,UAAU,EAAE;AAAA,MAChD;AACA,mBAAa;AAAA,IACjB;AAEA,QAAI,OAAO,OAAO,QAAQ,IAAI,UAAU;AACxC,QAAI,CAAC,MAAM;AACP,aAAO,WAAW,UAAU;AAC5B,aAAO,QAAQ,IAAI,YAAY,IAAI;AAAA,IACvC;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,gBACF,SACA,mBACA,MACA,aACF;AACE,QAAI;AACJ,QAAI,mBAAmB;AAEnB,gBAAU,YAAY,SAAS,KAAK,WAAW,IAAI;AAAA,IACvD,OAAO;AAEH,gBAAU,QAAQ,KAAK,WAAW,QAAQ,SAAS;AAAA,IACvD;AAEA,QAAI,OAAO,kBAAkB,SAAS;AAClC;AAAA,IACJ;AAEA,UAAM,EAAE,SAAS,IAAI,MAAM;AAE3B,UAAM,SAAS,QAAQ,sBAAsB,YAAY;AAIrD,YAAM,MAAM,UAAU,KAAK,CAAC,QAAQ,MAAM,kDAAkD,CAAC;AAE7F,UAAI,CAAC,mBAAmB;AAEpB,cAAM,QAAQ,WAAW;AACzB,cAAM,QAAQ,QAAQ,MAAM,KAAK,OAAO,CAAC;AAEzC,cAAM,cAAc,SAAS,IAAI;AACjC,cAAM,QAAQ,MAAM;AAAA,MACxB,WAAW,CAAC,OAAO,oBAAoB,IAAI,OAAO,GAAG;AAEjD,cAAM,QAAQ,WAAW;AACzB,cAAM,QAAQ,QAAQ,MAAM,KAAK,OAAO,CAAC;AAEzC,cAAM,cAAc,SAAS,IAAI;AACjC,cAAM,QAAQ,MAAM;AAEpB,cAAM,KAAK,kBAAkB,OAAO;AAEpC,cAAM,MAAM,cAAc,OAAO;AAGjC,eAAO,UAAU,IAAI,SAAS,MAAM,QAAQ,SAAS,CAAC;AACtD,cAAM,MAAM,UAAU,KAAK,CAAC,QAAQ,MAAM,YAAY,GAAG,oBAAoB,GAAG,EAAE,CAAC;AAEnF,eAAO,oBAAoB,IAAI,OAAO;AAAA,MAC1C,OAAO;AAEH,cAAM,WAAW,OAAO,UAAU,IAAI,OAAO;AAC7C,YAAI,aAAa,QAAW;AAExB,gBAAM,IAAI,MAAM,4BAA4B,QAAQ,EAAE,EAAE;AAAA,QAC5D;AAGA,cAAM,QAAQ,QAAQ,QAAQ;AAC9B,cAAM,MAAM,UAAU,KAAK,CAAC,QAAQ,MAAM,SAAS,cAAc,OAAO,CAAC,SAAS,CAAC;AAEnF,cAAM,cAAc,SAAS,IAAI;AACjC,cAAM,QAAQ,MAAM;AAAA,MACxB;AAAA,IACJ,CAAC;AAED,WAAO,gBAAgB;AACvB,WAAO,mBAAmB,CAAC;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,oBAAoB;AACtB,QAAI,OAAO,kBAAkB,QAAW;AACpC;AAAA,IACJ;AAEA,QAAI;AACA,UAAI,OAAO,kBAAkB;AACzB,cAAM,OAAO,cAAc,MAAM;AAAA,MACrC,OAAO;AACH,cAAM,OAAO,cAAc,KAAK;AAAA,MACpC;AAAA,IACJ,SAAS,GAAG;AACR,cAAQ,KAAK,mCAAmC,CAAC;AAAA,IACrD,UAAE;AACE,aAAO,gBAAgB;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAY;AACd,QAAI,CAAC,OAAO,eAAe;AACvB,YAAM,IAAI,MAAM,6DAA6D;AAAA,IACjF;AAGA,UAAM,KAAK,kBAAkB;AAG7B,UAAM,OAAO,cAAc,KAAK,iBAAiB;AAAA,EACrD;AACJ;AAKA,eAAe,aAAa;AACxB,QAAM,mBAAmB;AACzB,QAAM,iBAAiB;AACvB,QAAM,cAAc;AACpB,QAAM,eAAe;AACrB,QAAM,iBAAiB;AAEvB,SAAO,gBAAgB;AAC3B;AAKA,eAAe,qBAAqB;AAChC,QAAM,SAAS,IAAI,OAAO;AAE1B,MAAI,WAAW,UAAU;AAEzB,MAAI,OAAO,mBAAmB;AAC1B,UAAM,OAAO,KAAK,UAAU,WAAW,QAAQ;AAAA,EACnD,WAAW,UAAU,qBAAqB,QAAW;AAEjD,UAAM,QAAQ,MAAM,MAAM,QAAQ,UAAU,SAAS,EAAE,QAAQ,GAAG;AAClE,eAAW,SAAS,IAAI;AAAA,EAC5B;AAEA,QAAM,aAAa,OAAO,QAAQ,UAAU,cAAc;AAC1D,QAAM,WAAW,KAAK;AAEtB,QAAM,cAAc,OAAO,QAAQ,aAAa;AAAA,IAC5C,OAAO,UAAU;AAAA,IACjB;AAAA,IACA,OAAO,EAAE,CAAC,WAAW,IAAI,GAAG,YAAY;AAAA,IACxC,YAAY;AAAA;AAAA,IAGZ,SAAS;AAAA;AAAA,EACb,CAAC;AAED,QAAM,YAAY,IAAI;AAAA,IAClB,MAAM;AAAA,IACN,SAAS,CAAC,wBAAwB,eAAe,YAAY,UAAU;AAAA,EAC3E,CAAC;AAED,SAAO,gBAAgB,MAAM,YAAY,IAAI;AAAA,IACzC,MAAM;AAAA,IACN,SAAS,CAAC,eAAe;AAAA,EAC7B,CAAC;AAED,SAAO,gBAAgB,MAAM,YAAY,IAAI;AAAA,IACzC,MAAM;AAAA,IACN,UAAU;AAAA,EACd,CAAC;AAED,QAAM,QAAQ,YAAY;AACtB,QAAI;AACA,YAAM,YAAY,MAAM;AAAA,IAC5B,SAAS,GAAG;AACR,cAAQ,MAAM,iCAAiC,CAAC;AAAA,IACpD;AAEA,WAAO,gBAAgB;AAAA,EAC3B,CAAC;AACL;AAKA,eAAe,mBAAmB;AAI9B,QAAM,MAAM,UAAU;AAAA,IAClB,KAAK,IAAI,4BAA4B;AAAA;AAAA,IAGrC;AAAA;AAAA,IAGA;AAAA,EACJ;AACJ;AAKA,eAAe,gBAAgB;AAC3B,SAAO,cAAc,MAAM,WAAW,KAAK,UAAU,WAAW;AAChE,SAAO,sBAAsB,MAAM,WAAW,QAAQ,OAAO,WAAW;AAC5E;AAKA,eAAe,iBAAiB;AAC5B,QAAM,EAAE,UAAU,IAAI;AAGtB,QAAM,aAAa,KAAK,MAAM,MAAM,UAAU,KAAK,eAAe,cAAc,CAAC;AAGjF,MAAI,WAAW,WAAW,eAAe,gBAAgB;AACrD,UAAM,IAAI,MAAM,8BAA8B,WAAW,MAAM,eAAe,eAAe,cAAc,GAAG;AAAA,EAClH;AAGA,MAAI,CAAC,MAAM,QAAQ,WAAW,OAAO,GAAG;AACpC,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACzD;AAEA,SAAO,QAAQ,eAAe,WAAW,UAAU;AACvD;AAMA,eAAe,mBAAmB;AAC9B,QAAM,kBAAkB,MAAM,gBAAgB,OAAO,KAAK;AAE1D,QAAM,QAAQ,YAAY;AACtB,QAAI;AACA,YAAM,gBAAgB,MAAM;AAAA,IAChC,SAAS,GAAG;AACR,cAAQ,MAAM,mCAAmC,CAAC;AAAA,IACtD;AAAA,EACJ,CAAC;AAYD,QAAM,MAAM,UAAU;AAAA,IAClB,KAAK,IAAI,4BAA4B,0BAA0B,gBAAgB,IAAI,IAAI;AAAA,IACvF,eAAe;AAAA,EACnB;AACJ;AAKA,SAAS,YAAY,SAA0B,MAA8B;AACzE,MAAI,aAAa,OAAO,SAAS,IAAI,OAAO;AAC5C,MAAI,eAAe,QAAW;AAC1B,WAAO,SAAS,IAAI,SAAU,aAAa,CAAC,CAAE;AAAA,EAClD;AAEA,MAAI,UAAU,WAAW,IAAI;AAC7B,MAAI,YAAY,QAAW;AACvB,cAAU,WAAW,IAAI,IAAI,QAAQ,IAAI;AAAA,EAC7C;AAEA,SAAO;AACX;AAgBA,SAAS,cAAc,SAAkB;AACrC,SAAO,aAAa,QAAQ,EAAE;AAClC;AAKA,SAAS,WAAW,YAA4B;AAE5C,MAAI,WAAW,SAAS,QAAW;AAC/B,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAEA,MAAI,WAAW,SAAS,QAAW;AAC/B,UAAM,IAAI,MAAM,aAAa,WAAW,IAAI,cAAc;AAAA,EAC9D;AAEA,UAAQ,WAAW,MAAM;AAAA,IACrB,KAAK;AACD,aAAO,IAAI,SAAS,YAAkC,MAAM,SAAS;AAAA,IAEzE,KAAK;AACD,aAAO,IAAI,WAAW,YAAkC,MAAM,SAAS;AAAA,IAE3E;AACI,YAAM,IAAI,MAAM,8BAA8B,WAAW,IAAI,YAAY,WAAW,IAAI,EAAE;AAAA,EAClG;AACJ;AAEA,SAAS,UAAU,KAAa;AAC5B,MAAI,IAAI,WAAW,SAAS,GAAG;AAC3B,UAAM,IAAI,UAAU,CAAC;AAAA,EACzB;AACA,SAAO,KAAK,KAAK,IAAI,UAAU,GAAG,EAAE,CAAC;AACzC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -7,6 +7,6 @@ import { Subject } from "../device/subject.js";
|
|
|
7
7
|
import { BaseTest } from "../device/test.js";
|
|
8
8
|
export declare class YamlTest extends BaseTest {
|
|
9
9
|
initializeSubject(subject: Subject): Promise<void>;
|
|
10
|
-
invoke(
|
|
10
|
+
invoke(subject: Subject, step: (title: string) => void, args: string[]): Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=yaml-test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-test.d.ts","sourceRoot":"","sources":["../../../src/chip/yaml-test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"yaml-test.d.ts","sourceRoot":"","sources":["../../../src/chip/yaml-test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,qBAAa,QAAS,SAAQ,QAAQ;IAC5B,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAyClC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;CA2C/E"}
|
|
@@ -9,6 +9,7 @@ import { Terminal } from "../docker/terminal.js";
|
|
|
9
9
|
import { deansify } from "../util/text.js";
|
|
10
10
|
import { parseStep } from "./chip-test-common.js";
|
|
11
11
|
import { Constants, ContainerPaths } from "./config.js";
|
|
12
|
+
import { PicsSource } from "./pics/source.js";
|
|
12
13
|
class YamlTest extends BaseTest {
|
|
13
14
|
async initializeSubject(subject) {
|
|
14
15
|
const command = ["chip-tool", "pairing"];
|
|
@@ -42,7 +43,10 @@ class YamlTest extends BaseTest {
|
|
|
42
43
|
throw new Error("Error pairing test app", { cause: e });
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
async invoke(
|
|
46
|
+
async invoke(subject, step, args) {
|
|
47
|
+
if (!args.includes("--PICS")) {
|
|
48
|
+
args.push("--PICS", await PicsSource.install(subject.pics));
|
|
49
|
+
}
|
|
46
50
|
const terminal = await this.container.exec(
|
|
47
51
|
[
|
|
48
52
|
"python3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/chip/yaml-test.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AAEzB,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,WAAW,sBAAsB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AAEzB,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,WAAW,sBAAsB;AAC1C,SAAS,kBAAkB;AAEpB,MAAM,iBAAiB,SAAS;AAAA,EACnC,MAAM,kBAAkB,SAAkB;AACtC,UAAM,UAAU,CAAC,aAAa,SAAS;AAEvC,UAAM,EAAE,MAAM,UAAU,eAAe,QAAQ,IAAI,QAAQ;AAE3D,YAAQ,MAAM;AAAA,MACV,KAAK;AACD,gBAAQ,KAAK,kBAAkB,YAAY;AAC3C;AAAA,MAEJ,KAAK;AACD,YAAI,SAAS,SAAS,QAAQ;AAC1B,gBAAM,IAAI,MAAM,0DAA0D,QAAQ,EAAE,EAAE;AAAA,QAC1F;AACA,gBAAQ,KAAK,YAAY,cAAc,QAAQ,MAAM,QAAQ,QAAQ;AACrE;AAAA,MAEJ,KAAK;AACD,YAAI,SAAS,SAAS,UAAU;AAC5B,gBAAM,IAAI,MAAM,4DAA4D,QAAQ,EAAE,EAAE;AAAA,QAC5F;AACA,gBAAQ,KAAK,YAAY,cAAc,QAAQ,UAAU;AACzD;AAAA,MAEJ;AACI,cAAM,IAAI,MAAM,gCAAgC,QAAQ,cAAc,IAAI,gBAAgB,QAAQ,EAAE,EAAE;AAAA,IAC9G;AAEA,YAAQ,KAAK,GAAG,QAAQ,IAAI,GAAG,aAAa,EAAE;AAE9C,UAAM,WAAW,MAAM,KAAK,UAAU,KAAK,SAAS,SAAS,IAAI;AAEjE,QAAI;AACA,uBAAiB,QAAQ,UAAU;AAC/B,mBAAW,sBAAsB,QAAQ,IAAI;AAAA,MACjD;AAAA,IACJ,SAAS,GAAG;AACR,YAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,EAAE,CAAC;AAAA,IAC1D;AAAA,EACJ;AAAA,EAEA,MAAM,OAAO,SAAkB,MAA+B,MAAgB;AAC1E,QAAI,CAAC,KAAK,SAAS,QAAQ,GAAG;AAC1B,WAAK,KAAK,UAAU,MAAM,WAAW,QAAQ,QAAQ,IAAI,CAAC;AAAA,IAC9D;AAEA,UAAM,WAAW,MAAM,KAAK,UAAU;AAAA,MAClC;AAAA,QACI;AAAA,QACA,eAAe;AAAA,QACf;AAAA,QACA,SAAS,KAAK,WAAW,IAAI;AAAA,QAC7B,GAAG,UAAU;AAAA,QACb,GAAG;AAAA,MACP;AAAA,MACA,SAAS;AAAA,IACb;AAEA,QAAI,SAAS;AAEb,mBAAe,QAAQ,UAAU;AAC7B,aAAO,KAAK,WAAW,QAAQ,IAAI,EAAE,WAAW,KAAM,IAAI;AAE1D,aAAO,UAAU,MAAM,IAAI;AAE3B,UAAI,SAAS,IAAI,EAAE,MAAM,6BAA6B,GAAG;AACrD,iBAAS;AAAA,MACb;AAEA,UAAI,QAAQ;AACZ,eAAS,QAAQ,KAAK,MAAM,IAAI,GAAG;AAC/B,YAAI,OAAO;AACP,kBAAQ;AAAA,QACZ,OAAO;AACH,iBAAO,OAAO,IAAI;AAAA,QACtB;AACA,mBAAW,sBAAsB,QAAQ,IAAI;AAAA,MACjD;AAAA,IACJ;AAEA,QAAI,CAAC,QAAQ;AACT,YAAM,IAAI,MAAM,qEAAqE;AAAA,IACzF;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,yBAAyB,CAAC;AA0BjC,wBAAsB,IAAI,CAAC,IAAI,WAAe,iBA+K7C"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import "./util/node-shims.js";
|
|
7
7
|
import "./global-definitions.js";
|
|
8
|
-
import { Graph, Package, Project, ProjectBuilder } from "#tools";
|
|
8
|
+
import { Graph, JsonNotFoundError, Package, Project, ProjectBuilder } from "#tools";
|
|
9
9
|
import { clear } from "node:console";
|
|
10
10
|
import yargs from "yargs";
|
|
11
11
|
import { hideBin } from "yargs/helpers";
|
|
@@ -39,7 +39,7 @@ async function main(argv = process.argv) {
|
|
|
39
39
|
string: true,
|
|
40
40
|
describe: "One or more paths of tests to run",
|
|
41
41
|
default: "./test/**/*{.test,Test}.ts"
|
|
42
|
-
}).option("all-logs", { type: "boolean", describe: "Emit log messages in real time" }).option("debug", { type: "boolean", describe: "Enable Mocha debugging" }).option("environment", { alias: "e", type: "string", describe: "Select named test environment" }).option("fgrep", { alias: "f", type: "string", describe: "Only run tests matching this string" }).option("force-exit", { type: "boolean", describe: "Force Node to exit after tests complete" }).option("grep", { alias: "g", type: "string", describe: "Only run tests matching this regexp" }).option("invert", { alias: "i", type: "boolean", describe: "Inverts --grep and --fgrep matches" }).option("profile", { type: "boolean", describe: "Write profiling data to build/profiles (node only)" }).option("wtf", { type: "boolean", describe: "Enlist wtfnode to detect test leaks" }).option("trace-unhandled", { type: "boolean", describe: "Detail unhandled rejections with trace-unhandled" }).option("clear", { type: "boolean", describe: "Clear terminal before testing" }).option("report", { type: "boolean", describe: "Display test summary after testing" }).option("pull", { type: "boolean", describe: "
|
|
42
|
+
}).option("all-logs", { type: "boolean", describe: "Emit log messages in real time" }).option("debug", { type: "boolean", describe: "Enable Mocha debugging" }).option("environment", { alias: "e", type: "string", describe: "Select named test environment" }).option("fgrep", { alias: "f", type: "string", describe: "Only run tests matching this string" }).option("force-exit", { type: "boolean", describe: "Force Node to exit after tests complete" }).option("grep", { alias: "g", type: "string", describe: "Only run tests matching this regexp" }).option("invert", { alias: "i", type: "boolean", describe: "Inverts --grep and --fgrep matches" }).option("profile", { type: "boolean", describe: "Write profiling data to build/profiles (node only)" }).option("wtf", { type: "boolean", describe: "Enlist wtfnode to detect test leaks" }).option("trace-unhandled", { type: "boolean", describe: "Detail unhandled rejections with trace-unhandled" }).option("clear", { type: "boolean", describe: "Clear terminal before testing" }).option("report", { type: "boolean", describe: "Display test summary after testing" }).option("pull", { type: "boolean", describe: "Update containers before testing", default: true }).command("*", "run all supported test types").command("esm", "run tests on node (ES6 modules)", () => testTypes.add("esm" /* esm */)).command("cjs", "run tests on node (CommonJS modules)", () => testTypes.add("cjs" /* cjs */)).command("web", "run tests in web browser", () => testTypes.add("web" /* web */)).command("report", "display details about tests", () => ls = true).command("manual", "start web test server and print URL for manual testing", () => {
|
|
43
43
|
testTypes.add("web" /* web */);
|
|
44
44
|
manual = true;
|
|
45
45
|
}).strict().argv;
|
|
@@ -48,9 +48,23 @@ async function main(argv = process.argv) {
|
|
|
48
48
|
const firstSpec = Array.isArray(args.spec) ? args.spec[0] : args.spec;
|
|
49
49
|
packageLocation = firstSpec;
|
|
50
50
|
}
|
|
51
|
-
chip.pullBeforeTesting = args.pull;
|
|
52
51
|
const builder = new ProjectBuilder();
|
|
53
52
|
const pkg = new Package({ path: packageLocation });
|
|
53
|
+
try {
|
|
54
|
+
const found = pkg.findJson(".matter-test.json");
|
|
55
|
+
const config = found.json;
|
|
56
|
+
if ("allLogs" in config && !process.argv.includes("--no-all-logs")) {
|
|
57
|
+
args.allLogs = !!config.allLogs;
|
|
58
|
+
}
|
|
59
|
+
if ("pull" in config && !process.argv.includes("--no-pull")) {
|
|
60
|
+
args.pull = !!config.pull;
|
|
61
|
+
}
|
|
62
|
+
} catch (e) {
|
|
63
|
+
if (!(e instanceof JsonNotFoundError)) {
|
|
64
|
+
throw e;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
chip.pullBeforeTesting = args.pull;
|
|
54
68
|
if (pkg.isWorkspace) {
|
|
55
69
|
const graph = await Graph.load(pkg);
|
|
56
70
|
await graph.build(builder, false);
|
|
@@ -84,8 +98,9 @@ async function main(argv = process.argv) {
|
|
|
84
98
|
if (ls) {
|
|
85
99
|
const progress2 = pkg2.start("Inspecting");
|
|
86
100
|
const runner2 = new TestRunner(pkg2, progress2, args);
|
|
101
|
+
const report2 = await defaultDescriptor(runner2);
|
|
87
102
|
progress2.close();
|
|
88
|
-
printReport(
|
|
103
|
+
printReport(report2, true);
|
|
89
104
|
console.log();
|
|
90
105
|
return;
|
|
91
106
|
}
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,OAAO;AAEP,OAAO;AAEP,SAAS,OAAO,SAAS,SAAS,sBAAsB;
|
|
5
|
-
"names": ["TestType", "pkg", "progress", "runner"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["TestType", "pkg", "progress", "runner", "report"]
|
|
6
6
|
}
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { PicsFile } from "../chip/pics/file.js";
|
|
6
7
|
import { BackchannelCommand } from "./backchannel.js";
|
|
7
8
|
/**
|
|
8
9
|
* The test subject.
|
|
9
10
|
*/
|
|
10
11
|
export interface Subject {
|
|
11
12
|
id: string;
|
|
13
|
+
app: string;
|
|
12
14
|
commissioning: Subject.CommissioningParameters;
|
|
15
|
+
pics: PicsFile;
|
|
13
16
|
initialize(): Promise<void>;
|
|
14
17
|
start(): Promise<void>;
|
|
15
18
|
stop(): Promise<void>;
|
|
@@ -27,6 +30,7 @@ export declare namespace Subject {
|
|
|
27
30
|
*/
|
|
28
31
|
interface Factory {
|
|
29
32
|
(domain: string): Subject;
|
|
33
|
+
pics?: PicsFile;
|
|
30
34
|
}
|
|
31
35
|
type CommissioningMethod = "onnetwork";
|
|
32
36
|
interface WifiNetwork {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../../src/device/subject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAC/C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IACxB,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,yBAAiB,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAiB,OAAO;QACpB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../../src/device/subject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAC/C,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IACxB,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,yBAAiB,OAAO,CAAC;IACrB;;;;;OAKG;IACH,UAAiB,OAAO;QACpB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,EAAE,QAAQ,CAAC;KACnB;IAED,KAAY,mBAAmB,GAAG,WAAW,CAAC;IAE9C,UAAiB,WAAW;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,UAAiB,aAAa;QAC1B,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB;IAED;;OAEG;IACH,UAAiB,uBAAuB;QACpC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,YAAY,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;KACzC;CACJ"}
|