diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-05-01 20:35:00 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2026-05-01 22:16:26 +0300 |
| commit | 8946c27306abed7065afad3f015df5ee81e72ad2 (patch) | |
| tree | c53c9a2c0437109e9c1e3f873bf8a54220ee5ded /scripts | |
| parent | 7790e27b3423901e2080bfd3c600a65a48d42886 (diff) | |
| download | fwd-8946c27306abed7065afad3f015df5ee81e72ad2.tar.gz fwd-8946c27306abed7065afad3f015df5ee81e72ad2.zip | |
add support for coverage
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/coverage | 34 | ||||
| -rw-r--r-- | scripts/makefile | 8 |
2 files changed, 38 insertions, 4 deletions
diff --git a/scripts/coverage b/scripts/coverage new file mode 100755 index 0000000..0648355 --- /dev/null +++ b/scripts/coverage @@ -0,0 +1,34 @@ +#!/bin/sh +set -eu + +# 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 QUIT EXIT +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 --ignore-errors range coverage/covsrv.info --out coverage + +exit 0 diff --git a/scripts/makefile b/scripts/makefile index ae42506..08a7a88 100644 --- a/scripts/makefile +++ b/scripts/makefile @@ -48,9 +48,9 @@ OBFLAGS := -g -rdynamic WARNFLAGS := -Wall -Wextra COMPILE_FLAGS := $(CFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(OBFLAGS) $(ASSERTFLAGS) \ - $(DEBUGFLAGS) + $(DEBUGFLAGS) $(COVERAGEFLAGS) -INCLUDE_FLAGS := -I include -I deps/conts/include +INCLUDE_FLAGS := -I include -I deps/conts/include -I deps/covsrv/include COMPILE = $(COMPILER) \ $(COMPILE_FLAGS) $(DEPFLAGS) $(INCLUDE_FLAGS) @@ -62,8 +62,8 @@ COMPILE_FWD = $(COMPILE) $(FWD_FLAGS) -include deps.mk -fwd: $(FWD_OBJS) build/gen/parser.o - $(COMPILE_FWD) $(FWD_OBJS) build/gen/parser.o -o $@ +fwd: $(FWD_OBJS) deps/covsrv/src/client.c build/gen/parser.o + $(COMPILE_FWD) $(FWD_OBJS) deps/covsrv/src/client.c build/gen/parser.o -o $@ # might lint some common things twice |
