Skip to content

Commit 19c49a8

Browse files
hicklinrestyled-commitsplauric
authored
Run RVC test against the RVC example app in CI. (project-chip#32079)
* Run RVC test against the RVC example app in CI. * Restyled by gn * Added the RVC example app to the built examples. * Removed -app to make things consistent with other appliences. * Added missing copy instructons and fixed typos in the rvc app name. * Added the rvc-app pics values to the ci-pics-values since the tests are run against the rvc-app and there isn't currently a way to select a different YICS file when running the yaml tests. * Added missing PICS to the ci-pics-values. * Fixed typos in the tests workflow. * Update src/app/tests/suites/certification/ci-pics-values Co-authored-by: Petru Lauric <81822411+plauric@users.noreply.github.com> * Added 1 ms sleep after sending pipe commands form the test scripts. This removes the test flakyness in CI. * Restyled by autopep8 * Restyled by isort * Removed the RVC and MWO apps from the cirque tests as they are not needed following review comments. * Added todo with link to issue. --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Petru Lauric <81822411+plauric@users.noreply.github.com>
1 parent a3d0a86 commit 19c49a8

File tree

18 files changed

+180
-70
lines changed

18 files changed

+180
-70
lines changed

.github/workflows/darwin-tests.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
--target darwin-x64-bridge-${BUILD_VARIANT} \
101101
--target darwin-x64-lit-icd-${BUILD_VARIANT} \
102102
--target darwin-x64-microwave-oven-${BUILD_VARIANT} \
103+
--target darwin-x64-rvc-${BUILD_VARIANT} \
103104
build \
104105
--copy-artifacts-to objdir-clone \
105106
"
@@ -120,6 +121,7 @@ jobs:
120121
--tv-app ./out/darwin-x64-tv-app-${BUILD_VARIANT}/chip-tv-app \
121122
--bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
122123
--microwave-oven-app ./out/darwin-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
124+
--rvc-app ./out/darwin-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
123125
"
124126
- name: Run OTA Test
125127
run: |

.github/workflows/tests.yaml

+16-2
Large diffs are not rendered by default.

BUILD.gn

+12
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,10 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
363363
enable_linux_lit_icd_app_build =
364364
enable_default_builds && (host_os == "linux" || host_os == "mac")
365365

366+
# Build the Linux RVC app example.
367+
enable_linux_rvc_app_build =
368+
enable_default_builds && (host_os == "linux" || host_os == "mac")
369+
366370
# Build the cc13x2x7_26x2x7 lock app example.
367371
enable_cc13x2x7_26x2x7_lock_app_build = enable_ti_simplelink_builds
368372

@@ -744,6 +748,14 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
744748
extra_build_deps += [ ":genio_shell_app" ]
745749
}
746750

751+
if (enable_linux_rvc_app_build) {
752+
group("linux_rvc_app") {
753+
deps = [ "${chip_root}/examples/rvc-app/linux(${standalone_toolchain})" ]
754+
}
755+
756+
extra_build_deps += [ ":linux_rvc_app" ]
757+
}
758+
747759
group("default") {
748760
deps = extra_build_deps + builds
749761
}

integrations/docker/images/chip-cert-bins/Dockerfile

