aboutsummaryrefslogtreecommitdiff
path: root/libstb/secvar/test/Makefile.check
blob: 6d401cac6e4b03799939c5fc4863a60c7cd38017 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
# -*-Makefile-*-
SECVAR_TEST_DIR = libstb/secvar/test
#SUBDIRS = $(SECVAR_TEST_DIR)

SECVAR_TEST = $(patsubst %.c, %, $(wildcard $(SECVAR_TEST_DIR)/secvar-test-*.c))

HOSTCFLAGS+=-I . -I include -I libstb/tss2 -I libstb/tss2/ibmtpm20tss/utils
# Needed because x86 and POWER disagree on the type for uint64_t, causes printf issues
HOSTCFLAGS+= -Wno-format

.PHONY : secvar-check
secvar-check: $(SECVAR_TEST:%=%-check) $(SECVAR_TEST_NOSTUB:%=%-check)

.PHONY : secvar-coverage
secvar-coverage: $(SECVAR_TEST:%=%-gcov-run) $(SECVAR_TEST_NOSTUB:%=%-gcov-run)

check: secvar-check
coverage: secvar-coverage

# TODO: create pnor image for only tests that need it
$(SECVAR_TEST:%=%-gcov-run) : %-run: %
	@dd if=/dev/zero of=secboot.img bs=128k count=1 2> /dev/null
	$(call QTEST, TEST-COVERAGE ,$< , $<)
	@$(RM) -f secboot.img

$(SECVAR_TEST:%=%-check) : %-check: %
	@dd if=/dev/zero of=secboot.img bs=128k count=1 2> /dev/null
	$(call QTEST, RUN-TEST ,$(VALGRIND) $<, $<)
	@$(RM) -f secboot.img

$(SECVAR_TEST) : core/test/stubs.o

$(SECVAR_TEST) : % : %.c
	$(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) -O0 -g -I include -I . -I libfdt -o $@ $< core/test/stubs.o, $<)

$(SECVAR_TEST:%=%-gcov): %-gcov : %.c %
	$(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) $(HOSTGCOVCFLAGS) -I include -I . -I libfdt -lgcov -o $@ $< core/test/stubs.o, $<)

-include $(wildcard libstb/secvar/test/*.d)

clean: secvar-test-clean

secvar-test-clean:
	$(RM) -f libstb/secvar/test/*.[od] $(SECVAR_TEST) $(SECVAR_TEST:%=%-gcov)
	$(RM) -f libstb/secvar/test/*.gcda libstb/secvar/test/*.gcno
	$(RM) -f secboot.img