Skip to content

Commit 44bc1cb

Browse files
committed
Merge remote-tracking branch 'upstream/master' into ubuntu-qemu
2 parents fc93c24 + e7e3316 commit 44bc1cb

File tree

347 files changed

+10732
-9460
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

347 files changed

+10732
-9460
lines changed

.github/workflows/tests.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -548,9 +548,9 @@ jobs:
548548
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace-to json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_OVENOPSTATE_2_3.py" --script-args "--endpoint 1 --int-arg PIXIT.WAITTIME.COUNTDOWN:5 --storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
549549
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace-to json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_OVENOPSTATE_2_4.py" --script-args "--endpoint 1 --int-arg PIXIT.OVENOPSTATE.ErrorEventGen:1 --storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
550550
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-all-clusters-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace-to json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_OVENOPSTATE_2_5.py" --script-args "--endpoint 1 --int-arg PIXIT.WAITTIME.REBOOT:5 --storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
551-
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
552-
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_3.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
553-
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_4.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
551+
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_1.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
552+
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
553+
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOCTRL_2_4.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS src/app/tests/suites/certification/ci-pics-values --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
554554
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-microwave-oven-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-microwave-oven-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_MWOM_1_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
555555
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-rvc-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-rvc-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_RVCRUNM_1_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
556556
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app out/linux-x64-rvc-ipv6only-no-ble-no-wifi-tsan-clang-test/chip-rvc-app --factoryreset --quiet --app-args "--discriminator 1234 --KVS kvs1 --trace_file json:out/trace_data/app-{SCRIPT_BASE_NAME}.json" --script "src/python_testing/TC_RVCRUNM_2_1.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --PICS examples/rvc-app/rvc-common/pics/rvc-app-pics-values --endpoint 1 --trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto --int-arg PIXIT.RVCRUNM.MODE_CHANGE_OK:0 PIXIT.RVCRUNM.MODE_CHANGE_FAIL:2"'

credentials/generate-revocation-set.py

+28-4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from click_option_group import RequiredMutuallyExclusiveOptionGroup, optgroup
3333
from cryptography import x509
3434
from cryptography.hazmat.primitives.asymmetric import ec
35+
from cryptography.x509.oid import NameOID
3536

3637
# Supported log levels, mapping string values required for argument
3738
# parsing into logging constants
@@ -64,6 +65,32 @@ def extract_single_integer_attribute(subject, oid):
6465
return None
6566

6667