+4
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ RUN case ${TARGETPLATFORM} in \
194194
--target linux-x64-lit-icd-ipv6only \
195195
--target linux-x64-energy-management-ipv6only \
196196
--target linux-x64-microwave-oven-ipv6only \
197+
--target linux-x64-rvc-ipv6only \
197198
build \
198199
&& mv out/linux-x64-chip-tool-ipv6only-platform-mdns/chip-tool out/chip-tool \
199200
&& mv out/linux-x64-shell-ipv6only-platform-mdns/chip-shell out/chip-shell \
@@ -213,6 +214,7 @@ RUN case ${TARGETPLATFORM} in \
213214
&& mv out/linux-x64-lit-icd-ipv6only/lit-icd-app out/lit-icd-app \
214215
&& mv out/linux-x64-energy-management-ipv6only/chip-energy-management-app out/chip-energy-management-app \
215216
&& mv out/linux-x64-microwave-oven-ipv6only/chip-microwave-oven-app out/chip-microwave-oven-app \
217+
&& mv out/linux-x64-rvc-ipv6only/chip-rvc-app out/chip-rvc-app \
216218
;; \
217219
"linux/arm64")\
218220
set -x \
@@ -255,6 +257,7 @@ RUN case ${TARGETPLATFORM} in \
255257
&& mv out/linux-arm64-lit-icd-ipv6only/lit-icd-app out/lit-icd-app \
256258
&& mv out/linux-arm64-energy-management-ipv6only/chip-energy-management-app out/chip-energy-management-app \
257259
&& mv out/linux-arm64-microwave-oven-ipv6only/chip-microwave-oven-app out/chip-microwave-oven-app \
260+
&& mv out/linux-arm64-rvc-ipv6only/chip-rvc-app out/chip-rvc-app \
258261
;; \
259262
*) ;; \
260263
esac
@@ -287,6 +290,7 @@ COPY --from=chip-build-cert-bins /root/connectedhomeip/out/chip-app1 chip-app1
287290
COPY --from=chip-build-cert-bins /root/connectedhomeip/out/lit-icd-app lit-icd-app
288291
COPY --from=chip-build-cert-bins /root/connectedhomeip/out/chip-energy-management-app chip-energy-management-app
289292
COPY --from=chip-build-cert-bins /root/connectedhomeip/out/chip-microwave-oven-app chip-microwave-oven-app
293+
COPY --from=chip-build-cert-bins /root/connectedhomeip/out/chip-rvc-app chip-rvc-app
290294

291295
# Stage 3.1: Setup the Matter Python environment
292296
COPY --from=chip-build-cert-bins /root/connectedhomeip/out/python_lib python_lib

scripts/build/builders/host.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,8 @@ def OutputNames(self):
234234
yield 'refrigerator-app'
235235
yield 'refrigerator-app.map'
236236
elif self == HostApp.RVC:
237-
yield 'rvc-app'
238-
yield 'rvc-app.map'
237+
yield 'chip-rvc-app'
238+
yield 'chip-rvc-app.map'
239239
elif self == HostApp.AIR_PURIFIER:
240240
yield 'air-purifier-app'
241241
yield 'air-purifier-app.map'

scripts/build/gn_gen_cirque.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ echo "Setup build environment"
3636
source "./scripts/activate.sh"
3737

3838
echo "Build: GN configure"
39-
gn --root="$CHIP_ROOT" gen --check --fail-on-unused-args out/debug --args='target_os="all"'"chip_build_tests=false chip_enable_wifi=false chip_im_force_fabric_quota_check=true enable_default_builds=false enable_host_gcc_build=true enable_standalone_chip_tool_build=true enable_linux_all_clusters_app_build=true enable_linux_lighting_app_build=true enable_microwave_oven_app_build=true enable_linux_lit_icd_app_build=true"
39+
gn --root="$CHIP_ROOT" gen --check --fail-on-unused-args out/debug --args='target_os="all"'"chip_build_tests=false chip_enable_wifi=false chip_im_force_fabric_quota_check=true enable_default_builds=false enable_host_gcc_build=true enable_standalone_chip_tool_build=true enable_linux_all_clusters_app_build=true enable_linux_lighting_app_build=true enable_linux_lit_icd_app_build=true"
4040

4141
echo "Build: Ninja build"
4242
time ninja -C out/debug all check

scripts/tests/chiptest/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,8 @@ def target_for_name(name: str):
313313
return TestTarget.LIT_ICD
314314
if name.startswith("Test_TC_MWOCTRL_") or name.startswith("Test_TC_MWOM_"):
315315
return TestTarget.MWO
316+
if name.startswith("Test_TC_RVCRUNM_") or name.startswith("Test_TC_RVCCLEANM_") or name.startswith("Test_TC_RVCOPSTATE_"):
317+
return TestTarget.RVC
316318
return TestTarget.ALL_CLUSTERS
317319

318320

scripts/tests/chiptest/linux.py

