blob: 4cae5884f82ac2b0c1f921e523d977a53ccddc15 (
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
CFLAGS=-I../include/ -D_FORTIFY_SOURCE=3 -static -O2
TARGETS= \
test_fgets \
test_memcpy_static_write \
test_memcpy_dynamic_write \
test_memcpy_static_read \
test_memcpy_dynamic_read \
test_mempcpy_static_write \
test_mempcpy_dynamic_write \
test_mempcpy_static_read \
test_mempcpy_dynamic_read \
test_memmove_static_write \
test_memmove_dynamic_write \
test_memmove_static_read \
test_memmove_dynamic_read \
test_memset_static_write \
test_memset_dynamic_write \
test_stpcpy_overwrite_over \
test_stpcpy_overwrite_under \
test_stpcpy_static_write \
test_strcat_static_write \
test_strcpy_overwrite_over \
test_strcpy_overwrite_under \
test_strcpy_static_write \
test_strncat_static_write \
test_strncpy_overwrite_over \
test_strncpy_overwrite_under \
test_strncpy_static_write \
test_stpncpy_overwrite_over \
test_stpncpy_overwrite_under \
test_stpncpy_static_write \
test_getcwd \
test_poll \
test_ppoll \
.SILENT:
gcc: CC=../x86_64-linux-musl-native/bin/gcc
gcc: GCOV=../x86_64-linux-musl-native/bin/gcov
gcc: clean all
clang: CC=clang
clang: GCOV=gcov
clang: CFLAGS+=-I/usr/include/x86_64-linux-musl
clang: CLFAGS+=-nostdlib
clang: clean all
all: $(TARGETS) run
coverage: CFLAGS += -fprofile-arcs -ftest-coverage
coverage: CC=../x86_64-linux-musl-native/bin/gcc
coverage: GCOV=../x86_64-linux-musl-native/bin/gcov
coverage: all
$(GCOV) *.c
lcov --capture --directory . --output-file coverage.info
genhtml coverage.info --output-directory coverage
$(TARGETS): %: %.c
$(CC) $(CFLAGS) -o $@ $<
run: $(TARGETS)
$(foreach EXE, $(TARGETS), \
timeout 1s ./$(EXE) 1 2 3 4 5 6 7 8 9 0 >/dev/null && echo "$(EXE) OK" || echo "$(EXE) FAIL" ; \
)
clean:
$(foreach EXE, $(TARGETS), \
rm -f ./$(EXE) \
)
rm -rf ./*.gcno ./*.gcda ./*.gcov ./coverage.info ./coverage
|