blob: 877b7df6dcd04939a4d778cefe4f8ff5a09b54b1 [file] [view]
This is a test driver for the Matter unit tests to be run on an EFR32 device. It
builds a set of test binaries, each of which contains one directory of unit
tests that can be flashed onto a device and run. The device is controlled using
the included RPCs through the python test runner.
- [Prerequisites](#prerequisites)
- [Building and Running the Unit Tests](#building-and-running-the-unit-tests)
- [Building and Running the Unit Tests with the build_examples Script](#building-and-running-the-unit-tests-with-the-build_examples-script)
## Prerequisites
- Download the
[Simplicity Commander](https://www.silabs.com/mcu/programming-options)
command line tool, and ensure that `commander` is in your shell search path.
(For Mac OS X, `commander` is located inside
`Commander.app/Contents/MacOS/`.)
- Download and install a suitable ARM gcc tool chain (For most Host, the
bootstrap already installs the toolchain):
[GNU Arm Embedded Toolchain 12.2 Rel1](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads)
- Install some additional tools:
For Linux: `sudo apt-get install git libwebkitgtk-1.0-0 ninja-build`
For Mac OS: `brew install ninja`
- Supported hardware:
MG24 boards :
- BRD2601B / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- BRD2703A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4186A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm
- BRD4187A / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
- BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm
## Building and Running the Unit Tests
### Building the Unit Tests
The unit tests can be built using gn and ninja. Set the appropriate board name.
source scripts/activate.sh
cd src/test_driver/efr32
export SILABS_BOARD=BRD2703A
gn gen out/debug
ninja -C out/debug
### Building and Installing the Runner
The python wheels for the runner can be built and installed like this:
ninja -C out/debug runner
pip3 install out/debug/chip_pw_test_runner_wheels/*.whl --force-reinstall
### Running the Unit Tests
The unit tests can be run using the test runner python script:
python -m py.pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/debug/tests -o out.log
## Building and Running the Unit Tests with the build_examples Script
### Building the Unit Tests
The unit tests can be built using the build_examples script. Set the appropriate
board name.
scripts/build/build_examples.py --target efr32-brd2703a-unit-test build
### Building and Installing the Runner
The python wheels for the runner can be built and installed like this:
scripts/build/build_examples.py --target linux-x64-efr32-test-runner build
pip3 install out/linux-x64-efr32-test-runner/chip_pw_test_runner_wheels/*.whl --force-reinstall
### Running the Unit Tests
The unit tests can be run using the test runner python script:
python -m src.test_driver.efr32.py.pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/efr32-brd2703a-unit-test/tests -o out.log