Skip to content

Commit 20046dd

Browse files
Merge branch 'master' into fix/python-subscripiton
2 parents de2eb88 + 28c78af commit 20046dd

File tree

326 files changed

+10536
-1611
lines changed

Some content is hidden

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

326 files changed

+10536
-1611
lines changed

.clang-tidy

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Checks: >
3535
-clang-analyzer-cplusplus.Move,
3636
-clang-analyzer-deadcode.DeadStores,
3737
-clang-analyzer-nullability.NullablePassedToNonnull,
38+
-clang-analyzer-optin.core.EnumCastOutOfRange,
3839
-clang-analyzer-optin.cplusplus.UninitializedObject,
3940
-clang-analyzer-optin.cplusplus.VirtualCall,
4041
-clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker,

.github/.wordlist.txt

+1-31
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,19 @@ abfb
1414
ABI
1515
ABIs
1616
ables
17-
AccessControl
18-
AccessControlEntry
17+
accesscontrol
1918
accessor
2019
Accessors
21-
AccountLogin
2220
acdbc
2321
ack
2422
ACKed
2523
ACL
2624
ACLs
2725
actdiag
28-
AdapterAddress
29-
AdapterName
3026
adb
3127
AddNOC
32-
AddOrUpdateThreadNetwork
33-
AddOrUpdateWiFiNetwork
3428
addr
35-
AddResponse
36-
AddThreadNetwork
37-
AddStatus
3829
adk
39-
AdministratorCommissioning
4030
adoc
4131
adr
4232
AdvAutonomous
@@ -48,7 +38,6 @@ AE
4838
aef
4939
AES
5040
AIDL
51-
AlarmCode
5241
algs
5342
alloc
5443
Ameba
@@ -61,15 +50,12 @@ AnnounceOTAProvider
6150
AnnounceOTAProviderRequest
6251
APIs
6352
apk
64-
AppConfig
6553
AppImpl
6654
AppleTV
6755
appliable
68-
ApplianceControl
6956
applianceeventsandalert
7057
ApplianceIdentification
7158
appliancestatistics
72-
ApplicationBasic
7359
ApplicationId
7460
ApplicationIdentifier
7561
ApplicationLauncher
@@ -171,7 +157,6 @@ BRD
171157
breakpoint
172158
bredr
173159
BridgedDeviceBasicInformation
174-
bridgedLightEndpoint
175160
bringup
176161
BroadcastReceiver
177162
BromateConcentrationMeasurement
@@ -259,9 +244,6 @@ CLIs
259244
cloudbuild
260245
CLRF
261246
clusterAttrs
262-
clusterId
263-
clusterList
264-
clusterListName
265247
ClusterName
266248
ClusterObjectTests
267249
ClusterRevision
@@ -315,7 +297,6 @@ ContentApp's
315297
ContentAppPlatform
316298
ContentLaunch
317299
ContentLauncher
318-
continuousHinting
319300
contrib
320301
controllee
321302
conv
@@ -382,7 +363,6 @@ DefaultOTARequestor
382363
DefaultOTARequestorDriver
383364
DefaultOTARequestorStorage
384365
DefaultSuccess
385-
defaultValue
386366
definedValue
387367
DehumidificationControl
388368
DelayedActionTime
@@ -415,9 +395,7 @@ DeviceLayer
415395
DeviceNetworkProvisioningDelegate
416396
DeviceNetworkProvisioningDelegateImpl
417397
DevicePairingDelegate
418-
deviceSoftwareVersionModel
419398
DeviceTemperatureConfiguration
420-
deviceType
421399
DevKitC
422400
DevKitM
423401
devtype
@@ -511,8 +489,6 @@ EnableNetwork
511489
EnableWiFiNetwork
512490
endian
513491
EndpointId
514-
endpointName
515-
endsWith
516492
eno
517493
entrypoint
518494
enum
@@ -580,7 +556,6 @@ FlowMeasurement
580556
FluorideConcentrationMeasurement
581557
focusable
582558
forkpty
583-
formatOnSave
584559
FOTA
585560
FreeRTOS
586561
FreeRTOSConfig
@@ -614,7 +589,6 @@ GetIP
614589
getManualTests
615590
GetSafeAttributePersistenceProvider
616591
getstarted
617-
getTests
618592
GH
619593
ghcr
620594
ghp
@@ -639,8 +613,6 @@ graphviz
639613
Groupcast
640614
GroupId
641615
GroupKeyManagement
642-
groupKeySecurityPolicy
643-
groupKeySetID
644616
groupsettings
645617
gsdk
646618
gtk
@@ -694,8 +666,6 @@ ifconfig
694666
ifdef
695667
ifdefs
696668
IGMP
697-
ignoreApplyUpdate
698-
ignoreQueryImage
699669
ihex
700670
IlluminanceMeasurement
701671
IM

