Skip to content

Commit 9bbe92a

Browse files
committed
Merge branch 'master' into imdm/4-ember-write-attribute
2 parents a6e2ddb + e8bc7e7 commit 9bbe92a

File tree

285 files changed

+1978
-8724
lines changed

Some content is hidden

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

285 files changed

+1978
-8724
lines changed

.github/dependabot.yml

-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ updates:
5050
- dependency-name: "third_party/nlassert/repo"
5151
- dependency-name: "third_party/nlfaultinjection/repo"
5252
- dependency-name: "third_party/nlio/repo"
53-
- dependency-name: "third_party/nlunit-test/repo"
5453
- dependency-name: "third_party/nxp/repo"
5554
- dependency-name: "third_party/open-iot-sdk/repo"
5655
- dependency-name: "third_party/ot-br-posix/repo"

.github/workflows/examples-linux-arm.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ jobs:
6767
--target linux-arm64-light-rpc-ipv6only-clang \
6868
--target linux-arm64-thermostat-no-ble-clang \
6969
--target linux-arm64-lit-icd-no-ble-clang \
70+
--target linux-arm64-fabric-admin-clang-rpc \
71+
--target linux-arm64-fabric-bridge-no-ble-clang-rpc \
7072
build \
7173
"
7274
- name: Bloat report - chip-tool

.github/workflows/examples-linux-standalone.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -202,21 +202,21 @@ jobs:
202202
run: |
203203
./scripts/run_in_build_env.sh \
204204
"./scripts/build/build_examples.py \
205-
--target linux-x64-fabric-admin \
205+
--target linux-x64-fabric-admin-rpc \
206206
build"
207207
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
208208
linux debug fabric-admin \
209-
out/linux-x64-fabric-admin/fabric-admin \
209+
out/linux-x64-fabric-admin-rpc/fabric-admin \
210210
/tmp/bloat_reports/
211211
- name: Build example Fabric Bridge App
212212
run: |
213213
./scripts/run_in_build_env.sh \
214214
"./scripts/build/build_examples.py \
215-
--target linux-x64-fabric-bridge \
215+
--target linux-x64-fabric-bridge-no-ble-rpc \
216216
build"
217217
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
218218
linux debug fabric-bridge-app \
219-
out/linux-x64-fabric-bridge/fabric-bridge-app \
219+
out/linux-x64-fabric-bridge-no-ble-rpc/fabric-bridge-app \
220220
/tmp/bloat_reports/
221221
- name: Uploading Size Reports
222222
uses: ./.github/actions/upload-size-reports

.github/workflows/examples-linux-tv-casting-app.yaml

+11-1
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,22 @@ jobs:
6363
./scripts/run_in_build_env.sh \
6464
"scripts/examples/gn_build_example.sh examples/tv-casting-app/linux/ out/tv-casting-app chip_casting_simplified=true"
6565
66-
- name: Test casting from Linux tv-casting-app to Linux tv-app
66+
- name:
67+
Test casting from Linux tv-casting-app to Linux tv-app -
68+
Commissionee Generated Passcode
6769
run: |
6870
./scripts/run_in_build_env.sh \
6971
"python3 ./scripts/tests/run_tv_casting_test.py"
7072
timeout-minutes: 2 # Comment this out to debug if GitHub Action times out.
7173

74+
- name:
75+
Test casting from Linux tv-casting-app to Linux tv-app -
76+
Commissioner Generated Passcode
77+
run: |
78+
./scripts/run_in_build_env.sh \
79+
"python3 ./scripts/tests/run_tv_casting_test.py --commissioner-generated-passcode=True"
80+
timeout-minutes: 2 # Comment this out to debug if GitHub Action times out.
81+
7282
- name: Uploading Size Reports
7383
uses: ./.github/actions/upload-size-reports
7484
if: ${{ !env.ACT }}

.github/workflows/tests.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,7 @@ jobs:
548548
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_TestEventTrigger.py'
549549
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TestBatchInvoke.py'
550550
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TestGroupTableReports.py'
551+
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_OPCREDS_3_1.py'
551552
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_OPCREDS_3_2.py'
552553
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_OPSTATE_2_1.py'
553554
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_OPSTATE_2_2.py'
@@ -576,7 +577,6 @@ jobs:
576577
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --script "src/python_testing/TestMatterTestingSupport.py" --script-args "--trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
577578
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --script "src/python_testing/TestSpecParsingSupport.py" --script-args "--trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
578579
scripts/run_in_python_env.sh out/venv './scripts/tests/TestTimeSyncTrustedTimeSourceRunner.py'
579-
scripts/run_in_python_env.sh out/venv './src/python_testing/test_testing/test_TC_DA_1_2.py'
580580
scripts/run_in_python_env.sh out/venv './src/python_testing/test_testing/test_TC_ICDM_2_1.py'
581581
scripts/run_in_python_env.sh out/venv 'python3 ./src/python_testing/TestIdChecks.py'
582582

