X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Ftests%2FMake.tests;h=b60243f5c6bc7640fd2bc32bfa03c1833cbdaa7b;hb=a705e9ae16e14e24d313916a0c5402e175f8cce5;hp=b7c143266b15c67fda7fad7c637b54297f9f7726;hpb=c680fb42206bf424fa172bc9557b068ec93931c4;p=pintos-anon diff --git a/src/tests/Make.tests b/src/tests/Make.tests index b7c1432..b60243f 100644 --- a/src/tests/Make.tests +++ b/src/tests/Make.tests @@ -18,36 +18,29 @@ RESULTS = $(addsuffix .result,$(TESTS)) clean:: rm -f $(OUTPUTS) $(ERRORS) $(RESULTS) -grade:: ../rubric.txt results - @pass=; \ - for d in $(TESTS); do \ - if echo PASS | cmp -s $$d.result -; then \ - pass="$$pass $$d"; \ - fi \ - done; \ - $(SRCDIR)/tests/make-grade $< $$pass +grade:: results + $(SRCDIR)/tests/make-grade $(SRCDIR) $< $(GRADING_FILE) | tee $@ check:: results - @f=0; \ - n=0; \ - echo "Test summary:"; \ - for d in $(TESTS); do \ + @cat $< + @COUNT="`egrep '^(pass|FAIL) ' $< | wc -l`"; \ + FAILURES="`egrep '^FAIL ' $< | wc -l`"; \ + if [ "$$FAILURES" = 0 ]; then \ + echo "All $$COUNT tests passed."; \ + else \ + echo "$$FAILURES of $$COUNT tests failed."; \ + exit 1; \ + fi + +results: $(RESULTS) + @for d in $(TESTS); do \ if echo PASS | cmp -s $$d.result -; then \ echo "pass $$d"; \ else \ echo "FAIL $$d"; \ - f=`expr $$f + 1`; \ fi; \ - n=`expr $$n + 1`; \ - done; \ - if [ $$f = 0 ]; then \ - echo "All $$n tests passed."; \ - else \ - echo "$$f of $$n tests failed."; \ - exit 1; \ - fi + done > $@ -results:: $(RESULTS) outputs:: $(OUTPUTS) $(foreach prog,$(PROGS),$(eval $(prog).output: $(prog)))