.github/workflows/darwin.yaml

+9-12
Original file line numberDiff line numberDiff line change
@@ -103,21 +103,18 @@ jobs:
103103
# target versions instead?
104104
run: |
105105
mkdir -p /tmp/darwin/framework-tests
106-
../../../out/debug/chip-all-clusters-app --interface-id -1 > >(tee /tmp/darwin/framework-tests/all-cluster-app.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-err.log >&2) &
106+
echo "This is a simple log" > /tmp/darwin/framework-tests/end_user_support_log.txt
107+
../../../out/debug/chip-all-clusters-app --interface-id -1 --end_user_support_log /tmp/darwin/framework-tests/end_user_support_log.txt > >(tee /tmp/darwin/framework-tests/all-cluster-app.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-err.log >&2) &
107108
../../../out/debug/chip-all-clusters-app --interface-id -1 --dac_provider ../../../credentials/development/commissioner_dut/struct_cd_origin_pid_vid_correct/test_case_vector.json --product-id 32768 --discriminator 3839 --secured-device-port 5539 --KVS /tmp/chip-all-clusters-app-kvs2 > >(tee /tmp/darwin/framework-tests/all-cluster-app-origin-vid.log) 2> >(tee /tmp/darwin/framework-tests/all-cluster-app-origin-vid-err.log >&2) &
108-
# Disable BLE because the app does not have the permission to use
109-
# it and that may crash the CI.
110-
#
111-
# -enableUndefinedBehaviorSanitizer instruments the code in Matter.framework,
112-
# but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_UBSAN=YES
113-
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1'> >(tee /tmp/darwin/framework-tests/darwin-tests-asan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-err.log >&2)
109+
# Disable BLE (CHIP_IS_BLE=NO) because the app does not have the permission to use it and that may crash the CI.
110+
111+
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1'> >(tee /tmp/darwin/framework-tests/darwin-tests-asan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-err.log >&2)
114112
# And the same thing, but with MTR_PER_CONTROLLER_STORAGE_ENABLED turned off, so we test that it does not break for now.
115-
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1 MTR_PER_CONTROLLER_STORAGE_ENABLED=0' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage-err.log >&2)
113+
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1 MTR_PER_CONTROLLER_STORAGE_ENABLED=0' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-controller-storage-err.log >&2)
116114
# And the same thing, but with MTR_NO_AVAILABILITY not turned on. This requires -Wno-unguarded-availability-new to avoid availability errors.
117-
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-unguarded-availability-new' CHIP_IS_UBSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited}' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations-err.log >&2)
118-
# -enableThreadSanitizer instruments the code in Matter.framework,
119-
# but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_TSAN=YES
120-
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableThreadSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_TSAN=YES CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1' > >(tee /tmp/darwin/framework-tests/darwin-tests-tsan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-tsan-err.log >&2)
115+
TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1 xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableAddressSanitizer YES -enableUndefinedBehaviorSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-unguarded-availability-new' CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited}' > >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-with-availability-annotations-err.log >&2)
116+
117+
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableThreadSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion' CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} MTR_NO_AVAILABILITY=1' > >(tee /tmp/darwin/framework-tests/darwin-tests-tsan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-tsan-err.log >&2)
121118
working-directory: src/darwin/Framework
122119
- name: Build Matter TV Casting Bridge
123120
run: |