.gitmodules

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,6 @@
66
path = third_party/nlio/repo
77
url = https://github.com/nestlabs/nlio.git
88
branch = master
9-
[submodule "nlunit-test"]
10-
path = third_party/nlunit-test/repo
11-
url = https://github.com/nestlabs/nlunit-test.git
12-
branch = master
139
[submodule "mbedtls"]
1410
path = third_party/mbedtls/repo
1511
url = https://github.com/ARMmbed/mbedtls.git
@@ -325,3 +321,8 @@
325321
url = https://github.com/Infineon/optiga-trust-m.git
326322
branch = matter_support
327323
platforms = infineon
324+
[submodule "third_party/nxp/nxp_matter_support"]
325+
path = third_party/nxp/nxp_matter_support
326+
url = https://github.com/NXP/nxp_matter_support.git
327+
branch = master
328+
platforms = nxp

.restyled.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ exclude:
5555
- "third_party/nlassert/repo/**/*" # from here down built with $ awk '/path =/ {print $3 "/**/*"}' .gitmodules
5656
- "third_party/nlfaultinjection/repo/**/*"
5757
- "third_party/nlio/repo/**/*"
58-
- "third_party/nlunit-test/repo/**/*"
5958
- "third_party/mbedtls/repo/**/*"
6059
- "examples/common/QRCode/repo/**/*"
6160
- "examples/common/m5stack-tft/repo/**/*"

build_overrides/nxp_sdk.gni

+5-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,9 @@
1414

1515
declare_args() {
1616
# Root directory for NXP SDKs.
17-
nxp_sdk_build_root = "//third_party/nxp"
17+
nxp_sdk_matter_support_root = "//third_party/nxp/nxp_matter_support"
18+
}
19+
20+
declare_args() {
21+
nxp_sdk_build_root = "${nxp_sdk_matter_support_root}/gn_build"
1822
}

config/ameba/chip.cmake

-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ list(
6363
${CHIP_ROOT}/src/app
6464
${CHIP_ROOT}/third_party/nlassert/repo/include
6565
${CHIP_ROOT}/third_party/nlio/repo/include
66-
${CHIP_ROOT}/third_party/nlunit-test/repo/src
6766
)
6867