+1
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ def PathsWithNetworkNamespaces(paths: ApplicationPaths) -> ApplicationPaths:
183183
tv_app='ip netns exec app'.split() + paths.tv_app,
184184
lit_icd_app='ip netns exec app'.split() + paths.lit_icd_app,
185185
microwave_oven_app='ip netns exec app'.split() + paths.microwave_oven_app,
186+
rvc_app='ip netns exec app'.split() + paths.rvc_app,
186187
bridge_app='ip netns exec app'.split() + paths.bridge_app,
187188
chip_repl_yaml_tester_cmd='ip netns exec tool'.split() + paths.chip_repl_yaml_tester_cmd,
188189
chip_tool_with_python_cmd='ip netns exec tool'.split() + paths.chip_tool_with_python_cmd,

scripts/tests/chiptest/test_definition.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ class TestTarget(Enum):
176176
BRIDGE = auto()
177177
LIT_ICD = auto()
178178
MWO = auto()
179+
RVC = auto()
179180

180181

181182
@dataclass
@@ -191,10 +192,11 @@ class ApplicationPaths:
191192
microwave_oven_app: typing.List[str]
192193
chip_repl_yaml_tester_cmd: typing.List[str]
193194
chip_tool_with_python_cmd: typing.List[str]
195+
rvc_app: typing.List[str]
194196

195197
def items(self):
196198
return [self.chip_tool, self.all_clusters_app, self.lock_app, self.ota_provider_app, self.ota_requestor_app,
197-
self.tv_app, self.bridge_app, self.lit_icd_app, self.microwave_oven_app, self.chip_repl_yaml_tester_cmd, self.chip_tool_with_python_cmd]
199+
self.tv_app, self.bridge_app, self.lit_icd_app, self.microwave_oven_app, self.chip_repl_yaml_tester_cmd, self.chip_tool_with_python_cmd, self.rvc_app]
198200

199201