.github/workflows/lint.yml

-6
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,10 @@ jobs:
9595
--known-failure app/att-storage.h \
9696
--known-failure app/CommandHandler.h \
9797
--known-failure app/CommandHandlerInterface.h \
98-
--known-failure app/CommandSender.h \
9998
--known-failure app/CommandSenderLegacyCallback.h \
100-
--known-failure app/CompatEnumNames.h \
10199
--known-failure app/data-model/ListLargeSystemExtensions.h \
102100
--known-failure app/EventHeader.h \
103101
--known-failure app/EventLoggingTypes.h \
104-
--known-failure app/InteractionModelHelper.h \
105-
--known-failure app/ReadClient.h \
106102
--known-failure app/ReadHandler.h \
107103
--known-failure app/ReadPrepareParams.h \
108104
--known-failure app/reporting/tests/MockReportScheduler.cpp \
@@ -117,7 +113,6 @@ jobs:
117113
--known-failure app/util/attribute-table.h \
118114
--known-failure app/util/binding-table.cpp \
119115
--known-failure app/util/binding-table.h \
120-
--known-failure app/util/common.h \
121116
--known-failure app/util/config.h \
122117
--known-failure app/util/DataModelHandler.cpp \
123118
--known-failure app/util/DataModelHandler.h \
@@ -132,7 +127,6 @@ jobs:
132127
--known-failure app/util/odd-sized-integers.h \
133128
--known-failure app/util/util.cpp \
134129
--known-failure app/util/util.h \
135-
--known-failure app/WriteClient.h \
136130
--known-failure app/WriteHandler.h \
137131
--known-failure lib/core/CHIPVendorIdentifiers.hpp \
138132
--known-failure platform/DeviceSafeQueue.cpp \

.github/workflows/spell.yml

+11-10
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,20 @@ on:
2525
- ".github/.wordlist.txt"
2626

2727
jobs:
28-
check-reviewdog:
29-
name: Check Spelling - reviewdog
30-
runs-on: ubuntu-latest
31-
steps:
32-
- name: Checkout
33-
uses: actions/checkout@v4
34-
- uses: reviewdog/action-misspell@v1
35-
with:
36-
github_token: ${{ secrets.GITHUB_TOKEN }}
28+
# Seems redundant; removed as pyspelling is customized while this is not
29+
# check-reviewdog:
30+
# name: Check Spelling - reviewdog
31+
# runs-on: ubuntu-latest
32+
# steps:
33+
# - name: Checkout
34+
# uses: actions/checkout@v4
35+
# - uses: reviewdog/action-misspell@v1
36+
# with:
37+
# github_token: ${{ secrets.GITHUB_TOKEN }}
3738
check-spellcheck:
3839
name: Check Spelling - pyspelling
3940
runs-on: ubuntu-latest
4041
steps:
4142
- name: Checkout
4243
uses: actions/checkout@v4
43-
- uses: igsekor/pyspelling-any@v1.0.4
44+
- uses: rojopolis/spellcheck-github-actions@0.36.0

.spellcheck.yml

+1
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,4 @@ matrix:
6868
- '**/*.md|!third_party/**|!examples/common/**/repo/**|!docs/ERROR_CODES.md|!docs/clusters.md|!docs/testing/yaml_schema.md|!docs/testing/yaml_pseudocluster.md'
6969
aspell:
7070
ignore-case: true
71+
camel-case: true

BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,9 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
182182
deps += [
183183
"${chip_root}/src/app/server/java",
184184
"${chip_root}/src/controller/java",
185+
"${chip_root}/src/controller/java:jsontlv",
185186
"${chip_root}/src/controller/java:onboarding_payload",
187+
"${chip_root}/src/controller/java:tlv",
186188
"${chip_root}/src/platform/android:java",
187189
]
188190
}

build/chip/chip_codegen.gni

+3-52
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ template("_chip_build_time_zapgen") {
152152
_output_subdir = "zap-generated"
153153
}
154154

