diff --git a/Makefile b/Makefile index 2ccc755c3f1b10e948252f51f08e83f0b9ba12e8..dfdfe33cf58d5cd3e30cfd5b5ad2eb25046fbd5e 100644 --- a/Makefile +++ b/Makefile @@ -11,14 +11,14 @@ TESTS_8 = $(TESTS_7) Arithmetic CoinSums DigitPermutations FunctionCall \ Goldbach IntegerTypes Jumps PalindromeProduct Primes Recursion test: test8 -test1: $(addprefix tests/,$(TESTS_1:=-result.txt)) -test2: $(addprefix tests/,$(TESTS_2:=-result.txt)) -test3: $(addprefix tests/,$(TESTS_3:=-result.txt)) -test4: $(addprefix tests/,$(TESTS_4:=-result.txt)) -test5: $(addprefix tests/,$(TESTS_5:=-result.txt)) -test6: $(addprefix tests/,$(TESTS_6:=-result.txt)) -test7: $(addprefix tests/,$(TESTS_7:=-result.txt)) -test8: $(addprefix tests/,$(TESTS_8:=-result.txt)) +test1: $(TESTS_1:=-result) +test2: $(TESTS_2:=-result) +test3: $(TESTS_3:=-result) +test4: $(TESTS_4:=-result) +test5: $(TESTS_5:=-result) +test6: $(TESTS_6:=-result) +test7: $(TESTS_7:=-result) +test8: $(TESTS_8:=-result) jvm: jvm.o read_class.o $(CC) $(CFLAGS) $^ -o $@ @@ -32,11 +32,8 @@ tests/%-expected.txt: tests/%.class tests/%-actual.txt: tests/%.class jvm ./jvm $< > $@ -tests/%-result.txt: tests/%-expected.txt tests/%-actual.txt - diff -u $^ | tee $@; \ - name='test $(@F:-result.txt=)'; \ - if [ -s $@ ]; then echo FAILED $$name. Aborting.; false; \ - else echo PASSED $$name.; fi +%-result: tests/%-expected.txt tests/%-actual.txt + diff -u $^ && echo PASSED test $(@:-result=). || (echo FAILED test $(@:-result=). Aborting.; false) clean: rm -f *.o jvm tests/*.txt `find tests -name '*.java' | sed 's/java/class/'`