@matter/testing 0.16.11-alpha.0-20260228-3ee9c97df → 0.16.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/chip/config.d.ts +0 -3
- package/dist/cjs/chip/config.d.ts.map +1 -1
- package/dist/cjs/chip/config.js +0 -3
- package/dist/cjs/chip/config.js.map +1 -1
- package/dist/cjs/chip/state.d.ts +0 -1
- package/dist/cjs/chip/state.d.ts.map +1 -1
- package/dist/cjs/chip/state.js +2 -18
- package/dist/cjs/chip/state.js.map +1 -1
- package/dist/cjs/chip/yaml-test.d.ts +0 -4
- package/dist/cjs/chip/yaml-test.d.ts.map +1 -1
- package/dist/cjs/chip/yaml-test.js +8 -43
- package/dist/cjs/chip/yaml-test.js.map +1 -1
- package/dist/cjs/device/backchannel.d.ts +1 -6
- package/dist/cjs/device/backchannel.d.ts.map +1 -1
- package/dist/esm/chip/config.d.ts +0 -3
- package/dist/esm/chip/config.d.ts.map +1 -1
- package/dist/esm/chip/config.js +0 -3
- package/dist/esm/chip/config.js.map +1 -1
- package/dist/esm/chip/state.d.ts +0 -1
- package/dist/esm/chip/state.d.ts.map +1 -1
- package/dist/esm/chip/state.js +2 -18
- package/dist/esm/chip/state.js.map +1 -1
- package/dist/esm/chip/yaml-test.d.ts +0 -4
- package/dist/esm/chip/yaml-test.d.ts.map +1 -1
- package/dist/esm/chip/yaml-test.js +8 -43
- package/dist/esm/chip/yaml-test.js.map +1 -1
- package/dist/esm/device/backchannel.d.ts +1 -6
- package/dist/esm/device/backchannel.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/chip/config.ts +0 -4
- package/src/chip/matter-js-pics.properties +0 -3
- package/src/chip/state.ts +1 -27
- package/src/chip/yaml-test.ts +8 -55
- package/src/device/backchannel.ts +0 -7
|
@@ -16,7 +16,6 @@ export declare namespace ContainerPaths {
|
|
|
16
16
|
const pythonCommissioner = "/src/python_testing/hello_test.py";
|
|
17
17
|
const chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
18
18
|
const accessoryClient = "/usr/local/lib/python3.12/dist-packages/matter/yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
19
|
-
const dummyWsServer = "/bin/mjs-ws-dummy";
|
|
20
19
|
}
|
|
21
20
|
export type ContainerPathsType = typeof ContainerPaths;
|
|
22
21
|
export interface ContainerPaths extends ContainerPathsType {
|
|
@@ -44,8 +43,6 @@ export declare namespace Constants {
|
|
|
44
43
|
*/
|
|
45
44
|
const imageName: string;
|
|
46
45
|
const mdnsVolumeName: string;
|
|
47
|
-
const useLocalController: boolean;
|
|
48
|
-
const controllerPort: number;
|
|
49
46
|
const initTimeout = 60000;
|
|
50
47
|
const defaultTimeoutMs = 60000;
|
|
51
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IAoBvC;;OAEG;IACI,MAAM,cAAc,UAc1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAA4B,CAAC;IAEnD,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
|
package/dist/cjs/chip/config.js
CHANGED
|
@@ -36,7 +36,6 @@ var ContainerPaths;
|
|
|
36
36
|
ContainerPaths2.pythonCommissioner = `/src/python_testing/hello_test.py`;
|
|
37
37
|
ContainerPaths2.chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
38
38
|
ContainerPaths2.accessoryClient = "/usr/local/lib/python3.12/dist-packages/matter/yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
39
|
-
ContainerPaths2.dummyWsServer = "/bin/mjs-ws-dummy";
|
|
40
39
|
})(ContainerPaths || (ContainerPaths = {}));
|
|
41
40
|
var Constants;
|
|
42
41
|
((Constants2) => {
|
|
@@ -45,8 +44,6 @@ var Constants;
|
|
|
45
44
|
Constants2.networkName = "matter.js-chip";
|
|
46
45
|
Constants2.imageName = import_node_process.env.MATTER_CHIP_IMAGE || "ghcr.io/matter-js/chip:latest";
|
|
47
46
|
Constants2.mdnsVolumeName = import_node_process.env.MATTER_MDNS_VOLUME || "matter.js-mdns";
|
|
48
|
-
Constants2.useLocalController = !!import_node_process.env.MATTER_LOCAL_CONTROLLER;
|
|
49
|
-
Constants2.controllerPort = import_node_process.env.MATTER_CONTROLLER_PORT ? parseInt(import_node_process.env.MATTER_CONTROLLER_PORT, 10) : 9002;
|
|
50
47
|
Constants2.initTimeout = 6e4;
|
|
51
48
|
Constants2.defaultTimeoutMs = 6e4;
|
|
52
49
|
const subjectCommissioningTimeoutS = 3;
|
|
@@ -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;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;
|
|
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;AAM/C,QAAM,eAAe;AAKd,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,IAEzC;AAAA,IACA;AAAA,EACJ;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,GArEa;",
|
|
5
5
|
"names": ["ContainerPaths", "Constants"]
|
|
6
6
|
}
|
package/dist/cjs/chip/state.d.ts
CHANGED
|
@@ -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;AAOnD,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;
|
|
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;AAOnD,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;AA6B1C;;GAEG;AACH,eAAO,MAAM,KAAK;;aAWO,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/cjs/chip/state.js
CHANGED
|
@@ -58,8 +58,7 @@ const Values = {
|
|
|
58
58
|
containerLifecycleInstalled: false,
|
|
59
59
|
testMap: /* @__PURE__ */ new Map(),
|
|
60
60
|
pullBeforeTesting: true,
|
|
61
|
-
commandPipe: void 0
|
|
62
|
-
localControllerPort: void 0
|
|
61
|
+
commandPipe: void 0
|
|
63
62
|
};
|
|
64
63
|
const State = {
|
|
65
64
|
get container() {
|
|
@@ -109,9 +108,6 @@ const State = {
|
|
|
109
108
|
}
|
|
110
109
|
return Values.test;
|
|
111
110
|
},
|
|
112
|
-
get localControllerPort() {
|
|
113
|
-
return Values.localControllerPort;
|
|
114
|
-
},
|
|
115
111
|
get isInitialized() {
|
|
116
112
|
return Values.isInitialized;
|
|
117
113
|
},
|
|
@@ -314,9 +310,6 @@ async function initialize() {
|
|
|
314
310
|
await configurePics();
|
|
315
311
|
await configureTests();
|
|
316
312
|
await configureNetwork();
|
|
317
|
-
if (import_config.Constants.useLocalController) {
|
|
318
|
-
await configureLocalController();
|
|
319
|
-
}
|
|
320
313
|
Values.isInitialized = true;
|
|
321
314
|
}
|
|
322
315
|
async function configureContainer() {
|
|
@@ -398,15 +391,6 @@ async function configureNetwork() {
|
|
|
398
391
|
import_config.ContainerPaths.accessoryClient
|
|
399
392
|
);
|
|
400
393
|
}
|
|
401
|
-
async function configureLocalController() {
|
|
402
|
-
const dummyScript = '#!/bin/bash\necho "== WebSocket Server Ready"\nexec sleep infinity\n';
|
|
403
|
-
await State.container.exec([
|
|
404
|
-
"bash",
|
|
405
|
-
"-c",
|
|
406
|
-
`echo '${dummyScript}' > /bin/mjs-ws-dummy && chmod +x /bin/mjs-ws-dummy`
|
|
407
|
-
]);
|
|
408
|
-
Values.localControllerPort = import_config.Constants.controllerPort;
|
|
409
|
-
}
|
|
410
394
|
function loadSubject(factory, kind) {
|
|
411
395
|
let forFactory = Values.subjects.get(factory);
|
|
412
396
|
if (forFactory === void 0) {
|
|
@@ -430,7 +414,7 @@ function createTest(descriptor) {
|
|
|
430
414
|
}
|
|
431
415
|
switch (descriptor.kind) {
|
|
432
416
|
case "yaml":
|
|
433
|
-
return new import_yaml_test.YamlTest(descriptor, State.container
|
|
417
|
+
return new import_yaml_test.YamlTest(descriptor, State.container);
|
|
434
418
|
case "py":
|
|
435
419
|
return new import_python_test.PythonTest(descriptor, State.container);
|
|
436
420
|
default:
|
|
@@ -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,mBAAqB;AAKrB,oBAAuB;AACvB,kBAAqB;AACrB,mBAAsB;AACtB,oBAAuB;AACvB,mBAAoC;AACpC,oBAA2B;AAC3B,6BAAuE;AACvE,8BAAgC;AAEhC,oBAA0C;AAC1C,oCAAqC;AAErC,oBAA2B;AAC3B,yBAA2B;AAC3B,uBAAyB;AAzBzB;AAAA;AAAA;AAAA;AAAA;AA8BA,MAAM,SAAS;AAAA,EACX,eAAe;AAAA,EACf,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;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,11 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Subject } from "../device/subject.js";
|
|
7
7
|
import { BaseTest } from "../device/test.js";
|
|
8
|
-
import { Container } from "../docker/container.js";
|
|
9
|
-
import { TestFileDescriptor } from "../test-descriptor.js";
|
|
10
8
|
export declare class YamlTest extends BaseTest {
|
|
11
|
-
#private;
|
|
12
|
-
constructor(descriptor: TestFileDescriptor, container: Container, localControllerPort?: number);
|
|
13
9
|
initializeSubject(subject: Subject): Promise<void>;
|
|
14
10
|
invoke(subject: Subject, step: (title: string) => void, args: string[]): Promise<void>;
|
|
15
11
|
}
|
|
@@ -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"}
|
|
@@ -34,19 +34,7 @@ var import_source = require("./pics/source.js");
|
|
|
34
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
35
|
*/
|
|
36
36
|
class YamlTest extends import_test.BaseTest {
|
|
37
|
-
#localControllerPort;
|
|
38
|
-
constructor(descriptor, container, localControllerPort) {
|
|
39
|
-
super(descriptor, container);
|
|
40
|
-
this.#localControllerPort = localControllerPort;
|
|
41
|
-
}
|
|
42
37
|
async initializeSubject(subject) {
|
|
43
|
-
if (this.#localControllerPort !== void 0) {
|
|
44
|
-
await this.#initializeSubjectViaWebSocket(subject);
|
|
45
|
-
} else {
|
|
46
|
-
await this.#initializeSubjectViaChipTool(subject);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async #initializeSubjectViaChipTool(subject) {
|
|
50
38
|
const command = ["chip-tool", "pairing"];
|
|
51
39
|
const { kind, passcode, discriminator, network } = subject.commissioning;
|
|
52
40
|
switch (kind) {
|
|
@@ -78,42 +66,19 @@ class YamlTest extends import_test.BaseTest {
|
|
|
78
66
|
throw new Error("Error pairing test app", { cause: e });
|
|
79
67
|
}
|
|
80
68
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Commission via the local matter.js WebSocket controller. The YAML runner's WebSocketRunner connects to the
|
|
83
|
-
* host-side controller, which handles the `pairing code <nodeId> <qrCode>` text command.
|
|
84
|
-
*/
|
|
85
|
-
async #initializeSubjectViaWebSocket(subject) {
|
|
86
|
-
const { qrPairingCode } = subject.commissioning;
|
|
87
|
-
const terminal = await this.container.exec(
|
|
88
|
-
[
|
|
89
|
-
"python3",
|
|
90
|
-
import_config.ContainerPaths.yamlRunner,
|
|
91
|
-
"pairing",
|
|
92
|
-
"code",
|
|
93
|
-
"0x12344321",
|
|
94
|
-
qrPairingCode,
|
|
95
|
-
"--server_path",
|
|
96
|
-
import_config.ContainerPaths.dummyWsServer
|
|
97
|
-
],
|
|
98
|
-
import_terminal.Terminal.Line
|
|
99
|
-
);
|
|
100
|
-
try {
|
|
101
|
-
for await (const line of terminal) {
|
|
102
|
-
MockLogger.injectExternalMessage("PAIR", line);
|
|
103
|
-
}
|
|
104
|
-
} catch (e) {
|
|
105
|
-
throw new Error("Error pairing test app via WebSocket controller", { cause: e });
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
69
|
async invoke(subject, step, args) {
|
|
109
70
|
if (!args.includes("--PICS")) {
|
|
110
71
|
args.push("--PICS", await import_source.PicsSource.install(subject.pics));
|
|
111
72
|
}
|
|
112
|
-
const runnerArgs = this.#localControllerPort !== void 0 ? import_config.Constants.YamlRunnerArgs.map(
|
|
113
|
-
(arg, i, arr) => arr[i - 1] === "--server_path" ? import_config.ContainerPaths.dummyWsServer : arg
|
|
114
|
-
) : import_config.Constants.YamlRunnerArgs;
|
|
115
73
|
const terminal = await this.container.exec(
|
|
116
|
-
[
|
|
74
|
+
[
|
|
75
|
+
"python3",
|
|
76
|
+
import_config.ContainerPaths.yamlRunner,
|
|
77
|
+
"tests",
|
|
78
|
+
(0, import_node_path.basename)(this.descriptor.path),
|
|
79
|
+
...import_config.Constants.YamlRunnerArgs,
|
|
80
|
+
...args
|
|
81
|
+
],
|
|
117
82
|
import_terminal.Terminal.Line
|
|
118
83
|
);
|
|
119
84
|
let passed = false;
|
|
@@ -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,uBAAyB;AAEzB,kBAAyB;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAAyB;AAEzB,kBAAyB;AACzB,sBAAyB;AACzB,kBAAyB;AACzB,8BAA0B;AAC1B,oBAA0C;AAC1C,oBAA2B;AAb3B;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,iBAAiB,qBAAS;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,yBAAS,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,yBAAW,QAAQ,QAAQ,IAAI,CAAC;AAAA,IAC9D;AAEA,UAAM,WAAW,MAAM,KAAK,UAAU;AAAA,MAClC;AAAA,QACI;AAAA,QACA,6BAAe;AAAA,QACf;AAAA,YACA,2BAAS,KAAK,WAAW,IAAI;AAAA,QAC7B,GAAG,wBAAU;AAAA,QACb,GAAG;AAAA,MACP;AAAA,MACA,yBAAS;AAAA,IACb;AAEA,QAAI,SAAS;AAEb,mBAAe,QAAQ,UAAU;AAC7B,aAAO,KAAK,WAAW,QAAQ,IAAI,EAAE,WAAW,KAAM,IAAI;AAE1D,iBAAO,mCAAU,MAAM,IAAI;AAE3B,cAAI,sBAAS,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
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* A command received through an OOB channel from the test implementation to the subject.
|
|
8
8
|
*/
|
|
9
|
-
export type BackchannelCommand = BackchannelCommand.SimulateLongPress | BackchannelCommand.SimulateMultiPress | BackchannelCommand.SimulateLatchPosition | BackchannelCommand.SimulateSwitchIdle | BackchannelCommand.OperationalStateChange | BackchannelCommand.RvcErrors | BackchannelCommand.RvcNoParameters | BackchannelCommand.RvcRemoveMap | BackchannelCommand.RvcAddMap | BackchannelCommand.RvcRemoveArea | BackchannelCommand.RvcAddArea | BackchannelCommand.
|
|
9
|
+
export type BackchannelCommand = BackchannelCommand.SimulateLongPress | BackchannelCommand.SimulateMultiPress | BackchannelCommand.SimulateLatchPosition | BackchannelCommand.SimulateSwitchIdle | BackchannelCommand.OperationalStateChange | BackchannelCommand.RvcErrors | BackchannelCommand.RvcNoParameters | BackchannelCommand.RvcRemoveMap | BackchannelCommand.RvcAddMap | BackchannelCommand.RvcRemoveArea | BackchannelCommand.RvcAddArea | BackchannelCommand.NoParameters;
|
|
10
10
|
export declare namespace BackchannelCommand {
|
|
11
11
|
interface Subject {
|
|
12
12
|
backchannel(command?: BackchannelCommand): void | Promise<void>;
|
|
@@ -69,11 +69,6 @@ export declare namespace BackchannelCommand {
|
|
|
69
69
|
mapId: number;
|
|
70
70
|
locationName: string;
|
|
71
71
|
};
|
|
72
|
-
type SetBooleanState = {
|
|
73
|
-
name: "setBooleanState";
|
|
74
|
-
endpointId: number;
|
|
75
|
-
newState: boolean;
|
|
76
|
-
};
|
|
77
72
|
type NoParameters = {
|
|
78
73
|
name: "factoryReset" | "reboot" | "start" | "stop";
|
|
79
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backchannel.d.ts","sourceRoot":"","sources":["../../../src/device/backchannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,CAAC,iBAAiB,GACpC,kBAAkB,CAAC,kBAAkB,GACrC,kBAAkB,CAAC,qBAAqB,GACxC,kBAAkB,CAAC,kBAAkB,GACrC,kBAAkB,CAAC,sBAAsB,GACzC,kBAAkB,CAAC,SAAS,GAC5B,kBAAkB,CAAC,eAAe,GAClC,kBAAkB,CAAC,YAAY,GAC/B,kBAAkB,CAAC,SAAS,GAC5B,kBAAkB,CAAC,aAAa,GAChC,kBAAkB,CAAC,UAAU,GAC7B,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"backchannel.d.ts","sourceRoot":"","sources":["../../../src/device/backchannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ export declare namespace ContainerPaths {
|
|
|
16
16
|
const pythonCommissioner = "/src/python_testing/hello_test.py";
|
|
17
17
|
const chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
18
18
|
const accessoryClient = "/usr/local/lib/python3.12/dist-packages/matter/yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
19
|
-
const dummyWsServer = "/bin/mjs-ws-dummy";
|
|
20
19
|
}
|
|
21
20
|
export type ContainerPathsType = typeof ContainerPaths;
|
|
22
21
|
export interface ContainerPaths extends ContainerPathsType {
|
|
@@ -44,8 +43,6 @@ export declare namespace Constants {
|
|
|
44
43
|
*/
|
|
45
44
|
const imageName: string;
|
|
46
45
|
const mdnsVolumeName: string;
|
|
47
|
-
const useLocalController: boolean;
|
|
48
|
-
const controllerPort: number;
|
|
49
46
|
const initTimeout = 60000;
|
|
50
47
|
const defaultTimeoutMs = 60000;
|
|
51
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IAoBvC;;OAEG;IACI,MAAM,cAAc,UAc1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAA4B,CAAC;IAEnD,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
|
package/dist/esm/chip/config.js
CHANGED
|
@@ -12,7 +12,6 @@ var ContainerPaths;
|
|
|
12
12
|
ContainerPaths2.pythonCommissioner = `/src/python_testing/hello_test.py`;
|
|
13
13
|
ContainerPaths2.chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
14
14
|
ContainerPaths2.accessoryClient = "/usr/local/lib/python3.12/dist-packages/matter/yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
15
|
-
ContainerPaths2.dummyWsServer = "/bin/mjs-ws-dummy";
|
|
16
15
|
})(ContainerPaths || (ContainerPaths = {}));
|
|
17
16
|
var Constants;
|
|
18
17
|
((Constants2) => {
|
|
@@ -21,8 +20,6 @@ var Constants;
|
|
|
21
20
|
Constants2.networkName = "matter.js-chip";
|
|
22
21
|
Constants2.imageName = env.MATTER_CHIP_IMAGE || "ghcr.io/matter-js/chip:latest";
|
|
23
22
|
Constants2.mdnsVolumeName = env.MATTER_MDNS_VOLUME || "matter.js-mdns";
|
|
24
|
-
Constants2.useLocalController = !!env.MATTER_LOCAL_CONTROLLER;
|
|
25
|
-
Constants2.controllerPort = env.MATTER_CONTROLLER_PORT ? parseInt(env.MATTER_CONTROLLER_PORT, 10) : 9002;
|
|
26
23
|
Constants2.initTimeout = 6e4;
|
|
27
24
|
Constants2.defaultTimeoutMs = 6e4;
|
|
28
25
|
const subjectCommissioningTimeoutS = 3;
|
|
@@ -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;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;
|
|
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;AAM/C,QAAM,eAAe;AAKd,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,IAEzC;AAAA,IACA;AAAA,EACJ;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,GArEa;",
|
|
5
5
|
"names": ["ContainerPaths", "Constants"]
|
|
6
6
|
}
|
package/dist/esm/chip/state.d.ts
CHANGED
|
@@ -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;AAOnD,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;
|
|
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;AAOnD,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;AA6B1C;;GAEG;AACH,eAAO,MAAM,KAAK;;aAWO,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
|
@@ -35,8 +35,7 @@ const Values = {
|
|
|
35
35
|
containerLifecycleInstalled: false,
|
|
36
36
|
testMap: /* @__PURE__ */ new Map(),
|
|
37
37
|
pullBeforeTesting: true,
|
|
38
|
-
commandPipe: void 0
|
|
39
|
-
localControllerPort: void 0
|
|
38
|
+
commandPipe: void 0
|
|
40
39
|
};
|
|
41
40
|
const State = {
|
|
42
41
|
get container() {
|
|
@@ -86,9 +85,6 @@ const State = {
|
|
|
86
85
|
}
|
|
87
86
|
return Values.test;
|
|
88
87
|
},
|
|
89
|
-
get localControllerPort() {
|
|
90
|
-
return Values.localControllerPort;
|
|
91
|
-
},
|
|
92
88
|
get isInitialized() {
|
|
93
89
|
return Values.isInitialized;
|
|
94
90
|
},
|
|
@@ -291,9 +287,6 @@ async function initialize() {
|
|
|
291
287
|
await configurePics();
|
|
292
288
|
await configureTests();
|
|
293
289
|
await configureNetwork();
|
|
294
|
-
if (Constants.useLocalController) {
|
|
295
|
-
await configureLocalController();
|
|
296
|
-
}
|
|
297
290
|
Values.isInitialized = true;
|
|
298
291
|
}
|
|
299
292
|
async function configureContainer() {
|
|
@@ -375,15 +368,6 @@ async function configureNetwork() {
|
|
|
375
368
|
ContainerPaths.accessoryClient
|
|
376
369
|
);
|
|
377
370
|
}
|
|
378
|
-
async function configureLocalController() {
|
|
379
|
-
const dummyScript = '#!/bin/bash\necho "== WebSocket Server Ready"\nexec sleep infinity\n';
|
|
380
|
-
await State.container.exec([
|
|
381
|
-
"bash",
|
|
382
|
-
"-c",
|
|
383
|
-
`echo '${dummyScript}' > /bin/mjs-ws-dummy && chmod +x /bin/mjs-ws-dummy`
|
|
384
|
-
]);
|
|
385
|
-
Values.localControllerPort = Constants.controllerPort;
|
|
386
|
-
}
|
|
387
371
|
function loadSubject(factory, kind) {
|
|
388
372
|
let forFactory = Values.subjects.get(factory);
|
|
389
373
|
if (forFactory === void 0) {
|
|
@@ -407,7 +391,7 @@ function createTest(descriptor) {
|
|
|
407
391
|
}
|
|
408
392
|
switch (descriptor.kind) {
|
|
409
393
|
case "yaml":
|
|
410
|
-
return new YamlTest(descriptor, State.container
|
|
394
|
+
return new YamlTest(descriptor, State.container);
|
|
411
395
|
case "py":
|
|
412
396
|
return new PythonTest(descriptor, State.container);
|
|
413
397
|
default:
|
|
@@ -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,YAAY;AAKrB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAS,cAAc;AACvB,SAAS,UAAU,iBAAiB;AACpC,SAAS,kBAAkB;AAC3B,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,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;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,11 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Subject } from "../device/subject.js";
|
|
7
7
|
import { BaseTest } from "../device/test.js";
|
|
8
|
-
import { Container } from "../docker/container.js";
|
|
9
|
-
import { TestFileDescriptor } from "../test-descriptor.js";
|
|
10
8
|
export declare class YamlTest extends BaseTest {
|
|
11
|
-
#private;
|
|
12
|
-
constructor(descriptor: TestFileDescriptor, container: Container, localControllerPort?: number);
|
|
13
9
|
initializeSubject(subject: Subject): Promise<void>;
|
|
14
10
|
invoke(subject: Subject, step: (title: string) => void, args: string[]): Promise<void>;
|
|
15
11
|
}
|
|
@@ -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"}
|
|
@@ -11,19 +11,7 @@ import { parseStep } from "./chip-test-common.js";
|
|
|
11
11
|
import { Constants, ContainerPaths } from "./config.js";
|
|
12
12
|
import { PicsSource } from "./pics/source.js";
|
|
13
13
|
class YamlTest extends BaseTest {
|
|
14
|
-
#localControllerPort;
|
|
15
|
-
constructor(descriptor, container, localControllerPort) {
|
|
16
|
-
super(descriptor, container);
|
|
17
|
-
this.#localControllerPort = localControllerPort;
|
|
18
|
-
}
|
|
19
14
|
async initializeSubject(subject) {
|
|
20
|
-
if (this.#localControllerPort !== void 0) {
|
|
21
|
-
await this.#initializeSubjectViaWebSocket(subject);
|
|
22
|
-
} else {
|
|
23
|
-
await this.#initializeSubjectViaChipTool(subject);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
async #initializeSubjectViaChipTool(subject) {
|
|
27
15
|
const command = ["chip-tool", "pairing"];
|
|
28
16
|
const { kind, passcode, discriminator, network } = subject.commissioning;
|
|
29
17
|
switch (kind) {
|
|
@@ -55,42 +43,19 @@ class YamlTest extends BaseTest {
|
|
|
55
43
|
throw new Error("Error pairing test app", { cause: e });
|
|
56
44
|
}
|
|
57
45
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Commission via the local matter.js WebSocket controller. The YAML runner's WebSocketRunner connects to the
|
|
60
|
-
* host-side controller, which handles the `pairing code <nodeId> <qrCode>` text command.
|
|
61
|
-
*/
|
|
62
|
-
async #initializeSubjectViaWebSocket(subject) {
|
|
63
|
-
const { qrPairingCode } = subject.commissioning;
|
|
64
|
-
const terminal = await this.container.exec(
|
|
65
|
-
[
|
|
66
|
-
"python3",
|
|
67
|
-
ContainerPaths.yamlRunner,
|
|
68
|
-
"pairing",
|
|
69
|
-
"code",
|
|
70
|
-
"0x12344321",
|
|
71
|
-
qrPairingCode,
|
|
72
|
-
"--server_path",
|
|
73
|
-
ContainerPaths.dummyWsServer
|
|
74
|
-
],
|
|
75
|
-
Terminal.Line
|
|
76
|
-
);
|
|
77
|
-
try {
|
|
78
|
-
for await (const line of terminal) {
|
|
79
|
-
MockLogger.injectExternalMessage("PAIR", line);
|
|
80
|
-
}
|
|
81
|
-
} catch (e) {
|
|
82
|
-
throw new Error("Error pairing test app via WebSocket controller", { cause: e });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
46
|
async invoke(subject, step, args) {
|
|
86
47
|
if (!args.includes("--PICS")) {
|
|
87
48
|
args.push("--PICS", await PicsSource.install(subject.pics));
|
|
88
49
|
}
|
|
89
|
-
const runnerArgs = this.#localControllerPort !== void 0 ? Constants.YamlRunnerArgs.map(
|
|
90
|
-
(arg, i, arr) => arr[i - 1] === "--server_path" ? ContainerPaths.dummyWsServer : arg
|
|
91
|
-
) : Constants.YamlRunnerArgs;
|
|
92
50
|
const terminal = await this.container.exec(
|
|
93
|
-
[
|
|
51
|
+
[
|
|
52
|
+
"python3",
|
|
53
|
+
ContainerPaths.yamlRunner,
|
|
54
|
+
"tests",
|
|
55
|
+
basename(this.descriptor.path),
|
|
56
|
+
...Constants.YamlRunnerArgs,
|
|
57
|
+
...args
|
|
58
|
+
],
|
|
94
59
|
Terminal.Line
|
|
95
60
|
);
|
|
96
61
|
let passed = false;
|
|
@@ -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;
|
|
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
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* A command received through an OOB channel from the test implementation to the subject.
|
|
8
8
|
*/
|
|
9
|
-
export type BackchannelCommand = BackchannelCommand.SimulateLongPress | BackchannelCommand.SimulateMultiPress | BackchannelCommand.SimulateLatchPosition | BackchannelCommand.SimulateSwitchIdle | BackchannelCommand.OperationalStateChange | BackchannelCommand.RvcErrors | BackchannelCommand.RvcNoParameters | BackchannelCommand.RvcRemoveMap | BackchannelCommand.RvcAddMap | BackchannelCommand.RvcRemoveArea | BackchannelCommand.RvcAddArea | BackchannelCommand.
|
|
9
|
+
export type BackchannelCommand = BackchannelCommand.SimulateLongPress | BackchannelCommand.SimulateMultiPress | BackchannelCommand.SimulateLatchPosition | BackchannelCommand.SimulateSwitchIdle | BackchannelCommand.OperationalStateChange | BackchannelCommand.RvcErrors | BackchannelCommand.RvcNoParameters | BackchannelCommand.RvcRemoveMap | BackchannelCommand.RvcAddMap | BackchannelCommand.RvcRemoveArea | BackchannelCommand.RvcAddArea | BackchannelCommand.NoParameters;
|
|
10
10
|
export declare namespace BackchannelCommand {
|
|
11
11
|
interface Subject {
|
|
12
12
|
backchannel(command?: BackchannelCommand): void | Promise<void>;
|
|
@@ -69,11 +69,6 @@ export declare namespace BackchannelCommand {
|
|
|
69
69
|
mapId: number;
|
|
70
70
|
locationName: string;
|
|
71
71
|
};
|
|
72
|
-
type SetBooleanState = {
|
|
73
|
-
name: "setBooleanState";
|
|
74
|
-
endpointId: number;
|
|
75
|
-
newState: boolean;
|
|
76
|
-
};
|
|
77
72
|
type NoParameters = {
|
|
78
73
|
name: "factoryReset" | "reboot" | "start" | "stop";
|
|
79
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backchannel.d.ts","sourceRoot":"","sources":["../../../src/device/backchannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,CAAC,iBAAiB,GACpC,kBAAkB,CAAC,kBAAkB,GACrC,kBAAkB,CAAC,qBAAqB,GACxC,kBAAkB,CAAC,kBAAkB,GACrC,kBAAkB,CAAC,sBAAsB,GACzC,kBAAkB,CAAC,SAAS,GAC5B,kBAAkB,CAAC,eAAe,GAClC,kBAAkB,CAAC,YAAY,GAC/B,kBAAkB,CAAC,SAAS,GAC5B,kBAAkB,CAAC,aAAa,GAChC,kBAAkB,CAAC,UAAU,GAC7B,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"backchannel.d.ts","sourceRoot":"","sources":["../../../src/device/backchannel.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/testing",
|
|
3
|
-
"version": "0.16.11
|
|
3
|
+
"version": "0.16.11",
|
|
4
4
|
"description": "Test harness for running JavaScript and Matter certification tests",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"#tools/ansi-text": "@matter/tools/ansi-text"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@matter/tools": "0.16.11
|
|
48
|
+
"@matter/tools": "0.16.11",
|
|
49
49
|
"@types/express": "^5.0.6",
|
|
50
50
|
"ansi-colors": "^4.1.3",
|
|
51
51
|
"chai": "^4.5.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"@types/debug": "^4.1.12",
|
|
69
69
|
"@types/mocha": "^10.0.10",
|
|
70
70
|
"@types/docker-modem": "^3.0.6",
|
|
71
|
-
"@types/node": "^25.
|
|
71
|
+
"@types/node": "^25.2.2",
|
|
72
72
|
"@types/wtfnode": "^0.10.0",
|
|
73
73
|
"@types/xml2js": "^0.4.14",
|
|
74
74
|
"@types/yargs": "^17.0.35"
|
package/src/chip/config.ts
CHANGED
|
@@ -21,7 +21,6 @@ export namespace ContainerPaths {
|
|
|
21
21
|
export const chipPics = "/src/app/tests/suites/certification/ci-pics-values";
|
|
22
22
|
export const accessoryClient =
|
|
23
23
|
"/usr/local/lib/python3.12/dist-packages/matter/yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
|
|
24
|
-
export const dummyWsServer = "/bin/mjs-ws-dummy";
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
export type ContainerPathsType = typeof ContainerPaths;
|
|
@@ -55,9 +54,6 @@ export namespace Constants {
|
|
|
55
54
|
export const imageName = env.MATTER_CHIP_IMAGE || "ghcr.io/matter-js/chip:latest";
|
|
56
55
|
export const mdnsVolumeName = env.MATTER_MDNS_VOLUME || "matter.js-mdns";
|
|
57
56
|
|
|
58
|
-
export const useLocalController = !!env.MATTER_LOCAL_CONTROLLER;
|
|
59
|
-
export const controllerPort = env.MATTER_CONTROLLER_PORT ? parseInt(env.MATTER_CONTROLLER_PORT, 10) : 9002;
|
|
60
|
-
|
|
61
57
|
export const initTimeout = 60_000;
|
|
62
58
|
export const defaultTimeoutMs = 60_000;
|
|
63
59
|
|
package/src/chip/state.ts
CHANGED
|
@@ -47,7 +47,6 @@ const Values = {
|
|
|
47
47
|
testMap: new Map<TestDescriptor, Test>(),
|
|
48
48
|
pullBeforeTesting: true,
|
|
49
49
|
commandPipe: undefined as ContainerCommandPipe | undefined,
|
|
50
|
-
localControllerPort: undefined as number | undefined,
|
|
51
50
|
};
|
|
52
51
|
|
|
53
52
|
/**
|
|
@@ -117,10 +116,6 @@ export const State = {
|
|
|
117
116
|
return Values.test;
|
|
118
117
|
},
|
|
119
118
|
|
|
120
|
-
get localControllerPort() {
|
|
121
|
-
return Values.localControllerPort;
|
|
122
|
-
},
|
|
123
|
-
|
|
124
119
|
get isInitialized() {
|
|
125
120
|
return Values.isInitialized;
|
|
126
121
|
},
|
|
@@ -386,10 +381,6 @@ async function initialize() {
|
|
|
386
381
|
await configureTests();
|
|
387
382
|
await configureNetwork();
|
|
388
383
|
|
|
389
|
-
if (Constants.useLocalController) {
|
|
390
|
-
await configureLocalController();
|
|
391
|
-
}
|
|
392
|
-
|
|
393
384
|
Values.isInitialized = true;
|
|
394
385
|
}
|
|
395
386
|
|
|
@@ -527,23 +518,6 @@ async function configureNetwork() {
|
|
|
527
518
|
);
|
|
528
519
|
}
|
|
529
520
|
|
|
530
|
-
/**
|
|
531
|
-
* Install a dummy WebSocket server script in the container and configure the local controller port.
|
|
532
|
-
*
|
|
533
|
-
* The dummy script satisfies chiptool.py's `--server_path` validation (click.Path(exists=True)) and its
|
|
534
|
-
* WebSocketRunner startup protocol (expects "== WebSocket Server Ready" on stdout). The actual WebSocket server runs
|
|
535
|
-
* on the host in the matter.js controller process.
|
|
536
|
-
*/
|
|
537
|
-
async function configureLocalController() {
|
|
538
|
-
const dummyScript = '#!/bin/bash\necho "== WebSocket Server Ready"\nexec sleep infinity\n';
|
|
539
|
-
await State.container.exec([
|
|
540
|
-
"bash",
|
|
541
|
-
"-c",
|
|
542
|
-
`echo '${dummyScript}' > /bin/mjs-ws-dummy && chmod +x /bin/mjs-ws-dummy`,
|
|
543
|
-
]);
|
|
544
|
-
Values.localControllerPort = Constants.controllerPort;
|
|
545
|
-
}
|
|
546
|
-
|
|
547
521
|
/**
|
|
548
522
|
* Obtain a subject. Subjects are qualified by factory and test domain.
|
|
549
523
|
*/
|
|
@@ -594,7 +568,7 @@ function createTest(descriptor: TestDescriptor) {
|
|
|
594
568
|
|
|
595
569
|
switch (descriptor.kind) {
|
|
596
570
|
case "yaml":
|
|
597
|
-
return new YamlTest(descriptor as TestFileDescriptor, State.container
|
|
571
|
+
return new YamlTest(descriptor as TestFileDescriptor, State.container);
|
|
598
572
|
|
|
599
573
|
case "py":
|
|
600
574
|
return new PythonTest(descriptor as TestFileDescriptor, State.container);
|
package/src/chip/yaml-test.ts
CHANGED
|
@@ -7,31 +7,14 @@
|
|
|
7
7
|
import { basename } from "node:path";
|
|
8
8
|
import { Subject } from "../device/subject.js";
|
|
9
9
|
import { BaseTest } from "../device/test.js";
|
|
10
|
-
import { Container } from "../docker/container.js";
|
|
11
10
|
import { Terminal } from "../docker/terminal.js";
|
|
12
|
-
import { TestFileDescriptor } from "../test-descriptor.js";
|
|
13
11
|
import { deansify } from "../util/text.js";
|
|
14
12
|
import { parseStep } from "./chip-test-common.js";
|
|
15
13
|
import { Constants, ContainerPaths } from "./config.js";
|
|
16
14
|
import { PicsSource } from "./pics/source.js";
|
|
17
15
|
|
|
18
16
|
export class YamlTest extends BaseTest {
|
|
19
|
-
#localControllerPort?: number;
|
|
20
|
-
|
|
21
|
-
constructor(descriptor: TestFileDescriptor, container: Container, localControllerPort?: number) {
|
|
22
|
-
super(descriptor, container);
|
|
23
|
-
this.#localControllerPort = localControllerPort;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
17
|
async initializeSubject(subject: Subject) {
|
|
27
|
-
if (this.#localControllerPort !== undefined) {
|
|
28
|
-
await this.#initializeSubjectViaWebSocket(subject);
|
|
29
|
-
} else {
|
|
30
|
-
await this.#initializeSubjectViaChipTool(subject);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async #initializeSubjectViaChipTool(subject: Subject) {
|
|
35
18
|
const command = ["chip-tool", "pairing"];
|
|
36
19
|
|
|
37
20
|
const { kind, passcode, discriminator, network } = subject.commissioning;
|
|
@@ -72,50 +55,20 @@ export class YamlTest extends BaseTest {
|
|
|
72
55
|
}
|
|
73
56
|
}
|
|
74
57
|
|
|
75
|
-
/**
|
|
76
|
-
* Commission via the local matter.js WebSocket controller. The YAML runner's WebSocketRunner connects to the
|
|
77
|
-
* host-side controller, which handles the `pairing code <nodeId> <qrCode>` text command.
|
|
78
|
-
*/
|
|
79
|
-
async #initializeSubjectViaWebSocket(subject: Subject) {
|
|
80
|
-
const { qrPairingCode } = subject.commissioning;
|
|
81
|
-
|
|
82
|
-
const terminal = await this.container.exec(
|
|
83
|
-
[
|
|
84
|
-
"python3",
|
|
85
|
-
ContainerPaths.yamlRunner,
|
|
86
|
-
"pairing",
|
|
87
|
-
"code",
|
|
88
|
-
"0x12344321",
|
|
89
|
-
qrPairingCode,
|
|
90
|
-
"--server_path",
|
|
91
|
-
ContainerPaths.dummyWsServer,
|
|
92
|
-
],
|
|
93
|
-
Terminal.Line,
|
|
94
|
-
);
|
|
95
|
-
|
|
96
|
-
try {
|
|
97
|
-
for await (const line of terminal) {
|
|
98
|
-
MockLogger.injectExternalMessage("PAIR", line);
|
|
99
|
-
}
|
|
100
|
-
} catch (e) {
|
|
101
|
-
throw new Error("Error pairing test app via WebSocket controller", { cause: e });
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
58
|
async invoke(subject: Subject, step: (title: string) => void, args: string[]) {
|
|
106
59
|
if (!args.includes("--PICS")) {
|
|
107
60
|
args.push("--PICS", await PicsSource.install(subject.pics));
|
|
108
61
|
}
|
|
109
62
|
|
|
110
|
-
const runnerArgs =
|
|
111
|
-
this.#localControllerPort !== undefined
|
|
112
|
-
? Constants.YamlRunnerArgs.map((arg, i, arr) =>
|
|
113
|
-
arr[i - 1] === "--server_path" ? ContainerPaths.dummyWsServer : arg,
|
|
114
|
-
)
|
|
115
|
-
: Constants.YamlRunnerArgs;
|
|
116
|
-
|
|
117
63
|
const terminal = await this.container.exec(
|
|
118
|
-
[
|
|
64
|
+
[
|
|
65
|
+
"python3",
|
|
66
|
+
ContainerPaths.yamlRunner,
|
|
67
|
+
"tests",
|
|
68
|
+
basename(this.descriptor.path),
|
|
69
|
+
...Constants.YamlRunnerArgs,
|
|
70
|
+
...args,
|
|
71
|
+
],
|
|
119
72
|
Terminal.Line,
|
|
120
73
|
);
|
|
121
74
|
|
|
@@ -19,7 +19,6 @@ export type BackchannelCommand =
|
|
|
19
19
|
| BackchannelCommand.RvcAddMap
|
|
20
20
|
| BackchannelCommand.RvcRemoveArea
|
|
21
21
|
| BackchannelCommand.RvcAddArea
|
|
22
|
-
| BackchannelCommand.SetBooleanState
|
|
23
22
|
| BackchannelCommand.NoParameters;
|
|
24
23
|
|
|
25
24
|
export namespace BackchannelCommand {
|
|
@@ -107,12 +106,6 @@ export namespace BackchannelCommand {
|
|
|
107
106
|
locationName: string;
|
|
108
107
|
};
|
|
109
108
|
|
|
110
|
-
export type SetBooleanState = {
|
|
111
|
-
name: "setBooleanState";
|
|
112
|
-
endpointId: number;
|
|
113
|
-
newState: boolean;
|
|
114
|
-
};
|
|
115
|
-
|
|
116
109
|
export type NoParameters = {
|
|
117
110
|
name: "factoryReset" | "reboot" | "start" | "stop";
|
|
118
111
|
};
|