155-
pw_python_action("${_name}_zap_pregen") {
155+
pw_python_action("${_name}_zap") {
156156
script = "${chip_root}/scripts/tools/zap/generate.py"
157157

158158
# TODO: this seems to touch internals. Is this ok? speeds up builds!
@@ -165,7 +165,7 @@ template("_chip_build_time_zapgen") {
165165
"--templates",
166166
_template_path,
167167
"--output-dir",
168-
rebase_path(target_gen_dir) + "/zap_pregen/" + _output_subdir,
168+
rebase_path(target_gen_dir) + "/zapgen/" + _output_subdir,
169169

170170
# TODO: lock file support should be removed as this serializes zap
171171
# (slower), however this is currently done because on Darwin zap startup
@@ -188,54 +188,10 @@ template("_chip_build_time_zapgen") {
188188

189189
sources = [ _idl_file ]
190190

191-
outputs = []
192-
foreach(name, invoker.outputs) {
193-
outputs += [ "${target_gen_dir}/zap_pregen/${name}" ]
194-
}
195-
196-
forward_variables_from(invoker, [ "prune_outputs" ])
197-
if (defined(prune_outputs)) {
198-
foreach(name, prune_outputs) {
199-
outputs += [ "${target_gen_dir}/zap_pregen/${name}" ]
200-
}
201-
}
202-
}
203-
204-
# This action ensures that any "extra" files generated by zap codegen
205-
# are actually deleted.
206-
#
207-
# This is to avoid double-codegen of configurations like endpoint config
208-
# or access credentials being generated for both "controller client" and
209-
# application-specific
210-
pw_python_action("${_name}_files") {
211-
# TODO: this seems to touch internals. Is this ok? speeds up builds!
212-
_pw_internal_run_in_venv = false
213-
214-
script = "${chip_root}/scripts/tools/zap/prune_outputs.py"
215-
216-
_keep_file = rebase_path("${target_gen_dir}/${_name}.keep.outputs")
217-
write_file(_keep_file, invoker.outputs, "list lines")
218-
219-
args = [
220-
"--keep",
221-
_keep_file,
222-
"--input-dir",
223-
rebase_path("${target_gen_dir}/zap_pregen/"),
224-
"--output-dir",
225-
rebase_path("${target_gen_dir}/zapgen/"),
226-
]
227-
228-
inputs = []
229-
foreach(name, invoker.outputs) {
230-
inputs += [ "${target_gen_dir}/zap_pregen/${name}" ]
231-
}
232-
233191
outputs = []
234192
foreach(name, invoker.outputs) {
235193
outputs += [ "${target_gen_dir}/zapgen/${name}" ]
236194
}
237-
238-
deps = [ ":${_name}_zap_pregen" ]
239195
}
240196

241197
source_set(_name) {
@@ -255,10 +211,7 @@ template("_chip_build_time_zapgen") {
255211
if (!defined(public_deps)) {
256212
public_deps = []
257213
}
258-
public_deps += [
259-
":${_name}_files",
260-
":${_name}_zap_pregen",
261-
]
214+
public_deps += [ ":${_name}_zap" ]
262215
}
263216
}
264217

@@ -420,7 +373,6 @@ template("chip_zapgen") {
420373
"input",
421374
"outputs",
422375
"public_configs",
423-
"prune_outputs",
424376
])
425377
}
426378
} else {
@@ -482,7 +434,6 @@ template("chip_zapgen") {
482434
[
483435
"deps",
484436
"public_configs",
485-
"prune_outputs",
486437
])
487438
if (!defined(public_configs)) {
488439
public_configs = []

build/config/compiler/BUILD.gn

+5
Original file line numberDiff line numberDiff line change
@@ -395,11 +395,16 @@ declare_args() {
395395
}
396396

397397
config("sanitize_address") {
398+
defines = []
398399
cflags = [
399400
"-fsanitize=address",
400401
"-fno-omit-frame-pointer",
401402
]
402403
ldflags = cflags
404+
405+
if (target_os == "mac" || target_os == "ios") {
406+
defines += [ "_LIBCPP_HAS_NO_ASAN" ]
407+
}
403408
}
404409

405410
config("sanitize_thread") {

0 commit comments

Comments
 (0)