| 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*
 | 
|---|