Host-side coverage of the whole codebase (found a storage buffer overflow) #9
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| # Standalone host-test workflow. Independent of the format/lint tooling: it | |
| # drives the test Makefile directly (make -C test ...) rather than the format | |
| # PR's ci wrapper script, so this suite shares no files with the format PR. | |
| on: | |
| push: | |
| branches: [chore/host-tests-suite, chore/whole-coverage, master] | |
| pull_request: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Submodules (qrcodegen/littlefs) are needed for the coverage build. | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| # gcc/make are preinstalled; valgrind + lcov are not. libmbedtls-dev | |
| # provides the real <mbedtls/md.h> + -lmbedcrypto the TOTP harness links. | |
| - run: sudo apt-get update && sudo apt-get install -y valgrind lcov libmbedtls-dev | |
| # Hard gate: ASan+UBSan, then Valgrind. Coverage is report-only but must | |
| # still build/run cleanly. Each step must exit 0 or the job fails. | |
| - run: make -C test asan | |
| - run: make -C test valgrind | |
| - run: make -C test coverage |