Unify matter bridge unit testing#
The Matter bridge test infrastructure leverages the test ecosystem of Matter itself. Writing a unit test is done with the NL Unit test framework and Matter helper functions. Please refer to Test example for an example of how to write a simple unit test. After writing a unit test remember to add the source file in the BUILD.gn.
Compiling the unit test#
Before compiliing a unit test, use the following GN command to generate the ninja files necessary for the build process:
silabs_examples/unify-matter-bridge/linux$ gn gen out/host --args='chip_build_tests=true use_coverage=true'
After generating the ninja files, the tests are generated with the following command:
silabs_examples/unify-matter-bridge/linux$ ninja -C out/host check
This generates test binaries inside out/host/tests
where test executables can
be found.
Running the unit test#
Unit tests are run by first locating your test binary and then executing it.
matter/silabs_examples/unify-matter-bridge/linux$ ./out/host/tests/TestExample
'#0:','ExampleTests'
'#3:','Example::TestExample','PASSED'
'#6:','0','1'
'#7:','0','1'
Getting unit test coverage#
To understand unit test coverage, run the following helper script:
matter/silabs_examples/unify-matter-bridge/linux$ ../../../scripts/build_coverage.sh --output_root out/host