diff options
author | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-08-22 15:27:17 +0300 |
---|---|---|
committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2025-08-22 15:27:17 +0300 |
commit | b0d619e2c9595f4ec05463e87be9d0d3423c0a70 (patch) | |
tree | dfcda5da356b660fadb8b133772c926c08908cbb /scripts/coverage | |
parent | 7774ae2f8c2dca9ab2d93082856f031e78a1b5f0 (diff) | |
download | conts-b0d619e2c9595f4ec05463e87be9d0d3423c0a70.tar.gz conts-b0d619e2c9595f4ec05463e87be9d0d3423c0a70.zip |
use covsrv for coverage testing
Diffstat (limited to 'scripts/coverage')
-rwxr-xr-x | scripts/coverage | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/coverage b/scripts/coverage new file mode 100755 index 0000000..1c4a279 --- /dev/null +++ b/scripts/coverage @@ -0,0 +1,34 @@ +#!/bin/sh + +# build covsrv binary +make -C deps/covsrv + +# not super fantastic but most likely good enough +export COVSRV_SOCKET=$(mktemp -u) + +# server program should always be killed at the end of a test run +cleanup() { + ./deps/covsrv/build/covsrv quit +} + +# kill server program even if user interrupted us or something else exceptional +# happened +trap interrupt INT HUP TERM +interrupt () { + cleanup + exit 1 +} + +# start coverage server, should create a unix socket at COVSRV_SOCKET that test +# programs can connect to +./deps/covsrv/build/covsrv & + +# run tests, pass any flags like -j to make +make COVERAGEFLAGS="--coverage -DCOVERAGE=1" check "$@" + +mkdir -p coverage +lcov --capture --directory . --out coverage/covsrv.info +genhtml coverage/covsrv.info --out coverage + +cleanup +exit 0 |