tests: add checks for SHA executable
[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 SHA := sha1sum
14 SHASUM := $(shell which $(SHA) )
15 HDR_ORIG := header_test.bin
16 HDR_TEST := $(TEST_DIR)/header_test.bin
17 CHK_HDR_ORIG=$(shell $(SHASUM) $(HDR_TEST) )
18
19 tests: banner test_nochange test_man_nomatch test_man_match
20         -rm -rf $(TEST_DIR)
21
22 banner:
23         @echo "Starting tests"
24
25 tests_dir: $(TEST_DIR)
26         @echo "Tests directory: $(TEST_DIR)"
27
28 exe:
29         @echo "Testing $(EXE)"
30         @test -e $(EXE) || ( echo "executable $(EXE) does not exist" && /bin/false )
31         @test -f $(EXE) || ( echo "executable $(EXE) is not a file" && /bin/false )
32         @test -x $(EXE) || ( echo "executable $(EXE) is not executable" && /bin/false )
33         @echo "Checking for $(SHA)"
34         @test -x $(SHASUM) || ( echo "$(SHA) not found" && /bin/false )
35
36 checksum:
37         echo $(CHK_HDR_ORIG) | $(SHASUM) --check --quiet
38
39 hdr_duplicate:
40         cp $(HDR_ORIG) $(HDR_TEST)
41
42 test_nochange: exe tests_dir hdr_duplicate checksum
43         $(EXE) $(OPTS) $(HDR_TEST) 2>/dev/null 
44
45 test_man_nomatch:
46
47 test_man_match:
48
49 .PHONY: tests exe
50