6968
execute_process(

docs/guides/openiotsdk_unit_tests.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ The list of currently supported Matter's component tests:
2020

2121
```
2222
accesstest
23+
AppDataModelTests
2324
AppTests
2425
ASN1Tests
2526
BDXTests
2627
ChipCryptoTests
28+
ControllerDataModelTests
2729
CoreTests
2830
CredentialsTest
29-
DataModelTests
3031
ICDServerTests
3132
InetLayerTests
3233
MdnsTests

docs/testing/python.md

+65-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ Python tests located in src/python_testing
1919

2020
## Writing Python tests
2121

22+
- Defining arguments in the test script
23+
- In order to streamline the configuration and execution of tests, it is
24+
essential to define arguments at the top of the test script. This
25+
section should include various parameters and their respective values,
26+
which will guide the test runner on how to execute the tests.
2227
- All test classes inherit from MatterBaseTest in
2328
[matter_testing_support.py](https://github.com/project-chip/connectedhomeip/blob/master/src/python_testing/matter_testing_support.py)
2429
- support for commissioning using the python controller
@@ -36,11 +41,17 @@ Python tests located in src/python_testing
3641
- Use Mobly assertions for failing tests
3742
- self.step() along with a steps\_ function to mark test plan steps for cert
3843
tests
39-
-
4044

4145
### A simple test
4246

4347
```
48+
# test-runner-runs: run1
49+
# test-runner-run/run1/app: ${ALL_CLUSTERS_APP}
50+
# test-runner-run/run1/factoryreset: True
51+
# test-runner-run/run1/quiet: True
52+
# test-runner-run/run1/app-args: --discriminator 1234 --KVS kvs1 --trace-to json:${TRACE_APP}.json
53+
# test-runner-run/run1/script-args: --storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --trace-to json:${TRACE_TEST_JSON}.json --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
54+
4455
class TC_MYTEST_1_1(MatterBaseTest):
4556
4657
@async_test_body
@@ -74,6 +85,59 @@ The default_matter_test_main() function is used to run the test on the command
7485
line. These two lines should appear verbatim at the bottom of every python test
7586
file.
7687

88+
## Defining the test arguments
89+
90+
Below is the format:
91+
92+
```
93+
# test-runner-runs: <run_identifier>
94+
# test-runner-run/<run_identifier>/app: ${TYPE_OF_APP}
95+
# test-runner-run/<run_identifier>/factoryreset: <True|False>
96+
# test-runner-run/<run_identifier>/quiet: <True|False>
97+
# test-runner-run/<run_identifier>/app-args: <app_arguments>
98+
# test-runner-run/<run_identifier>/script-args: <script_arguments>
99+
```
100+
101+
### Description of Parameters
102+
103+
- test-runner-runs: Specifies the identifier for the run. This can be any
104+
unique identifier.
105+
106+
- Example: run1
107+
108+
- test-runner-run/<run_identifier>/app: Indicates the application to be used
109+
in the test. Different app types as needed could be referenced from section
110+
[name: Generate an argument environment file ] of the file
111+
[.github/workflows/tests.yaml](https://github.com/project-chip/connectedhomeip/blob/master/.github/workflows/tests.yaml)
112+
113+
- Example: \${TYPE_OF_APP}
114+
115+
- test-runner-run/<run_identifier>/factoryreset: Determines whether a factory
116+
reset should be performed before the test.
117+
118+
- Example: True
119+
120+
- test-runner-run/<run_identifier>/quiet: Sets the verbosity level of the test
121+
run. When set to True, the test run will be quieter.
122+
123+
- Example: True
124+
125+
- test-runner-run/<run_identifier>/app-args: Specifies the arguments to be
126+
passed to the application during the test.
127+
128+
- Example: --discriminator 1234 --KVS kvs1 --trace-to
129+
json:\${TRACE_APP}.json
130+
131+
- test-runner-run/<run_identifier>/script-args: Specifies the arguments to be
132+
passed to the test script.
133+
- Example: --storage-path admin_storage.json --commissioning-method
134+
on-network --discriminator 1234 --passcode 20202021 --trace-to
135+
json:${TRACE_TEST_JSON}.json --trace-to perfetto:${TRACE_TEST_PERFETTO}.perfetto
136+
137+
This structured format ensures that all necessary configurations are clearly
138+
defined and easily understood, allowing for consistent and reliable test
139+
execution.
140+
77141
## Cluster Codegen
78142

79143
- [Objects.py](https://github.com/project-chip/connectedhomeip/blob/master/src/controller/python/chip/clusters/Objects.py)

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
241241
readonly attribute optional char_string<32> serialNumber = 15;
242242
attribute access(write: manage) optional boolean localConfigDisabled = 16;
243243
readonly attribute optional boolean reachable = 17;
244-
readonly attribute optional char_string<32> uniqueID = 18;
244+
readonly attribute char_string<32> uniqueID = 18;
245245
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
246246
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
247247
readonly attribute int32u specificationVersion = 21;

examples/air-purifier-app/ameba/chip_main.cmake

-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ target_include_directories(
204204
${chip_dir}/src/app/server/
205205
${chip_dir}/src/controller/data_model
206206
${chip_dir}/third_party/nlio/repo/include/
207-
${chip_dir}/third_party/nlunit-test/repo/src
208207
)
209208

210209
if (matter_enable_rpc)

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
241241
readonly attribute optional char_string<32> serialNumber = 15;
242242
attribute access(write: manage) optional boolean localConfigDisabled = 16;
243243
readonly attribute optional boolean reachable = 17;
244-
readonly attribute optional char_string<32> uniqueID = 18;
244+
readonly attribute char_string<32> uniqueID = 18;
245245
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
246246
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
247247
readonly attribute int32u specificationVersion = 21;

examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

+1-1
Original file line numberDiff line numberDiff line change
@@ -820,7 +820,7 @@ cluster BasicInformation = 40 {
820820
readonly attribute optional char_string<32> serialNumber = 15;
821821
attribute access(write: manage) optional boolean localConfigDisabled = 16;
822822
readonly attribute optional boolean reachable = 17;
823-
readonly attribute optional char_string<32> uniqueID = 18;
823+
readonly attribute char_string<32> uniqueID = 18;
824824
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
825825
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
826826
readonly attribute int32u specificationVersion = 21;

examples/all-clusters-app/ameba/chip_main.cmake

-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ target_include_directories(
254254
${chip_dir}/src/app/server/
255255
${chip_dir}/src/controller/data_model
256256
${chip_dir}/third_party/nlio/repo/include/
257-
${chip_dir}/third_party/nlunit-test/repo/src
258257
)
259258

260259
if (matter_enable_rpc)

examples/all-clusters-app/nxp/rt/rw61x/BUILD.gn

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ declare_args() {
4949
setup_discriminator = 3840
5050
}
5151

52-
example_platform_dir = "${chip_root}/examples/platform/nxp/${nxp_platform}"
52+
example_platform_dir =
53+
"${nxp_sdk_matter_support_root}/examples/platform/${nxp_platform}"
5354
common_example_dir = "${chip_root}/examples/platform/nxp/common"
5455

5556
if (tcp_download == true && wifi_connect == true) {

examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter

+2-1
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,7 @@ cluster BasicInformation = 40 {
713713
readonly attribute optional char_string<32> serialNumber = 15;
714714
attribute access(write: manage) optional boolean localConfigDisabled = 16;
715715
readonly attribute optional boolean reachable = 17;
716-
readonly attribute optional char_string<32> uniqueID = 18;
716+
readonly attribute char_string<32> uniqueID = 18;
717717
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
718718
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
719719
readonly attribute int32u specificationVersion = 21;
@@ -5983,6 +5983,7 @@ endpoint 0 {
59835983
callback attribute hardwareVersionString;
59845984
callback attribute softwareVersion;
59855985
callback attribute softwareVersionString;
5986+
callback attribute uniqueID;
59865987
callback attribute capabilityMinima;
59875988
callback attribute specificationVersion;
59885989
callback attribute maxPathsPerInvoke;

0 commit comments

Comments
 (0)