mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-28 21:07:55 +00:00
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.
This commit is contained in:
parent
e498bab4c1
commit
6d08c4b406
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user