68+
def extract_fallback_tag_from_common_name(cn, marker):
69+
val_len = 4
70+
start_idx = cn.find(marker)
71+
72+
if start_idx != -1:
73+
val_start_idx = start_idx + len(marker)
74+
val = cn[val_start_idx:val_start_idx + val_len]
75+
return int(val, 16) if len(val) == 4 else None
76+
77+
return None
78+
79+
80+
def parse_vid_pid_from_distinguished_name(distinguished_name):
81+
# VID/PID encoded using Matter specific RDNs
82+
vid = extract_single_integer_attribute(distinguished_name, OID_VENDOR_ID)
83+
pid = extract_single_integer_attribute(distinguished_name, OID_PRODUCT_ID)
84+
85+
# Fallback method to get the VID/PID, encoded in CN as "Mvid:FFFF Mpid:1234"
86+
if vid is None and pid is None:
87+
cn = distinguished_name.get_attributes_for_oid(NameOID.COMMON_NAME)[0].value
88+
vid = extract_fallback_tag_from_common_name(cn, 'Mvid:')
89+
pid = extract_fallback_tag_from_common_name(cn, 'Mpid:')
90+
91+
return vid, pid
92+
93+
6794
class DCLDClient:
6895
'''
6996
A client for interacting with DCLD using either the REST API or command line interface (CLI).
@@ -248,14 +275,11 @@ def main(use_main_net_dcld: str, use_test_net_dcld: str, use_main_net_http: bool
248275
is_paa = revocation_point["isPAA"]
249276

250277
# 3. && 4. Validate VID/PID
251-
# TODO: Need to support alternate representation of VID/PID (see spec "6.2.2.2. Encoding of Vendor ID and Product ID in subject and issuer fields")
252-
crl_vid = extract_single_integer_attribute(crl_signer_certificate.subject, OID_VENDOR_ID)
253-
crl_pid = extract_single_integer_attribute(crl_signer_certificate.subject, OID_PRODUCT_ID)
278+
crl_vid, crl_pid = parse_vid_pid_from_distinguished_name(crl_signer_certificate.subject)
254279

255280
if is_paa:
256281
if crl_vid is not None:
257282
if vid != crl_vid:
258-
# TODO: Need to log all situations where a continue is called
259283
logging.warning("VID is not CRL VID, continue...")
260284
continue
261285
else:

docs/guides/simulated_device_linux.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Now that the building is completed there is a `chip-app1` binary created. This
6161
binary can be executed on a linux os with test commands.
6262
6363
```
64-
./scripts/tests/yaml/runner.py [TEST NAME] app1
64+
./scripts/tests/chipyaml/runner.py [TEST NAME] app1
6565
```
6666
6767
## Interacting with the simulated app

docs/testing/ChipDeviceCtrlAPI.md

-77
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,6 @@
1010
- [ShutdownAll](#shutdownall)
1111
- [ExpireSessions](#expiresessions)
1212
- [DiscoverCommissionableNodes](#discovercommissionablenodes)
13-
- [DiscoverCommissionableNodesLongDiscriminator](#discovercommissionablenodeslongdiscriminator)
14-
- [DiscoverCommissionableNodesShortDiscriminator](#discovercommissionablenodesshortdiscriminator)
15-
- [DiscoverCommissionableNodesVendor](#discovercommissionablenodesvendor)
16-
- [DiscoverCommissionableNodesDeviceType](#discovercommissionablenodesdevicetype)
17-
- [DiscoverCommissionableNodesCommissioningEnabled](#discovercommissionablenodescommissioningenabled)
18-
- [PrintDiscoveredDevices](#printdiscovereddevices)
19-
- [DiscoverAllCommissioning](#discoverallcommissioning)
2013
- [OpenCommissioningWindow](#opencommissioningwindow)
2114
- [GetFabricIdInternal](#getfabricidinternal)
2215
- [GetNodeIdInternal](#getnodeidinternal)
@@ -174,76 +167,6 @@ This function will always return a list of CommissionableDevice. When
174167
stopOnFirst is set, this function will return when at least one device is
175168
discovered or on timeout.
176169

177-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverCommissionableNodesLongDiscriminator"></a>
178-
179-
#### DiscoverCommissionableNodesLongDiscriminator
180-
181-
```python
182-
def DiscoverCommissionableNodesLongDiscriminator(long_discriminator)
183-
```
184-
185-
Deprecated, use DiscoverCommissionableNodes
186-
187-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverCommissionableNodesShortDiscriminator"></a>
188-
189-
#### DiscoverCommissionableNodesShortDiscriminator
190-
191-
```python
192-
def DiscoverCommissionableNodesShortDiscriminator(short_discriminator)
193-
```
194-
195-
Deprecated, use DiscoverCommissionableNodes
196-
197-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverCommissionableNodesVendor"></a>
198-
199-
#### DiscoverCommissionableNodesVendor
200-
201-
```python
202-
def DiscoverCommissionableNodesVendor(vendor)
203-
```
204-
205-
Deprecated, use DiscoverCommissionableNodes
206-
207-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverCommissionableNodesDeviceType"></a>
208-
209-
#### DiscoverCommissionableNodesDeviceType
210-
211-
```python
212-
def DiscoverCommissionableNodesDeviceType(device_type)
213-
```
214-
215-
Deprecated, use DiscoverCommissionableNodes
216-
217-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverCommissionableNodesCommissioningEnabled"></a>
218-
219-
#### DiscoverCommissionableNodesCommissioningEnabled
220-
221-
```python
222-
def DiscoverCommissionableNodesCommissioningEnabled()
223-
```
224-
225-
Deprecated, use DiscoverCommissionableNodes
226-
227-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.PrintDiscoveredDevices"></a>
228-
229-
#### PrintDiscoveredDevices
230-
231-
```python
232-
def PrintDiscoveredDevices()
233-
```
234-
235-
Deprecated, use GetCommissionableNodes
236-
237-
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.DiscoverAllCommissioning"></a>
238-
239-
#### DiscoverAllCommissioning
240-
241-
```python
242-
def DiscoverAllCommissioning()
243-
```
244-
245-
Deprecated, use DiscoverCommissionableNodes
246-
247170
<a id="chip.ChipDeviceCtrl.ChipDeviceControllerBase.OpenCommissioningWindow"></a>
248171

249172
#### OpenCommissioningWindow

docs/testing/yaml.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -347,12 +347,12 @@ Compile chip-tool:
347347

348348
NOTE: use the target appropriate to your system
349349

350-
[chiptool.py](https://github.com/project-chip/connectedhomeip/blob/master/scripts/tests/yaml/chiptool.py)
350+
[chiptool.py](https://github.com/project-chip/connectedhomeip/blob/master/scripts/tests/chipyaml/chiptool.py)
351351
can be used to run tests against a commissioned DUT (commissioned by chip-tool).
352352
This will start an interactive instance of chip-tool automatically.
353353

354354
```
355-
./scripts/tests/yaml/chiptool.py tests Test_TC_OO_2_1 --server_path ./out/linux-x64-chip-tool/chip-tool
355+
./scripts/tests/chipyaml/chiptool.py tests Test_TC_OO_2_1 --server_path ./out/linux-x64-chip-tool/chip-tool
356356
357357
```
358358

@@ -361,14 +361,14 @@ NOTE: substitute the appropriate test name and chip-tool path as appropriate.
361361
A list of available tests can be generated using:
362362

363363
```
364-
./scripts/tests/yaml/chiptool.py list
364+
./scripts/tests/chipyaml/chiptool.py list
365365
```
366366

367367
Config variables can be passed to chiptool.py after the script by separating
368368
with --
369369

370370
```
371-
./scripts/tests/yaml/chiptool.py tests Test_TC_OO_2_1 --server_path ./out/linux-x64-chip-tool/chip-tool -- nodeId 0x12344321
371+
./scripts/tests/chipyaml/chiptool.py tests Test_TC_OO_2_1 --server_path ./out/linux-x64-chip-tool/chip-tool -- nodeId 0x12344321
372372
373373
```
374374

examples/air-purifier-app/air-purifier-common/air-purifier-app.matter

+3-3
Original file line numberDiff line numberDiff line change
@@ -567,9 +567,9 @@ cluster NetworkCommissioning = 49 {
567567
readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
568568
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
569569
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
570-
readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
571-
readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
572-
readonly attribute optional int16u threadVersion = 10;
570+
provisional readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
571+
provisional readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
572+
provisional readonly attribute optional int16u threadVersion = 10;
573573
readonly attribute command_id generatedCommandList[] = 65528;
574574
readonly attribute command_id acceptedCommandList[] = 65529;
575575
readonly attribute event_id eventList[] = 65530;

examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter

+3-3
Original file line numberDiff line numberDiff line change
@@ -567,9 +567,9 @@ cluster NetworkCommissioning = 49 {
567567
readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
568568
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
569569
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
570-
readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
571-
readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
572-
readonly attribute optional int16u threadVersion = 10;
570+
provisional readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
571+
provisional readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
572+
provisional readonly attribute optional int16u threadVersion = 10;
573573
readonly attribute command_id generatedCommandList[] = 65528;
574574
readonly attribute command_id acceptedCommandList[] = 65529;
575575
readonly attribute event_id eventList[] = 65530;

0 commit comments

Comments
 (0)