tests: use Make variable for "rm"
[firmware_header_edit.git] / testsuite / Makefile
1 OPT_i = -i
2 OPT_l = -l
3 OPT_m = -m
4 OPT_M = -M
5 OPT_s = -s
6 opt_w = -w
7
8 # test suite formatted output
9 OPTS = -t -q
10
11 EXE := ../$(PROG)
12 TEST_DIR := $(shell mktemp --directory )
13 CP := cp
14 RM := rm -f
15 SHA := sha1sum
16 SHASUM := $(shell which $(SHA) )
17 HDR_ORIG := header_test.bin
18 HDR_TEST := $(TEST_DIR)/header_test.bin
19 CHK_HDR_ORIG=$(shell $(SHASUM) $(HDR_TEST) )
20
21 tests: banner test_nochange test_man_nomatch test_man_match
22         -$(RM) -r $(TEST_DIR)
23
24 banner:
25         @echo "Starting tests"
26
27 tests_dir: $(TEST_DIR)
28         @echo "Tests directory: $(TEST_DIR)"
29
30 exe:
31         @echo "Testing $(EXE)"
32         @test -e $(EXE) || ( echo "executable $(EXE) does not exist" && /bin/false )
33         @test -f $(EXE) || ( echo "executable $(EXE) is not a file" && /bin/false )
34         @test -x $(EXE) || ( echo "executable $(EXE) is not executable" && /bin/false )
35         @echo "Checking for $(SHA)"
36         @test -x $(SHASUM) || ( echo "$(SHA) not found" && /bin/false )
37
38 checksum:
39         echo $(CHK_HDR_ORIG) | $(SHASUM) --check --quiet
40
41 hdr_duplicate:
42         $(CP) $(HDR_ORIG) $(HDR_TEST)
43
44 test_nochange: exe tests_dir hdr_duplicate checksum
45         $(EXE) $(OPTS) $(HDR_TEST) 2>/dev/null 
46
47 test_man_nomatch:
48
49 test_man_match:
50
51 .PHONY: tests exe
52