@matter/testing 0.13.1-alpha.0-20250502-43a54f780 → 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
package/dist/esm/chip/chip.js
CHANGED
|
@@ -26,12 +26,11 @@ function createBuilder(initial) {
|
|
|
26
26
|
includePaths.add(path);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
const
|
|
29
|
+
const tests = TestDescriptor.filter(chip.tests.descriptor, {
|
|
30
30
|
includePaths: [...includePaths],
|
|
31
31
|
kinds: ["py", "yaml"],
|
|
32
|
-
pics: chip.
|
|
32
|
+
pics: subject?.pics ?? chip.defaultPics
|
|
33
33
|
});
|
|
34
|
-
const tests = TestDescriptor.filter(chip.tests.descriptor, predicate);
|
|
35
34
|
if (!tests?.members) {
|
|
36
35
|
return this;
|
|
37
36
|
}
|
|
@@ -41,10 +40,7 @@ function createBuilder(initial) {
|
|
|
41
40
|
return this;
|
|
42
41
|
},
|
|
43
42
|
exclude(...glob) {
|
|
44
|
-
const tests = TestDescriptor.filter(
|
|
45
|
-
chip.tests.descriptor,
|
|
46
|
-
TestDescriptor.predicateFor({ includePaths: globSync(glob, chip.tests) })
|
|
47
|
-
);
|
|
43
|
+
const tests = TestDescriptor.filter(chip.tests.descriptor, { includePaths: globSync(glob, chip.tests) });
|
|
48
44
|
if (!tests) {
|
|
49
45
|
return this;
|
|
50
46
|
}
|
|
@@ -100,14 +96,14 @@ function createBuilder(initial) {
|
|
|
100
96
|
function defineTests(descriptor) {
|
|
101
97
|
switch (descriptor.kind) {
|
|
102
98
|
case "suite":
|
|
103
|
-
|
|
99
|
+
defineSuite(descriptor);
|
|
104
100
|
break;
|
|
105
101
|
default:
|
|
106
|
-
|
|
102
|
+
defineTest(descriptor);
|
|
107
103
|
break;
|
|
108
104
|
}
|
|
109
105
|
}
|
|
110
|
-
function
|
|
106
|
+
function defineSuite(descriptor) {
|
|
111
107
|
const mocha = State.mocha;
|
|
112
108
|
const { name, members } = descriptor;
|
|
113
109
|
if (!members?.length) {
|
|
@@ -139,7 +135,7 @@ function createBuilder(initial) {
|
|
|
139
135
|
}
|
|
140
136
|
});
|
|
141
137
|
}
|
|
142
|
-
function
|
|
138
|
+
function defineTest(descriptor) {
|
|
143
139
|
State.install();
|
|
144
140
|
const test = chip.testFor(descriptor);
|
|
145
141
|
const mochaTest = it(descriptor.name, function() {
|
|
@@ -160,8 +156,14 @@ function createBuilder(initial) {
|
|
|
160
156
|
afterOne(mochaTest, State.deactivateSubject);
|
|
161
157
|
}
|
|
162
158
|
}
|
|
163
|
-
function chipFn(...include) {
|
|
164
|
-
|
|
159
|
+
function chipFn(subjectOrFirstInclusion, ...include) {
|
|
160
|
+
if (typeof subjectOrFirstInclusion === "function") {
|
|
161
|
+
return chip.subject(subjectOrFirstInclusion).include(...include);
|
|
162
|
+
}
|
|
163
|
+
if (typeof subjectOrFirstInclusion === "string") {
|
|
164
|
+
include = [subjectOrFirstInclusion, ...include];
|
|
165
|
+
}
|
|
166
|
+
return createBuilder({ include: [...include] });
|
|
165
167
|
}
|
|
166
168
|
Object.defineProperties(chipFn, {
|
|
167
169
|
runner: {
|
|
@@ -191,8 +193,11 @@ Object.defineProperties(chipFn, {
|
|
|
191
193
|
isInitialized: {
|
|
192
194
|
get: () => State.isInitialized
|
|
193
195
|
},
|
|
194
|
-
|
|
195
|
-
get: () => State.
|
|
196
|
+
defaultPics: {
|
|
197
|
+
get: () => State.defaultPics
|
|
198
|
+
},
|
|
199
|
+
defaultPicsFilename: {
|
|
200
|
+
get: () => State.defaultPicsFilename
|
|
196
201
|
},
|
|
197
202
|
pullBeforeTesting: {
|
|
198
203
|
get() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/chip/chip.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AAKzB,SAAS,UAAU,iBAAiB;AAEpC,SAAS,sBAAsB;AAE/B,SAAS,aAAa;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["subject", "test"]
|
|
6
6
|
}
|
|
@@ -11,7 +11,8 @@ import { BackchannelCommand } from "../device/backchannel.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare abstract class CommandPipe {
|
|
13
13
|
#private;
|
|
14
|
-
constructor(subject: BackchannelCommand.Subject,
|
|
14
|
+
constructor(subject: BackchannelCommand.Subject, filename: string);
|
|
15
|
+
static filenameFor(app: string): string;
|
|
15
16
|
get filename(): string;
|
|
16
17
|
abstract initialize(): Promise<void>;
|
|
17
18
|
abstract close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,8BAAsB,WAAW;;gBAIjB,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,8BAAsB,WAAW;;gBAIjB,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM;IAKjE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM;IAI9B,IAAI,QAAQ,WAEX;IAED,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;CA6C7C"}
|
|
@@ -7,9 +7,12 @@ const utf8 = new TextDecoder();
|
|
|
7
7
|
class CommandPipe {
|
|
8
8
|
#filename;
|
|
9
9
|
#subject;
|
|
10
|
-
constructor(subject,
|
|
10
|
+
constructor(subject, filename) {
|
|
11
11
|
this.#subject = subject;
|
|
12
|
-
this.#filename =
|
|
12
|
+
this.#filename = filename;
|
|
13
|
+
}
|
|
14
|
+
static filenameFor(app) {
|
|
15
|
+
return `/tmp/chip_${app}_fifo_${process.pid}`;
|
|
13
16
|
}
|
|
14
17
|
get filename() {
|
|
15
18
|
return this.#filename;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/chip/command-pipe.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,OAAO,IAAI,YAAY;AAOtB,MAAe,YAAY;AAAA,EAC9B;AAAA,EACA;AAAA,EAEA,YAAY,SAAqC,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,OAAO,IAAI,YAAY;AAOtB,MAAe,YAAY;AAAA,EAC9B;AAAA,EACA;AAAA,EAEA,YAAY,SAAqC,UAAkB;AAC/D,SAAK,WAAW;AAChB,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,OAAO,YAAY,KAAa;AAC5B,WAAO,aAAa,GAAG,SAAS,QAAQ,GAAG;AAAA,EAC/C;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAKU,OAAO,MAA2B;AACxC,QAAI,OAAO,SAAS,UAAU;AAC1B,aAAO,KAAK,OAAO,IAAI;AAAA,IAC3B;AAEA,QAAI;AACJ,QAAI;AACA,aAAO,KAAK,MAAM,IAAI;AAAA,IAC1B,SAAS,OAAO;AACZ,cAAQ,MAAM,+BAA+B,KAAK;AAClD;AAAA,IACJ;AAEA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC3C,cAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,KAAK,SAAS,UAAU;AAC/B,cAAQ,MAAM,sCAAsC,IAAI;AACxD;AAAA,IACJ;AAEA,SAAK,OAAO,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC;AAEnE,WAAO,OAAO;AAAA,MACV,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AACjC,YAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,EAAE,MAAM,CAAC;AAC3C,eAAO,CAAC,GAAG,CAAC;AAAA,MAChB,CAAC;AAAA,IACL;AAEA,QAAI;AACA,YAAM,SAAS,KAAK,SAAS,YAAY,IAA0B;AACnE,UAAI,QAAQ;AACR,eAAO,MAAM,aAAa;AAAA,MAC9B;AAAA,IACJ,SAAS,OAAO;AACZ,oBAAc,KAAK;AAAA,IACvB;AAEA,aAAS,cAAc,OAAgB;AACnC,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { PicsSource } from "./pics/source.js";
|
|
6
7
|
/**
|
|
7
8
|
* Significant locations within the test container.
|
|
8
9
|
*
|
|
@@ -14,7 +15,6 @@ export declare namespace ContainerPaths {
|
|
|
14
15
|
const descriptorFile = "/lib/test-descriptor.json";
|
|
15
16
|
const pythonCommissioner = "/src/python_testing/hello_test.py";
|
|
16
17
|
const chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
17
|
-
const matterJsPics = "/matter-js-pics.properties";
|
|
18
18
|
const accessoryClient = "/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
19
19
|
}
|
|
20
20
|
export type ContainerPathsType = typeof ContainerPaths;
|
|
@@ -45,7 +45,6 @@ export declare namespace Constants {
|
|
|
45
45
|
const mdnsVolumeName: string;
|
|
46
46
|
const initTimeout = 60000;
|
|
47
47
|
const defaultTimeoutMs = 60000;
|
|
48
|
-
const localPicsOverrideFile = "src/chip/matter-js-pics.properties";
|
|
49
48
|
/**
|
|
50
49
|
* Default arguments provided to the YAML runner.
|
|
51
50
|
*/
|
|
@@ -54,5 +53,6 @@ export declare namespace Constants {
|
|
|
54
53
|
* Default arguments provided to the Python runner.
|
|
55
54
|
*/
|
|
56
55
|
const PythonRunnerArgs: string[];
|
|
56
|
+
const defaultPics: PicsSource;
|
|
57
57
|
}
|
|
58
58
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
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,sGAC2E,CAAC;CAC3G;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"}
|
package/dist/esm/chip/config.js
CHANGED
|
@@ -10,7 +10,6 @@ var ContainerPaths;
|
|
|
10
10
|
ContainerPaths2.descriptorFile = `/lib/test-descriptor.json`;
|
|
11
11
|
ContainerPaths2.pythonCommissioner = `/src/python_testing/hello_test.py`;
|
|
12
12
|
ContainerPaths2.chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
13
|
-
ContainerPaths2.matterJsPics = "/matter-js-pics.properties";
|
|
14
13
|
ContainerPaths2.accessoryClient = "/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
15
14
|
})(ContainerPaths || (ContainerPaths = {}));
|
|
16
15
|
var Constants;
|
|
@@ -22,12 +21,9 @@ var Constants;
|
|
|
22
21
|
Constants2.mdnsVolumeName = env.MATTER_MDNS_VOLUME || "matter.js-mdns";
|
|
23
22
|
Constants2.initTimeout = 6e4;
|
|
24
23
|
Constants2.defaultTimeoutMs = 6e4;
|
|
25
|
-
Constants2.localPicsOverrideFile = "src/chip/matter-js-pics.properties";
|
|
26
24
|
const subjectCommissioningTimeoutS = 3;
|
|
27
25
|
const delayAfterOpeningCommissioningWindowMs = 500;
|
|
28
26
|
Constants2.YamlRunnerArgs = [
|
|
29
|
-
"--PICS",
|
|
30
|
-
ContainerPaths.matterJsPics,
|
|
31
27
|
// This makes CHIP logs unconditional which would be nice if it intermingled with our logs but currently they
|
|
32
28
|
// only appear once test is run; haven't tracked down how to stream them yet
|
|
33
29
|
// "--show_adapter_logs",
|
|
@@ -38,13 +34,18 @@ var Constants;
|
|
|
38
34
|
`${delayAfterOpeningCommissioningWindowMs}`
|
|
39
35
|
];
|
|
40
36
|
Constants2.PythonRunnerArgs = [
|
|
41
|
-
"--PICS",
|
|
42
|
-
ContainerPaths.matterJsPics,
|
|
43
37
|
// Our PID is meaningless within the container but Python uses in the name of the command pipe. We pass in our
|
|
44
38
|
// actual PID to ensure no collision if multiple instances run
|
|
45
39
|
"--app-pid",
|
|
46
40
|
process.pid.toString()
|
|
47
41
|
];
|
|
42
|
+
Constants2.defaultPics = {
|
|
43
|
+
kind: "composite",
|
|
44
|
+
sources: [
|
|
45
|
+
{ kind: "chip", name: ContainerPaths.chipPics },
|
|
46
|
+
{ kind: "file", name: "src/chip/matter-js-pics.properties" }
|
|
47
|
+
]
|
|
48
|
+
};
|
|
48
49
|
})(Constants || (Constants = {}));
|
|
49
50
|
export {
|
|
50
51
|
Constants,
|
|
@@ -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;
|
|
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;",
|
|
5
5
|
"names": ["ContainerPaths", "Constants"]
|
|
6
6
|
}
|
|
@@ -11,8 +11,9 @@ import { CommandPipe } from "./command-pipe.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export declare class ContainerCommandPipe extends CommandPipe {
|
|
13
13
|
#private;
|
|
14
|
-
constructor(container: Container, subject: BackchannelCommand.Subject
|
|
14
|
+
constructor(container: Container, subject: BackchannelCommand.Subject);
|
|
15
15
|
initialize(): Promise<void>;
|
|
16
|
+
installForApp(name: string): Promise<void>;
|
|
16
17
|
close(): Promise<void>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=container-command-pipe.d.ts.map
|
|
@@ -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,
|
|
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"}
|
|
@@ -3,21 +3,24 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Terminal } from "../docker/terminal.js";
|
|
6
7
|
import { CommandPipe } from "./command-pipe.js";
|
|
7
8
|
const FIFO_PATH = "/command-pipe.fifo";
|
|
8
9
|
class ContainerCommandPipe extends CommandPipe {
|
|
9
10
|
#container;
|
|
10
11
|
#deactivate;
|
|
11
12
|
#stopped;
|
|
12
|
-
constructor(container, subject
|
|
13
|
-
super(subject,
|
|
13
|
+
constructor(container, subject) {
|
|
14
|
+
super(subject, "/command-pipe.fifo");
|
|
14
15
|
this.#container = container;
|
|
15
16
|
}
|
|
16
17
|
async initialize() {
|
|
17
18
|
await this.#container.createPipe(FIFO_PATH);
|
|
18
|
-
await this.#container.exec(["ln", "-sf", "/command-pipe.fifo", this.filename]);
|
|
19
19
|
this.#stopped = this.#processCommands();
|
|
20
20
|
}
|
|
21
|
+
async installForApp(name) {
|
|
22
|
+
await this.#container.exec(["ln", "-sf", this.filename, ContainerCommandPipe.filenameFor(name)]);
|
|
23
|
+
}
|
|
21
24
|
async close() {
|
|
22
25
|
this.#deactivate?.();
|
|
23
26
|
this.#deactivate = void 0;
|
|
@@ -25,34 +28,33 @@ class ContainerCommandPipe extends CommandPipe {
|
|
|
25
28
|
this.#stopped = void 0;
|
|
26
29
|
}
|
|
27
30
|
async #processCommands() {
|
|
28
|
-
let
|
|
31
|
+
let commands;
|
|
29
32
|
try {
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
commands = await this.#container.exec(
|
|
34
|
+
["bash", "-c", `while true; do cat ${FIFO_PATH}; done`],
|
|
35
|
+
Terminal.StdoutLine
|
|
36
|
+
);
|
|
37
|
+
const deactivated = new Promise((resolve) => {
|
|
38
|
+
this.#deactivate = resolve;
|
|
39
|
+
});
|
|
40
|
+
const iterator = commands[Symbol.asyncIterator]();
|
|
32
41
|
while (true) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const line = await Promise.race([deactivated, iteration]);
|
|
40
|
-
if (line === void 0) {
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
this.onData(line);
|
|
44
|
-
} finally {
|
|
45
|
-
if (this.#deactivate === deactivator) {
|
|
46
|
-
this.#deactivate = void 0;
|
|
47
|
-
}
|
|
42
|
+
const command = await Promise.race([
|
|
43
|
+
deactivated,
|
|
44
|
+
iterator.next().then((result) => result.value)
|
|
45
|
+
]);
|
|
46
|
+
if (command === void 0) {
|
|
47
|
+
break;
|
|
48
48
|
}
|
|
49
|
+
this.onData(command);
|
|
49
50
|
}
|
|
51
|
+
await deactivated;
|
|
50
52
|
} finally {
|
|
51
|
-
if (
|
|
53
|
+
if (commands) {
|
|
52
54
|
try {
|
|
53
|
-
await
|
|
55
|
+
await commands.close();
|
|
54
56
|
} catch (e) {
|
|
55
|
-
console.warn(`Error closing
|
|
57
|
+
console.warn(`Error closing command proxy for ${this.filename}:`, e);
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
try {
|
|
@@ -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;
|
|
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;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/chip/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chip/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chip/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
package/dist/esm/chip/index.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 { PicsFile } from "./
|
|
6
|
+
import { PicsFile } from "./file.js";
|
|
7
7
|
/**
|
|
8
8
|
* A set of PICS specifiers, each of which must be true for the set to apply.
|
|
9
9
|
*/
|
|
@@ -26,4 +26,4 @@ type Token = {
|
|
|
26
26
|
kind: SymbolName;
|
|
27
27
|
} | Name;
|
|
28
28
|
export {};
|
|
29
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/expression.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,qBAAa,cAAc;;gBAIX,UAAU,EAAE,MAAM;IAK9B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAIvB,QAAQ;CAGX;AAED,UAAU,IAAI;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAeD,qBAAa,0BAA2B,SAAQ,KAAK;gBACrC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAShD;AAiED,QAAA,MAAM,OAAO,oCAAqC,CAAC;AACnD,KAAK,UAAU,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAAC"}
|
|
@@ -72,7 +72,7 @@ function parse(definition) {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
const result = parseExpr();
|
|
75
|
-
if (tokenizer2.peek() !== void 0) {
|
|
75
|
+
if (tokenizer2.peek() !== void 0 && tokenizer2.peek()?.kind !== "(") {
|
|
76
76
|
throw new InvalidPicsExpressionError(definition, tokenizer2.peek());
|
|
77
77
|
}
|
|
78
78
|
return result;
|
|
@@ -132,7 +132,7 @@ function test(ast, file) {
|
|
|
132
132
|
case "!":
|
|
133
133
|
return !test(ast.operand, file);
|
|
134
134
|
case "name":
|
|
135
|
-
return file.values[ast.name] ===
|
|
135
|
+
return file.values[ast.name] === 1;
|
|
136
136
|
case "&":
|
|
137
137
|
return test(ast.lhs, file) && test(ast.rhs, file);
|
|
138
138
|
case "|":
|
|
@@ -145,4 +145,4 @@ export {
|
|
|
145
145
|
InvalidPicsExpressionError,
|
|
146
146
|
PicsExpression
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=
|
|
148
|
+
//# sourceMappingURL=expression.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/chip/pics/expression.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["tokenizer", "result"]
|
|
6
|
+
}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { PicsValues } from "./values.js";
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* In-memory Matter PICS file.
|
|
8
9
|
*
|
|
9
10
|
* Supports extended syntax for defining ranges of values of the form "NAMExx..yy=*" where xx and yy are hexadecimal
|
|
10
11
|
* numbers specifying the start and end of a range (inclusive). These are expanded in {@link patch} which modifies the
|
|
@@ -15,11 +16,15 @@
|
|
|
15
16
|
*/
|
|
16
17
|
export declare class PicsFile {
|
|
17
18
|
#private;
|
|
18
|
-
constructor(
|
|
19
|
+
constructor(lines?: string | string[]);
|
|
19
20
|
get lines(): string[];
|
|
20
|
-
get values():
|
|
21
|
+
get values(): PicsValues;
|
|
21
22
|
toString(): string;
|
|
22
23
|
patch(other: PicsFile): void;
|
|
23
|
-
save(path: string): void;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
export declare namespace PicsFile {
|
|
26
|
+
interface Values {
|
|
27
|
+
[key: string]: 0 | 1;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;GASG;AACH,qBAAa,QAAQ;;gBAIL,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQrC,IAAI,KAAK,aAER;IAED,IAAI,MAAM,eAST;IAED,QAAQ;IAIR,KAAK,CAAC,KAAK,EAAE,QAAQ;CA6BxB;AAED,yBAAiB,QAAQ,CAAC;IACtB,UAAiB,MAAM;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;KACxB;CACJ"}
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { readFileSync, writeFileSync } from "node:fs";
|
|
7
6
|
class PicsFile {
|
|
8
7
|
#lines;
|
|
9
8
|
#values;
|
|
10
|
-
constructor(
|
|
11
|
-
if (
|
|
12
|
-
|
|
9
|
+
constructor(lines) {
|
|
10
|
+
if (typeof lines === "string") {
|
|
11
|
+
this.#lines = lines.split("\n").map((l) => l.trim());
|
|
12
|
+
} else {
|
|
13
|
+
this.#lines = lines ?? [];
|
|
13
14
|
}
|
|
14
|
-
this.#lines = pathOrBody.split("\n").map((l) => l.trim());
|
|
15
15
|
}
|
|
16
16
|
get lines() {
|
|
17
17
|
return this.#lines;
|
|
@@ -54,9 +54,6 @@ class PicsFile {
|
|
|
54
54
|
this.#values = void 0;
|
|
55
55
|
this.#lines = newLines;
|
|
56
56
|
}
|
|
57
|
-
save(path) {
|
|
58
|
-
writeFileSync(path, this.toString());
|
|
59
|
-
}
|
|
60
57
|
}
|
|
61
58
|
function parseLine(line, values) {
|
|
62
59
|
line = line.trim();
|
|
@@ -67,7 +64,18 @@ function parseLine(line, values) {
|
|
|
67
64
|
if (!valueMatch) {
|
|
68
65
|
return false;
|
|
69
66
|
}
|
|
70
|
-
const [, key,
|
|
67
|
+
const [, key, valueStr] = valueMatch;
|
|
68
|
+
let value;
|
|
69
|
+
switch (valueStr) {
|
|
70
|
+
case "0":
|
|
71
|
+
value = 0;
|
|
72
|
+
break;
|
|
73
|
+
case "1":
|
|
74
|
+
value = 1;
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
71
79
|
const rangeMatch = key.match(/^(\S+)\.\.([\da-f]+)$/i);
|
|
72
80
|
if (!rangeMatch) {
|
|
73
81
|
values[key] = value;
|
|
@@ -95,4 +103,4 @@ function parseLine(line, values) {
|
|
|
95
103
|
export {
|
|
96
104
|
PicsFile
|
|
97
105
|
};
|
|
98
|
-
//# sourceMappingURL=
|
|
106
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/chip/pics/file.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./expression.js";
|
|
7
|
+
export * from "./file.js";
|
|
8
|
+
export * from "./source.js";
|
|
9
|
+
export * from "./values.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./expression.js";
|
|
7
|
+
export * from "./file.js";
|
|
8
|
+
export * from "./source.js";
|
|
9
|
+
export * from "./values.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { PicsFile } from "./file.js";
|
|
7
|
+
/**
|
|
8
|
+
* Source of PICS values.
|
|
9
|
+
*/
|
|
10
|
+
export type PicsSource = PicsSource.Composite | PicsSource.ChipFile | PicsSource.LocalFile | PicsSource.Lines | PicsSource.Values;
|
|
11
|
+
export declare namespace PicsSource {
|
|
12
|
+
/**
|
|
13
|
+
* Load a {@link PicsFile} defined by a {@link PicsSource}.
|
|
14
|
+
*
|
|
15
|
+
* Caches results so a source always returns the same {@link PicsFile} instance.
|
|
16
|
+
*/
|
|
17
|
+
function load(source: PicsSource): Promise<PicsFile>;
|
|
18
|
+
/**
|
|
19
|
+
* Save a {@link PicsFile} to the a {@link ChipFile} or {@link LocalFile}.
|
|
20
|
+
*/
|
|
21
|
+
function save(target: ChipFile | LocalFile, file: PicsFile): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Install a {@link PicsSource} into the test container.
|
|
24
|
+
*
|
|
25
|
+
* Returns the name of the file in the container.
|
|
26
|
+
*
|
|
27
|
+
* Results are cached so the same source always returns the same filename.
|
|
28
|
+
*/
|
|
29
|
+
function install(file: PicsFile): Promise<string>;
|
|
30
|
+
interface Composite {
|
|
31
|
+
kind: "composite";
|
|
32
|
+
sources: Source[];
|
|
33
|
+
}
|
|
34
|
+
interface ChipFile {
|
|
35
|
+
kind: "chip";
|
|
36
|
+
name: string;
|
|
37
|
+
}
|
|
38
|
+
interface LocalFile {
|
|
39
|
+
kind: "file";
|
|
40
|
+
name: string;
|
|
41
|
+
}
|
|
42
|
+
interface Lines {
|
|
43
|
+
kind: "lines";
|
|
44
|
+
lines: string;
|
|
45
|
+
}
|
|
46
|
+
interface Values {
|
|
47
|
+
kind: "values";
|
|
48
|
+
values: Record<string, 0 | 1>;
|
|
49
|
+
}
|
|
50
|
+
type Source = ChipFile | LocalFile | Lines | Values;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=source.d.ts.map
|