1 CFLAGS=-O 2 3 puff: puff.o pufftest.o 4 5 puff.o: puff.h 6 7 pufftest.o: puff.h 8 9 test: puff 10 puff zeros.raw 11 12 puft: puff.c puff.h pufftest.o 13 cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o 14 15 # puff full coverage test (should say 100%) 16 cov: puft 17 @rm -f *.gcov *.gcda 18 @puft -w zeros.raw 2>&1 | cat > /dev/null 19 @echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 20 @echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 21 @echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254 22 @echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 23 @echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null 24 @echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 25 @echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 26 @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 27 @echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249 28 @echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 29 @echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null 30 @echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 31 @echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245 32 @puft -f zeros.raw 2>&1 | cat > /dev/null 33 @echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253 34 @echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252 35 @echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251 36 @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248 37 @echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250 38 @echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247 39 @gcov -n puff.c 40 41 clean: 42 rm -f puff puft *.o *.gc* 43