200202
@dataclass
@@ -305,6 +307,8 @@ def Run(self, runner, apps_register, paths: ApplicationPaths, pics_file: str,
305307
target_app = paths.lit_icd_app
306308
elif self.target == TestTarget.MWO:
307309
target_app = paths.microwave_oven_app
310+
elif self.target == TestTarget.RVC:
311+
target_app = paths.rvc_app
308312
else:
309313
raise Exception("Unknown test target - "
310314
"don't know which application to run")

scripts/tests/run_test_suite.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,9 @@ def cmd_list(context):
257257
@click.option(
258258
'--microwave-oven-app',
259259
help='what microwave oven app to use')
260+
@click.option(
261+
'--rvc-app',
262+
help='what rvc app to use')
260263
@click.option(
261264
'--chip-repl-yaml-tester',
262265
help='what python script to use for running yaml tests using chip-repl as controller')
@@ -288,7 +291,7 @@ def cmd_list(context):
288291
help='Number of tests that are expected to fail in each iteration. Overall test will pass if the number of failures matches this. Nonzero values require --keep-going')
289292
@click.pass_context
290293
def cmd_run(context, iterations, all_clusters_app, lock_app, ota_provider_app, ota_requestor_app,
291-
tv_app, bridge_app, lit_icd_app, microwave_oven_app, chip_repl_yaml_tester, chip_tool_with_python, pics_file, keep_going, test_timeout_seconds, expected_failures):
294+
tv_app, bridge_app, lit_icd_app, microwave_oven_app, rvc_app, chip_repl_yaml_tester, chip_tool_with_python, pics_file, keep_going, test_timeout_seconds, expected_failures):
292295
if expected_failures != 0 and not keep_going:
293296
logging.exception(f"'--expected-failures {expected_failures}' used without '--keep-going'")
294297
sys.exit(2)
@@ -321,6 +324,9 @@ def cmd_run(context, iterations, all_clusters_app, lock_app, ota_provider_app, o
321324
if microwave_oven_app is None:
322325
microwave_oven_app = paths_finder.get('chip-microwave-oven-app')
323326

327+
if rvc_app is None:
328+
rvc_app = paths_finder.get('chip-rvc-app')
329+
324330
if chip_repl_yaml_tester is None:
325331
chip_repl_yaml_tester = paths_finder.get('yamltest_with_chip_repl_tester.py')
326332

@@ -341,6 +347,7 @@ def cmd_run(context, iterations, all_clusters_app, lock_app, ota_provider_app, o
341347
bridge_app=[bridge_app],
342348
lit_icd_app=[lit_icd_app],
343349
microwave_oven_app=[microwave_oven_app],
350+
rvc_app=[rvc_app],
344351
chip_repl_yaml_tester_cmd=['python3'] + [chip_repl_yaml_tester],
345352
chip_tool_with_python_cmd=['python3'] + [chip_tool_with_python],
346353
)

src/app/tests/suites/certification/ci-pics-values

+98-63
Original file line numberDiff line numberDiff line change
@@ -2477,97 +2477,132 @@ REFALM.S.E00=1
24772477
REFALM.S.C00.Rsp=1
24782478
REFALM.S.C01.Rsp=1
24792479

2480-
# RVC CLEAN MODE CLUSTER
2481-
2480+
# PICS for the RVC app
2481+
# These are required to be here because currently there isn't a way to select a different PICS
2482+
# file when running the yaml tests in CI
24822483
RVCCLEANM.S=1
2483-
2484-
#Server
24852484
RVCCLEANM.S.A0000=1
24862485
RVCCLEANM.S.A0001=1
2487-
2488-
#Feature
2489-
RVCCLEANM.S.F00=0
2490-
2491-
#commands
24922486
RVCCLEANM.S.C00.Rsp=1
24932487
RVCCLEANM.S.C01.Tx=1
2494-
2488+
RVCCLEANM.S.F00=0
24952489
RVCCLEANM.S.M.CAN_TEST_MODE_FAILURE=1
24962490

2497-
#PIXIT
2498-
PIXIT.RVCCLEANM.MODE_CHANGE_FAIL=1
2499-
PIXIT.RVCCLEANM.MODE_CHANGE_OK=1
2500-
2501-
# RVC OPERATIONAL STATE CLUSTER
25022491
RVCOPSTATE.S=1
2503-
RVCOPSTATE.C=1
2504-
2505-
#ManuallyControlled
2506-
# These are the PICS supported by the all-clusters-app
2507-
2508-
RVCOPSTATE.S.M.ST_STOPPED=1
2509-
RVCOPSTATE.S.M.ST_RUNNING=1
2510-
RVCOPSTATE.S.M.ST_PAUSED=1
2511-
RVCOPSTATE.S.M.ST_ERROR=0
2512-
RVCOPSTATE.S.M.ST_SEEKING_CHARGER=0
2513-
RVCOPSTATE.S.M.ST_CHARGING=0
2514-
RVCOPSTATE.S.M.ST_DOCKED=0
2515-
RVCOPSTATE.S.M.ERR_NO_ERROR=1
2516-
RVCOPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME=0
2517-
RVCOPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION=0
2518-
RVCOPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE=0
2519-
RVCOPSTATE.S.M.ERR_FAILED_TO_FIND_CHARGING_DOCK=0
2520-
RVCOPSTATE.S.M.ERR_STUCK=0
2521-
RVCOPSTATE.S.M.ERR_DUST_BIN_MISSING=0
2522-
RVCOPSTATE.S.M.ERR_DUST_BIN_FULL=0
2523-
RVCOPSTATE.S.M.ERR_WATER_TANK_EMPTY=0
2524-
RVCOPSTATE.S.M.ERR_WATER_TANK_MISSING=0
2525-
RVCOPSTATE.S.M.ERR_WATER_TANK_LID_OPEN=0
2526-
RVCOPSTATE.S.M.ERR_MOP_CLEANING_PAD_MISSING=0
2527-
2528-
#Events
2529-
RVCOPSTATE.S.E00=1
2530-
RVCOPSTATE.S.E01=1
2531-
2532-
#Server
25332492
RVCOPSTATE.S.A0000=1
25342493
RVCOPSTATE.S.A0001=1
2535-
RVCOPSTATE.S.A0002=1
2494+
RVCOPSTATE.S.A0002=0
25362495
RVCOPSTATE.S.A0003=1
25372496
RVCOPSTATE.S.A0004=1
25382497
RVCOPSTATE.S.A0005=1
2539-
2540-
#Commands
2498+
RVCOPSTATE.S.E00=1
2499+
RVCOPSTATE.S.E01=1
25412500
RVCOPSTATE.S.C00.Rsp=1
25422501
RVCOPSTATE.S.C01.Rsp=0
25432502
RVCOPSTATE.S.C02.Rsp=0
25442503
RVCOPSTATE.S.C03.Rsp=1
25452504
RVCOPSTATE.S.C04.Tx=1
25462505
RVCOPSTATE.S.C128.Rsp=1
2547-
RVCOPSTATE.C.C00.Tx=1
2548-
RVCOPSTATE.C.C01.Tx=1
2549-
RVCOPSTATE.C.C02.Tx=1
2550-
RVCOPSTATE.C.C04.Tx=1
2551-
2506+
RVCOPSTATE.S.M.ST_STOPPED=1
2507+
RVCOPSTATE.S.M.ST_RUNNING=1
2508+
RVCOPSTATE.S.M.ST_PAUSED=1
2509+
RVCOPSTATE.S.M.ST_ERROR=1
2510+
RVCOPSTATE.S.M.ST_SEEKING_CHARGER=1
2511+
RVCOPSTATE.S.M.ST_CHARGING=1
2512+
RVCOPSTATE.S.M.ST_DOCKED=1
2513+
RVCOPSTATE.S.M.ERR_NO_ERROR=1
2514+
RVCOPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME=1
2515+
RVCOPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION=1
2516+
RVCOPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE=1
2517+
RVCOPSTATE.S.M.ERR_FAILED_TO_FIND_CHARGING_DOCK=1
2518+
RVCOPSTATE.S.M.ERR_STUCK=1
2519+
RVCOPSTATE.S.M.ERR_DUST_BIN_MISSING=1
2520+
RVCOPSTATE.S.M.ERR_DUST_BIN_FULL=1
2521+
RVCOPSTATE.S.M.ERR_WATER_TANK_EMPTY=1
2522+
RVCOPSTATE.S.M.ERR_WATER_TANK_MISSING=1
2523+
RVCOPSTATE.S.M.ERR_WATER_TANK_LID_OPEN=1
2524+
RVCOPSTATE.S.M.ERR_MOP_CLEANING_PAD_MISSING=1
2525+
RVCOPSTATE.C=0
2526+
RVCOPSTATE.C.C00.Tx=0
2527+
RVCOPSTATE.C.C01.Tx=0
2528+
RVCOPSTATE.C.C02.Tx=0
2529+
RVCOPSTATE.C.C04.Tx=0
25522530

2553-
# RVC RUN MODE CLUSTER
25542531
RVCRUNM.S=1
2555-
RVCRUNM.S.F00=0
2556-
2557-
#Server
25582532
RVCRUNM.S.A0000=1
25592533
RVCRUNM.S.A0001=1
2560-
2561-
#Commands
25622534
RVCRUNM.S.C00.Rsp=1
25632535
RVCRUNM.S.C01.Tx=1
2564-
2536+
RVCRUNM.S.F00=0
25652537
RVCRUNM.S.M.CAN_TEST_MODE_FAILURE=1
25662538
RVCRUNM.S.M.CAN_MANUALLY_CONTROLLED=1
25672539

2568-
#PIXIT
2569-
PIXIT.RVCRUNM.MODE_CHANGE_FAIL=1
2570-
PIXIT.RVCRUNM.MODE_CHANGE_OK=1
2540+
# These are useless as these values are set where the python tests are run.
2541+
# They are only here because a list test wants then to be.
2542+
PIXIT.RVCCLEANM.MODE_CHANGE_FAIL=0
2543+
PIXIT.RVCCLEANM.MODE_CHANGE_OK=0
2544+
PIXIT.RVCRUNM.MODE_CHANGE_FAIL=0
2545+
PIXIT.RVCRUNM.MODE_CHANGE_OK=0
2546+
2547+
# These are the RVC PICS for the all-clustrs-app.
2548+
# These PICS are commented out because the yaml tests are being run against the rvc-app.
2549+
# RVCCLEANM.S=1
2550+
# RVCCLEANM.S.A0000=1
2551+
# RVCCLEANM.S.A0001=1
2552+
# RVCCLEANM.S.F00=0
2553+
# RVCCLEANM.S.C00.Rsp=1
2554+
# RVCCLEANM.S.C01.Tx=1
2555+
# RVCCLEANM.S.M.CAN_TEST_MODE_FAILURE=1
2556+
2557+
# RVCOPSTATE.S=1
2558+
# RVCOPSTATE.C=1
2559+
# RVCOPSTATE.S.M.ST_STOPPED=1
2560+
# RVCOPSTATE.S.M.ST_RUNNING=1
2561+
# RVCOPSTATE.S.M.ST_PAUSED=1
2562+
# RVCOPSTATE.S.M.ST_ERROR=0
2563+
# RVCOPSTATE.S.M.ST_SEEKING_CHARGER=0
2564+
# RVCOPSTATE.S.M.ST_CHARGING=0
2565+
# RVCOPSTATE.S.M.ST_DOCKED=0
2566+
# RVCOPSTATE.S.M.ERR_NO_ERROR=1
2567+
# RVCOPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME=0
2568+
# RVCOPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION=0
2569+
# RVCOPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE=0
2570+
# RVCOPSTATE.S.M.ERR_FAILED_TO_FIND_CHARGING_DOCK=0
2571+
# RVCOPSTATE.S.M.ERR_STUCK=0
2572+
# RVCOPSTATE.S.M.ERR_DUST_BIN_MISSING=0
2573+
# RVCOPSTATE.S.M.ERR_DUST_BIN_FULL=0
2574+
# RVCOPSTATE.S.M.ERR_WATER_TANK_EMPTY=0
2575+
# RVCOPSTATE.S.M.ERR_WATER_TANK_MISSING=0
2576+
# RVCOPSTATE.S.M.ERR_WATER_TANK_LID_OPEN=0
2577+
# RVCOPSTATE.S.M.ERR_MOP_CLEANING_PAD_MISSING=0
2578+
# RVCOPSTATE.S.E00=1
2579+
# RVCOPSTATE.S.E01=1
2580+
# RVCOPSTATE.S.A0000=1
2581+
# RVCOPSTATE.S.A0001=1
2582+
# RVCOPSTATE.S.A0002=1
2583+
# RVCOPSTATE.S.A0003=1
2584+
# RVCOPSTATE.S.A0004=1
2585+
# RVCOPSTATE.S.A0005=1
2586+
# RVCOPSTATE.S.C00.Rsp=1
2587+
# RVCOPSTATE.S.C01.Rsp=0
2588+
# RVCOPSTATE.S.C02.Rsp=0
2589+
# RVCOPSTATE.S.C03.Rsp=1
2590+
# RVCOPSTATE.S.C04.Tx=1
2591+
# RVCOPSTATE.S.C128.Rsp=1
2592+
# RVCOPSTATE.C.C00.Tx=1
2593+
# RVCOPSTATE.C.C01.Tx=1
2594+
# RVCOPSTATE.C.C02.Tx=1
2595+
# RVCOPSTATE.C.C04.Tx=1
2596+
2597+
# RVCRUNM.S=1
2598+
# RVCRUNM.S.F00=0
2599+
# RVCRUNM.S.A0000=1
2600+
# RVCRUNM.S.A0001=1
2601+
# RVCRUNM.S.C00.Rsp=1
2602+
# RVCRUNM.S.C01.Tx=1
2603+
# RVCRUNM.S.M.CAN_TEST_MODE_FAILURE=1
2604+
# RVCRUNM.S.M.CAN_MANUALLY_CONTROLLED=1
2605+
25712606

25722607
#Refrigerator and Temperature Controlled Cabinet Mode Cluster(TCCM)
25732608

src/python_testing/TC_RVCCLEANM_2_1.py

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#
1717

1818
import logging
19+
from time import sleep
1920

2021
import chip.clusters as Clusters
2122
from matter_testing_support import MatterBaseTest, async_test_body, default_matter_test_main, type_matches
@@ -56,6 +57,9 @@ async def send_run_change_to_mode_cmd(self, newMode) -> Clusters.Objects.RvcRunM
5657
def write_to_app_pipe(self, command):
5758
with open(self.app_pipe, "w") as app_pipe:
5859
app_pipe.write(command + "\n")
60+
# Delay for pipe command to be processed (otherwise tests are flaky)
61+
# TODO(#31239): centralize pipe write logic and remove the need of sleep
62+
sleep(0.001)
5963

6064
def pics_TC_RVCCLEANM_2_1(self) -> list[str]:
6165
return ["RVCCLEANM.S"]

0 commit comments

Comments
 (0)