From 6d08c4b406f1154b6476fb85a1d3ccb04338e53c Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Thu, 23 Aug 2012 14:47:58 -0400 Subject: [PATCH] When running regress tests, list pass/fail rate for each dir (testsudoers and visudo) instead of the total. Also prevent the result files from clobbering each other by keeping them in the relevant directories. --- plugins/sudoers/Makefile.in | 84 +++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/plugins/sudoers/Makefile.in b/plugins/sudoers/Makefile.in index e47bf7798..74e7bd92e 100644 --- a/plugins/sudoers/Makefile.in +++ b/plugins/sudoers/Makefile.in @@ -315,67 +315,69 @@ check: $(TEST_PROGS) visudo testsudoers diff check_wrap.out $(srcdir)/regress/logging/check_wrap.out.ok; \ rval=`expr $$rval + $$?`; \ passed=0; failed=0; total=0; \ - for t in $(srcdir)/regress/sudoers/*.in; do \ - dir=`dirname $$t`; \ - dirbase=`basename $$dir`; \ + mkdir -p regress/sudoers; \ + dir=sudoers; \ + for t in $(srcdir)/regress/$$dir/*.in; do \ base=`basename $$t .in`; \ - out="$${base}.out"; \ - toke="$${base}.toke"; \ + out="regress/sudoers/$${base}.out"; \ + toke="regress/sudoers/$${base}.toke"; \ ./testsudoers -dt <$$t >$$out 2>$$toke; \ - if cmp $$out $$dir/$$out.ok >/dev/null; then \ + if cmp $$out $(srcdir)/$$out.ok >/dev/null; then \ passed=`expr $$passed + 1`; \ - echo "$$dirbase/$$base (parse): OK"; \ + echo "$$dir/$$base (parse): OK"; \ else \ failed=`expr $$failed + 1`; \ - echo "$$dirbase/$$base: FAIL"; \ - diff $$out $$dir/$$out.ok; \ + echo "$$dir/$$base: FAIL"; \ + diff $$out $(srcdir)/$$out.ok; \ fi; \ total=`expr $$total + 1`; \ - if cmp $$toke $$dir/$$toke.ok >/dev/null; then \ + if cmp $$toke $(srcdir)/$$toke.ok >/dev/null; then \ passed=`expr $$passed + 1`; \ - echo "$$dirbase/$$base (toke): OK"; \ + echo "$$dir/$$base (toke): OK"; \ else \ failed=`expr $$failed + 1`; \ - echo "$$dirbase/$$base (toke): FAIL"; \ - diff $$out $$dir/$$out.ok; \ + echo "$$dir/$$base (toke): FAIL"; \ + diff $$out $(srcdir)/$$out.ok; \ fi; \ total=`expr $$total + 1`; \ done; \ - echo "$$dirbase: $$passed/$$total tests passed; $$failed/$$total tests failed"; \ + echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \ rval=`expr $$rval + $$failed`; \ - passed=0; failed=0; total=0; \ - for t in $(srcdir)/regress/*/*.sh; do \ - dir=`dirname $$t`; \ - dirbase=`basename $$dir`; \ - base=`basename $$t .sh`; \ - out="$${base}.out"; \ - err="$${base}.err"; \ - TESTDIR=$$PWD/$$dir $(SHELL) $$t >$$out 2>$$err; \ - if cmp $$out $$dir/$$out.ok >/dev/null; then \ - passed=`expr $$passed + 1`; \ - echo "$$dirbase/$$base: OK"; \ - else \ - failed=`expr $$failed + 1`; \ - echo "$$dirbase/$$base: FAIL"; \ - diff $$out $$dir/$$out.ok; \ - fi; \ - total=`expr $$total + 1`; \ - if test -s $$dir/$$err.ok; then \ - if cmp $$err $$dir/$$err.ok >/dev/null; then \ + for dir in testsudoers visudo; do \ + mkdir -p regress/$$dir; \ + passed=0; failed=0; total=0; \ + for t in $(srcdir)/regress/$$dir/*.sh; do \ + base=`basename $$t .sh`; \ + out="regress/$$dir/$${base}.out"; \ + err="regress/$$dir/$${base}.err"; \ + TESTDIR=$$PWD/$(srcdir)/regress/$$dir \ + $(SHELL) $$t >$$out 2>$$err; \ + if cmp $$out $(srcdir)/$$out.ok >/dev/null; then \ passed=`expr $$passed + 1`; \ - echo "$$dirbase/$$base (stderr): OK"; \ + echo "$$dir/$$base: OK"; \ else \ failed=`expr $$failed + 1`; \ - echo "$$dirbase/$$base (stderr): FAIL"; \ - diff $$out $$dir/$$out.ok; \ + echo "$$dir/$$base: FAIL"; \ + diff $$out $(srcdir)/$$out.ok; \ fi; \ total=`expr $$total + 1`; \ - elif test -s $$err; then \ - cat $$err 1>&2; \ - fi; \ + if test -s $(srcdir)/$$err.ok; then \ + if cmp $$err $(srcdir)/$$err.ok >/dev/null; then \ + passed=`expr $$passed + 1`; \ + echo "$$dir/$$base (stderr): OK"; \ + else \ + failed=`expr $$failed + 1`; \ + echo "$$dir/$$base (stderr): FAIL"; \ + diff $$out $(srcdir)/$$out.ok; \ + fi; \ + total=`expr $$total + 1`; \ + elif test -s $$err; then \ + cat $$err 1>&2; \ + fi; \ + done; \ + echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \ + rval=`expr $$rval + $$failed`; \ done; \ - echo "$$dirbase: $$passed/$$total tests passed; $$failed/$$total tests failed"; \ - rval=`expr $$rval + $$failed`; \ exit $$rval; \ fi -- 2.40.0