#CHIP EFR32 Test Driver
This builds and runs the unit tests on the efr32 device.
- [Introduction](#introduction)
- [Building](#building)
- [Running The Tests](#running-the-tests)
## Introduction
This builds a set of test binaries which contain the unit tests and can be
flashed onto a device. The device is controlled using the included RPCs, through
the python test runner.
## Building
- Download the
[Simplicity Commander](https://www.silabs.com/mcu/programming-options)
command line tool, and ensure that `commander` is 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(likely already present for CHIP developers):
#Linux `sudo apt-get install git libwebkitgtk-1.0-0 ninja-build`
#Mac OS X `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
OR use GN/Ninja directly
```
cd ~/connectedhomeip/src/test_driver/efr32/
git submodule update --init
source third_party/connectedhomeip/scripts/activate.sh
export SILABS_BOARD=BRD4187C
gn gen out/debug
ninja -C out/debug
```
- To delete generated executable, libraries and object files use:
```
cd ~/connectedhomeip/src/test_driver/efr32/
rm -rf out/
```
## Running The Tests
Build the runner using gn:
```
cd /src/test_driver/efr32
gn gen out/debug
ninja -C out/debug runner
```
Or build using build script from the root
```
cd
./scripts/build/build_examples.py --target linux-x64-pw-test-runner build
```
The runner will be installed into the venv and python wheels will be packaged in
the output folder for deploying.
Then the python wheels need to installed using pip3.
```
pip3 install out/debug/chip_pw_test_runner_wheels/*.whl
```
Other python libraries may need to be installed such as
```
pip3 install pyserial
```
- To run all tests:
```
python -m pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/debug/matter-silabs-device_tests.s37 -o out.log
```