Skip to content

Commit

Permalink
Add ICDM 5.1 Automated Test Script
Browse files Browse the repository at this point in the history
  • Loading branch information
mkardous-silabs committed Aug 6, 2024
1 parent 545b034 commit 6440080
Show file tree
Hide file tree
Showing 3 changed files with 267 additions and 30 deletions.
92 changes: 64 additions & 28 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ name: Tests
on:
push:
branches-ignore:
- 'dependabot/**'
- "dependabot/**"
pull_request:
merge_group:
workflow_dispatch:

concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name ==
group:
${{ github.ref }}-${{ github.workflow }}-${{ (github.event_name ==
'pull_request' && github.event.number) || (github.event_name ==
'workflow_dispatch' && github.run_number) || github.sha }}
cancel-in-progress: true
Expand All @@ -42,15 +43,18 @@ jobs:
env:
BUILD_VARIANT: ${{matrix.build_variant}}
CHIP_TOOL_VARIANT: ${{matrix.chip_tool}}
TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
TSAN_OPTIONS:
"halt_on_error=1
suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
LSAN_OPTIONS: detect_leaks=1

if: github.actor != 'restyled-io[bot]'
runs-on: ubuntu-latest

container:
image: ghcr.io/project-chip/chip-build:54
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
options:
--privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1"

steps:
Expand All @@ -68,9 +72,12 @@ jobs:
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: linux
bootstrap-log-name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
- name: Try to ensure the directories for core dumping exist and we
platform: linux
bootstrap-log-name:
bootstrap-logs-linux-${{ matrix.build_variant }}${{
matrix.chip_tool }}
- name:
Try to ensure the directories for core dumping exist and we
can write them.
run: |
mkdir /tmp/cores || true
Expand Down Expand Up @@ -231,7 +238,9 @@ jobs:
--copy-artifacts-to objdir-clone \
"
- name: Run Tests using the python parser sending commands to chip-tool
- name:
Run Tests using the python parser sending commands to
chip-tool
run: |
./scripts/run_in_build_env.sh \
"./scripts/tests/run_test_suite.py \
Expand All @@ -252,7 +261,9 @@ jobs:
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run purposeful failure tests using the python parser sending commands to chip-tool
- name:
Run purposeful failure tests using the python parser sending
commands to chip-tool
run: |
./scripts/run_in_build_env.sh \
"./scripts/tests/run_test_suite.py \
Expand Down Expand Up @@ -317,15 +328,19 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
with:
name: crash-core-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
name:
crash-core-linux-${{ matrix.build_variant }}${{
matrix.chip_tool }}
path: /tmp/cores/
# Cores are big; don't hold on to them too long.
retention-days: 5
- name: Uploading objdir for debugging
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
with:
name: crash-objdir-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
name:
crash-objdir-linux-${{ matrix.build_variant }}${{
matrix.chip_tool }}
path: objdir-clone/
# objdirs are big; don't hold on to them too long.
retention-days: 5
Expand All @@ -341,7 +356,9 @@ jobs:
BUILD_VARIANT: ${{matrix.build_variant}}
CHIP_TOOL_VARIANT: ${{matrix.chip_tool}}
TSAN_OPTIONS: "halt_on_error=1"
LSAN_OPTIONS: detect_leaks=1 suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt
LSAN_OPTIONS:
detect_leaks=1
suppressions=scripts/tests/chiptest/lsan-mac-suppressions.txt

if: github.actor != 'restyled-io[bot]'
runs-on: macos-13
Expand All @@ -362,9 +379,10 @@ jobs:
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: darwin
bootstrap-log-name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}

platform: darwin
bootstrap-log-name:
bootstrap-logs-darwin-${{ matrix.build_variant }}${{
matrix.chip_tool }}

- name: Build Apps
run: |
Expand All @@ -385,7 +403,9 @@ jobs:
--copy-artifacts-to objdir-clone \
"
- name: Run Tests using the python parser sending commands to chip-tool
- name:
Run Tests using the python parser sending commands to
chip-tool
run: |
./scripts/run_in_build_env.sh \
"./scripts/tests/run_test_suite.py \
Expand All @@ -407,7 +427,9 @@ jobs:
--network-manager-app ./out/darwin-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run purposeful failure tests using the python parser sending commands to chip-tool
- name:
Run purposeful failure tests using the python parser sending
commands to chip-tool
run: |
./scripts/run_in_build_env.sh \
"./scripts/tests/run_test_suite.py \
Expand All @@ -426,21 +448,27 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
with:
name: crash-core-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
name:
crash-core-darwin-${{ matrix.build_variant }}${{
matrix.chip_tool }}
path: /cores/
# Cores are big; don't hold on to them too long.
retention-days: 5
- name: Uploading diagnostic logs
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
with:
name: crash-log-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
name:
crash-log-darwin-${{ matrix.build_variant }}${{
matrix.chip_tool }}
path: ~/Library/Logs/DiagnosticReports/
- name: Uploading objdir for debugging
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
with:
name: crash-objdir-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
name:
crash-objdir-darwin-${{ matrix.build_variant }}${{
matrix.chip_tool }}
path: objdir-clone/
# objdirs are big; don't hold on to them too long.
retention-days: 5
Expand All @@ -449,14 +477,17 @@ jobs:
name: REPL Tests - Linux

env:
TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
TSAN_OPTIONS:
"halt_on_error=1
suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"

if: github.actor != 'restyled-io[bot]'
runs-on: ubuntu-latest

container:
image: ghcr.io/project-chip/chip-build:66
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
options:
--privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"

steps:
Expand All @@ -465,9 +496,12 @@ jobs:
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: linux
bootstrap-log-name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }}
- name: Try to ensure the directories for core dumping exist and we
platform: linux
bootstrap-log-name:
bootstrap-logs-linux-${{ matrix.build_variant }}${{
matrix.chip_tool }}
- name:
Try to ensure the directories for core dumping exist and we
can write them.
run: |
mkdir /tmp/cores || true
Expand Down Expand Up @@ -552,6 +586,7 @@ jobs:
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_ICDM_2_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_ICDM_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_ICDM_3_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_ICDM_5_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_ICDManagementCluster.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_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'
Expand Down Expand Up @@ -623,7 +658,6 @@ jobs:
scripts/run_in_python_env.sh out/venv 'python3 ./src/python_testing/test_testing/test_TC_SC_7_1.py'
scripts/run_in_python_env.sh out/venv 'python3 ./src/python_testing/test_testing/TestDecorators.py'
- name: Uploading core files
uses: actions/upload-artifact@v4
if: ${{ failure() && !env.ACT }}
Expand Down Expand Up @@ -670,8 +704,10 @@ jobs:
- name: Checkout submodules & Bootstrap
uses: ./.github/actions/checkout-submodules-and-bootstrap
with:
platform: darwin
bootstrap-log-name: bootstrap-logs-darwin-${{ matrix.build_variant }}${{ matrix.chip_tool }}
platform: darwin
bootstrap-log-name:
bootstrap-logs-darwin-${{ matrix.build_variant }}${{
matrix.chip_tool }}

- name: Build Python REPL and example apps
run: |
Expand Down
3 changes: 1 addition & 2 deletions src/app/tests/suites/manualTests.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@
"Identify": ["Test_TC_I_3_2"],
"IcdManagement": [
"Test_TC_ICDM_3_2",
"Test_TC_ICDM_4_1",
"Test_TC_ICDM_5_1"
"Test_TC_ICDM_4_1"
],
"IlluminanceMeasurement": [],
"InteractionDataModel": [
Expand Down
Loading

0 comments on commit 6440080

Please sign in to comment.