Skip to content

Fixes, Optimizations and Preparations #1 (#2814) #8062

Fixes, Optimizations and Preparations #1 (#2814)

Fixes, Optimizations and Preparations #1 (#2814) #8062

# This workflow executes the chip tool tests against matter.js (Dockerized and not dockerized ones)
# This workflow is triggered by:
# * A schedule
# * A manual trigger
# * For commits and pull requests to the main branch
name: Chip Tool tests
on:
schedule:
- cron: 0 1 * * * # Every day at 01:00
workflow_dispatch: # Manually on demand
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
merge_group:
# Cancel previous PR/branch runs when a new commit is pushed
concurrency:
group: ${{ github.ref }}-chip-tool-tests
cancel-in-progress: true
jobs:
head-commit-message:
name: get head commit message
runs-on: ubuntu-latest
outputs:
head-commit-message: ${{ steps.get_head_commit_message.outputs.headCommitMsg }}
steps:
- name: Get repo
uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Print head git commit message
id: get_head_commit_message
run: echo "headCommitMsg=$(git show -s --format=%s)" >> $GITHUB_OUTPUT
# Find out what is needed to be done by this test workflow
chip-tests-needed:
needs: [head-commit-message]
if: github.repository == 'matter-js/matter.js'
runs-on: ubuntu-latest
outputs:
chip-changes: ${{ steps.changes.outputs.src }}
chip-tests-required: ${{ steps.check-trigger.outputs.chip-tests-required || steps.check-rebuild.outputs.chip-tests-required || steps.check-long-tests.outputs.chip-tests-required }}
chip-tool-rebuild: ${{ steps.check-rebuild.outputs.chip-tool-rebuild }}
chip-app-tests-required: ${{ steps.check-long-tests.outputs.chip-app-tests-required }}
chip-long-tests-required: ${{ steps.check-long-tests.outputs.chip-long-tests-required }}
chip-slowapp-tests-required: ${{ steps.check-long-tests.outputs.chip-slowapp-tests-required || steps.check-slowapp-tests.outputs.chip-slowapp-tests-required }}
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
src:
- "chip-testing/**"
- ".github/workflows/chip-tool-tests.yml"
- "package.json"
- "packages/**/package.json"
- "packages/**/src/**"
- "!packages/node/src/behaviors/"
- "!packages/react-native/**"
- "!packages/nodejs-ble/**"
- "!packages/nodejs-shell/**"
- "!packages/examples/**"
- "!packages/tools/**"
app-tests:
- "packages/node/src/behaviors/"
slowapp-tests:
- "packages/node/src/behaviors/color-control/**"
- "packages/node/src/behaviors/level-control/**"
- "packages/node/src/behaviors/window-covering/**"
- "packages/types/src/clusters/definitions/ColorControlCluster.ts"
- "packages/types/src/clusters/definitions/LevelControlCluster.ts"
- "packages/types/src/clusters/definitions/WindowCoveringCluster.ts"
long-tests:
- "packages/node/src/behaviors/administrator-commissioning/**"
- "packages/node/src/behaviors/general-commissioning/**"
- "packages/node/src/behaviors/operational-credentials/**"
- "packages/protocol/src/session/pase/**"
- "packages/protocol/src/session/case/**"
- "packages/protocol/src/mdns/**"
- "packages/protocol/src/interaction/**"
- "packages/protocol/src/fabric/**"
- "packages/protocol/src/securechannel/**"
- if: ${{ github.event_name == 'schedule' || ((github.event_name == 'push' || github.event_name == 'pull_request') && steps.changes.outputs.src == 'true') || github.event_name == 'workflow_dispatch' || contains(needs.head-commit-message.outputs.head-commit-message, '[execute-chiptests]') == true }}
name: Chip Tool tests required to run?
id: check-trigger
run: echo "chip-tests-required=true" >> $GITHUB_OUTPUT
- if: ${{ (github.event_name != 'schedule' && (steps.changes.outputs.app-tests == 'true' || contains(needs.head-commit-message.outputs.head-commit-message, '[execute-chiptests-long]') == true)) }}
name: Enable App tests if needed
id: check-app-tests
run: |
echo "chip-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-app-tests-required=true" >> $GITHUB_OUTPUT
- if: ${{ (github.event_name != 'schedule' && (steps.changes.outputs.slowapp-tests == 'true' || contains(needs.head-commit-message.outputs.head-commit-message, '[execute-chiptests-long]') == true)) }}
name: Enable slow App tests if needed
id: check-slowapp-tests
run: |
echo "chip-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-app-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-slowapp-tests-required=true" >> $GITHUB_OUTPUT
- if: ${{ contains(github.event.head_commit.message, '[rebuild-chip]') == true }}
name: Chip Tool rebuild required?
id: check-rebuild
run: |
echo "chip-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-tool-rebuild=true" >> $GITHUB_OUTPUT
- name: Get Day of the week
run: echo "DOW=$(date +%u)" >> $GITHUB_ENV
- if: ${{ (env.DOW == 6 && github.event_name == 'schedule') || (github.event_name != 'schedule' && (steps.changes.outputs.long-tests == 'true' || contains(needs.head-commit-message.outputs.head-commit-message, '[execute-chiptests-long]') == true)) }}
name: Enable Long tests if needed
id: check-long-tests
run: |
echo "chip-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-app-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-slowapp-tests-required=true" >> $GITHUB_OUTPUT
echo "chip-long-tests-required=true" >> $GITHUB_OUTPUT
# If we need to do anything make sure that chip binaries are build and environment can be set up
prepare-chip-build:
needs: [chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Prepare chip tests and rebuild chip-tool if needed
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: ${{ needs.chip-tests-needed.outputs.chip-tool-rebuild }}
build-matter-js: "false"
# Execute the core cluster tests
chip-tests-core:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: "false"
patch-test-yaml: "true"
- name: Run Core cluster tests using the python parser sending commands to chip-tool from yaml files
id: test-execution-08-core
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../bin/chip-tool \
--log-level debug \
--target-glob "{TestSelfFabricRemoval}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/AllClustersTestApp.sh \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
|| (cat ./test_allclusters.log && exit 1)'
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../bin/chip-tool \
--log-level info \
--target-glob "{Test_TC_ACE_*,Test_TC_ACL_*,Test_AddNewFabricFromExistingFabric,Test_TC_BINFO_*,Test_TC_BRBINFO_*,Test_TC_CADMIN_*,Test_TC_CGEN_*,Test_TC_CNET_*,Test_TC_DGGEN_*,Test_TC_OPCREDS_*,TestAccessControlC*,TestArmFailSafe,TestCASERecovery,TestCommandsById,TestCommissionerNodeId,TestCommissioningWindow,TestFabricRemovalWhileSubscribed,TestGeneralCommissioning,TestMultiAdmin,TestOperationalCredentialsCluster,TestSubscribe_*,TestDiscovery}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
'
matterjs-tests-core:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: "false"
patch-test-yaml: "true"
- name: Run Core cluster tests using the python parser sending commands to matter.js-controller from yaml files
id: test-execution-08-core-matterjs
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../support/chip-testing/dist/esm/ControllerWebSocketTestApp.js \
--log-level debug \
--target-glob "{TestSelfFabricRemoval}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/AllClustersTestApp.sh \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
|| (cat ./test_allclusters.log && exit 1)'
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../support/chip-testing/dist/esm/ControllerWebSocketTestApp.js \
--log-level info \
--target-glob "{Test_TC_ACE_*,Test_TC_ACL_*,Test_AddNewFabricFromExistingFabric,Test_TC_BINFO_*,Test_TC_BRBINFO_*,Test_TC_CADMIN_*,Test_TC_CGEN_*,Test_TC_CNET_*,Test_TC_DGGEN_*,Test_TC_DESC_*,Test_TC_OPCREDS_*,TestAccessControlC*,TestArmFailSafe,TestCASERecovery,TestCommandsById,TestCommissionerNodeId,TestCommissioningWindow,TestFabricRemovalWhileSubscribed,TestGeneralCommissioning,TestMultiAdmin,TestOperationalCredentialsCluster,TestSubscribe_*,TestDiscovery}" \
--target-skip-glob "{TestCASERecovery,TestOperationalCredentialsCluster}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
'
# Execute the fast application cluster tests
chip-tests-app-fast:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true' || needs.chip-tests-needed.outputs.chip-app-tests-required == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: "false"
patch-test-yaml: "true"
- name: Run fast application cluster tests using the python parser sending commands to chip-tool from yaml files
id: test-execution-08-app-fast
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../bin/chip-tool \
--log-level info \
--target-glob "{Test_TC_ACFREMON_*,Test_TC_AIRQUAL_*,Test_TC_APBSC_*,Test_TC_BOOL_*,Test_TC_*CONC_*,Test_TC_FLABEL_*,Test_TC_FLW_*,Test_TC_HEPAFREMON_*,Test_TC_I_*,Test_TC_ILL_*,Test_TC_LCFG_*,Test_TC_LOWPOWER_*,Test_TC_LTIME_*,Test_TC_LUNIT_*,Test_TC_MOD_*,Test_TC_OO_*,Test_TC_PCC_*,Test_TC_PRS_*,Test_TC_PS_*,Test_TC_RH_*,Test_TC_SWTCH_*,Test_TC_TMP_*,Test_TC_TSUIC_*,Test_TC_ULABEL_*,Test_TC_WAKEONLAN_*,TestUserLabelCluster}" \
--target-skip-glob "{Test_TC_OO_2_7}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
'
matterjs-tests-app-fast:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true' || needs.chip-tests-needed.outputs.chip-app-tests-required == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: "false"
patch-test-yaml: "true"
- name: Run fast application cluster tests using the python parser sending commands to matter.js-controller from yaml files
id: test-execution-08-app-fast
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../support/chip-testing/dist/esm/ControllerWebSocketTestApp.js \
--log-level info \
--target-glob "{Test_TC_ACFREMON_*,Test_TC_AIRQUAL_*,Test_TC_APBSC_*,Test_TC_BOOL_*,Test_TC_*CONC_*,Test_TC_DEMM_*,Test_TC_EEVSEM_*,Test_TC_FLABEL_*,Test_TC_FLW_*,Test_TC_HEPAFREMON_*,Test_TC_I_*,Test_TC_ILL_*,Test_TC_LCFG_*,Test_TC_LOWPOWER_*,Test_TC_LTIME_*,Test_TC_LUNIT_*,Test_TC_LWM_*,Test_TC_MOD_*,Test_TC_OCC_*,Test_TC_OO_*,Test_TC_OTCCM_*,Test_TC_PCC_*,Test_TC_PRS_*,Test_TC_PS_*,Test_TC_PWRTL_*,Test_TC_RH_*,Test_TC_SWTCH_*,Test_TC_TMP_*,Test_TC_TSUIC_*,Test_TC_ULABEL_*,Test_TC_WAKEONLAN_*,TestUserLabelCluster}" \
--target-skip-glob "{Test_TC_OO_2_7}" \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
--energy-gateway-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--energy-management-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
'
# Execute the slower (because simulated) application cluster tests
chip-tests-app-slow:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-slowapp-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-long-tests-required == 'true') }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: "false"
patch-test-yaml: "true"
- name: Run slower application cluster tests using the python parser sending commands to chip-tool from yaml files
id: test-execution-08-app-slow
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../bin/chip-tool \
--log-level info \
--target-glob "{Test_TC_CC_*,Test_TC_LVL_*,Test_TC_WNCV_*}" \
--target-skip-glob "{Test_TC_LVL_9_1,Test_TC_CC_9_1,Test_TC_CC_9_2,Test_TC_CC_9_3}" \
--include-tags MANUAL \
run \
--iterations 1 \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
--tv-app ../support/chip-testing/dist/esm/TvTestApp.js \
'
chip-tests-long:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && needs.chip-tests-needed.outputs.chip-long-tests-required == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: 'false'
patch-test-yaml: "true"
- name: Long Test execution
id: test-execution-long-08
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../bin/chip-tool \
--log-level info \
--target-glob "{Test_TC_CADMIN_1_3,Test_TC_CADMIN_1_4,Test_TC_CADMIN_1_5,Test_TC_CADMIN_1_6,Test_TC_CADMIN_1_9,Test_TC_CADMIN_1_10,Test_TC_CADMIN_1_16,Test_TC_CADMIN_1_23,Test_TC_CADMIN_1_24}" \
--include-tags MANUAL \
run \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
'
matterjs-tests-long:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && needs.chip-tests-needed.outputs.chip-long-tests-required == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: 'false'
patch-test-yaml: "true"
- name: Long Test execution with matter.js controller
id: test-execution-long-08
shell: bash
run: |
cd connectedhomeip
./scripts/run_in_build_env.sh \
'./scripts/tests/run_test_suite.py \
--runner chip_tool_python \
--chip-tool ../support/chip-testing/dist/esm/ControllerWebSocketTestApp.js \
--log-level info \
--target-glob "{Test_TC_CADMIN_1_3,Test_TC_CADMIN_1_4,Test_TC_CADMIN_1_5,Test_TC_CADMIN_1_6,Test_TC_CADMIN_1_9,Test_TC_CADMIN_1_10,Test_TC_CADMIN_1_16,Test_TC_CADMIN_1_23,Test_TC_CADMIN_1_24}" \
--include-tags MANUAL \
run \
--all-clusters-app ../support/chip-testing/dist/esm/AllClustersTestApp.js \
--bridge-app ../support/chip-testing/dist/esm/BridgeTestApp.js \
'
python-repl-tests-core:
needs: [prepare-chip-build, chip-tests-needed]
if: ${{ github.repository == 'matter-js/matter.js' && (needs.chip-tests-needed.outputs.chip-tool-rebuild == 'true' || needs.chip-tests-needed.outputs.chip-tests-required == 'true' || needs.chip-tests-needed.outputs.chip-changes == 'true' || needs.chip-tests-needed.outputs.chip-long-tests-required == 'true') }}
env:
TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
runs-on: ubuntu-latest
steps:
- name: Check out matter.js
uses: actions/checkout@v6
- name: Initialize chip tests
uses: ./.github/actions/prepare-chip-testing
with:
rebuild-chip-tool: 'false'
patch-test-yaml: "true"
- name: Generate an argument environment file
run: |
echo -n "" >/tmp/test_env.yaml
echo "ALL_CLUSTERS_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "CHIP_LOCK_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "ENERGY_MANAGEMENT_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "LIT_ICD_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "CHIP_MICROWAVE_OVEN_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "CHIP_RVC_APP: ../support/chip-testing/dist/esm/RvcTestApp.js" >> /tmp/test_env.yaml
echo "NETWORK_MANAGEMENT_APP: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "LIGHTING_APP_NO_UNIQUE_ID: ../support/chip-testing/dist/esm/AllClustersTestApp.js" >> /tmp/test_env.yaml
echo "TRACE_APP: out/trace_data/app-{SCRIPT_BASE_NAME}" >> /tmp/test_env.yaml
echo "TRACE_TEST_JSON: out/trace_data/test-{SCRIPT_BASE_NAME}" >> /tmp/test_env.yaml
echo "TRACE_TEST_PERFETTO: out/trace_data/test-{SCRIPT_BASE_NAME}" >> /tmp/test_env.yaml
# Remove once https://github.com/project-chip/connectedhomeip/pull/38788 got merged + 1 day
- name: Patch Test runner backchannel waiting times
uses: actions/github-script@v8
with:
result-encoding: string
script: |
const fs = require("fs");
let file= fs.readFileSync("./connectedhomeip/src/python_testing/matter_testing_infrastructure/matter/testing/matter_testing.py", "utf8");
// Patch the test runner to execute controller and app on same network interface
file = file.replaceAll("sleep(0.001)", "sleep(0.05)");
fs.writeFileSync("./connectedhomeip/src/python_testing/matter_testing_infrastructure/matter/testing/matter_testing.py", file);
# remove once https://github.com/project-chip/connectedhomeip/issues/33735 is clarified
- name: Patch ACE 2.2 testcase
uses: actions/github-script@v8
with:
result-encoding: string
script: |
const fs = require("fs");
let file= fs.readFileSync("./connectedhomeip/src/python_testing/TC_AccessChecker.py", "utf8");
// Patch the test runner to execute controller and app on same network interface
file = file.replace("if resp[0].Status != Status.UnsupportedWrite:", "if (resp[0].Status != Status.UnsupportedWrite and resp[0].Status != Status.UnsupportedAccess):");
fs.writeFileSync("./connectedhomeip/src/python_testing/TC_AccessChecker.py", file);
- name: Run Tests
id: python-tests-08
shell: bash
run: |
cd connectedhomeip
mkdir -p out/trace_data
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_AccessChecker.py'
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_ACE_1_2.py'
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_ACE_1_3.py'
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_ACE_1_4.py'
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_ACE_1_5.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app ../support/chip-testing/dist/esm/AllClustersTestApp.js --factory-reset --app-args "--discriminator 1234 --KVS kvs1" --script "src/python_testing/TC_ACL_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"'
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_CADMIN_1_9.py'
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_CADMIN_1_11.py'
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_CADMIN_1_22.py'
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_CADMIN_1_3_4.py'
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_CADMIN_1_15.py'
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_CGEN_2_4.py'
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_DA_1_2.py'
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_DA_1_5.py'
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_DA_1_7.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --app ../support/chip-testing/dist/esm/AllClustersTestApp.js --factory-reset --app-args "--discriminator 1234 --KVS kvs1" --script "src/python_testing/TC_DGGEN_3_2.py" --script-args "--storage-path admin_storage.json --commissioning-method on-network --discriminator 1234 --passcode 20202021 --bool-arg allow_sdk_dac:true --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"'
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_DeviceBasicComposition.py --run 1'
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_IDM_1_2.py'
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_IDM_1_4.py'
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_IDM_4_2.py'
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'
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'
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'
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_4.py'
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_5.py'
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_8.py'
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_SC_3_6.py'
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_SC_7_1.py'
# 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_CADMIN_1_19.py'