@@ -136,23 +136,26 @@ jobs:
136
136
run : defaults delete com.apple.dt.xctest.tool
137
137
continue-on-error : true
138
138
- name : Run Framework Tests
139
- timeout-minutes : 20
139
+ timeout-minutes : 30
140
140
# For now disable unguarded-availability-new warnings because we
141
141
# internally use APIs that we are annotating as only available on
142
142
# new enough versions. Maybe we should change out deployment
143
143
# target versions instead?
144
144
run : |
145
145
mkdir -p /tmp/darwin/framework-tests
146
146
../../../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) &
147
- # Make each ota-requestor is using a different port, discriminator, and KVS from
147
+ # Make sure each ota-requestor is using a different port, discriminator, and KVS from
148
148
# all-clusters-app and from other requestors.
149
149
#
150
150
# And a different port from the test harness too; the test harness uses port 5541.
151
151
../../../out/debug/chip-ota-requestor-app --interface-id -1 --secured-device-port 5542 --discriminator 1111 --KVS /tmp/chip-ota-requestor-kvs1 --otaDownloadPath /tmp/chip-ota-requestor-downloaded-image1 --autoApplyImage > >(tee /tmp/darwin/framework-tests/ota-requestor-app-1.log) 2> >(tee /tmp/darwin/framework-tests/ota-requestor-app-err-1.log >&2) &
152
152
../../../out/debug/chip-ota-requestor-app --interface-id -1 --secured-device-port 5543 --discriminator 1112 --KVS /tmp/chip-ota-requestor-kvs2 --otaDownloadPath /tmp/chip-ota-requestor-downloaded-image2 --autoApplyImage > >(tee /tmp/darwin/framework-tests/ota-requestor-app-2.log) 2> >(tee /tmp/darwin/framework-tests/ota-requestor-app-err-2.log >&2) &
153
- # UndefinedBehaviorSanitizer is enabled in the Xcode scheme, so the code in Matter.framework gets instrumented ,
153
+ # -enableUndefinedBehaviorSanitizer instruments the code in Matter.framework,
154
154
# but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_UBSAN=YES
155
- xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-incomplete-umbrella -Wno-unguarded-availability-new' CHIP_IS_UBSAN=YES > >(tee /tmp/darwin/framework-tests/darwin-tests.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-err.log >&2)
155
+ 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-incomplete-umbrella -Wno-unguarded-availability-new' CHIP_IS_UBSAN=YES > >(tee /tmp/darwin/framework-tests/darwin-tests-asan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-asan-err.log >&2)
156
+ # -enableThreadSanitizer instruments the code in Matter.framework,
157
+ # but to instrument the code in the underlying libCHIP we need to pass CHIP_IS_TSAN=YES
158
+ xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx -enableThreadSanitizer YES OTHER_CFLAGS='${inherited} -Werror -Wconversion -Wno-incomplete-umbrella -Wno-unguarded-availability-new' CHIP_IS_TSAN=YES > >(tee /tmp/darwin/framework-tests/darwin-tests-tsan.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-tsan-err.log >&2)
156
159
working-directory : src/darwin/Framework
157
160
- name : Uploading log files
158
161
uses : actions/upload-artifact@v3
0 commit comments