diff --git a/.github/workflows/build-unit-tests.yaml b/.github/workflows/build-unit-tests.yaml index 956a50a6aa..8eabeb7269 100644 --- a/.github/workflows/build-unit-tests.yaml +++ b/.github/workflows/build-unit-tests.yaml @@ -52,7 +52,7 @@ jobs: - name: Build Tests working-directory: ./unit_tests/ - run: make -j4 + run: make -j4 COVERAGE=yes - name: Run Tests working-directory: ./unit_tests/ diff --git a/unit_tests/rules.mk b/unit_tests/rules.mk index d5104432f7..2bfb7ad6e5 100644 --- a/unit_tests/rules.mk +++ b/unit_tests/rules.mk @@ -65,18 +65,18 @@ endif ifeq ($(IS_MAC),yes) ODFLAGS = -x --syms - ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS) - ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS) + ASFLAGS = $(MCFLAGS) -Wa $(ADEFS) + ASXFLAGS = $(MCFLAGS) -Wa $(ADEFS) CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) $(DEFS) CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) $(DEFS) LDFLAGS = $(MCFLAGS) $(LLIBDIR) else # not mac ODFLAGS = -x --syms - ASFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS) - ASXFLAGS = $(MCFLAGS) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS) - CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS) - CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS) + ASFLAGS = $(MCFLAGS) $(ADEFS) + ASXFLAGS = $(MCFLAGS) $(ADEFS) + CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) $(DEFS) + CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) $(DEFS) ifeq ($(USE_LINK_GC),yes) LDFLAGS = $(MCFLAGS) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--gc-sections $(LLIBDIR) else diff --git a/unit_tests/unit_test_rules.mk b/unit_tests/unit_test_rules.mk index c492ad3a3e..231a0ce976 100644 --- a/unit_tests/unit_test_rules.mk +++ b/unit_tests/unit_test_rules.mk @@ -18,10 +18,13 @@ ifeq ($(USE_OPT),) # -O2 is needed for mingw, without it there is a linking issue to isnanf?!?! #USE_OPT = $(RFLAGS) -O2 -fgnu89-inline -ggdb -fomit-frame-pointer -falign-functions=16 -std=gnu99 -Werror-implicit-function-declaration -Werror -Wno-error=pointer-sign -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=sign-compare -Wno-error=unused-parameter -Wno-error=missing-field-initializers USE_OPT = -c -Wall -O0 -ggdb -g - USE_OPT += -fprofile-arcs -ftest-coverage USE_OPT += -Werror=missing-field-initializers endif +ifeq ($(COVERAGE),yes) + USE_OPT += -fprofile-arcs -ftest-coverage +endif + #TODO! this is a nice goal #USE_OPT += $(RUSEFI_OPT) @@ -180,7 +183,10 @@ ULIBDIR = # List all user libraries here ULIBS = -lm -ULIBS += --coverage + +ifeq ($(COVERAGE),yes) + ULIBS += --coverage +endif ifneq ($(OS),Windows_NT) ULIBS += -fsanitize=address