Adapt test harness for lib/util and move to regress directory.

This commit is contained in:
Todd C. Miller
2022-02-28 14:15:43 -07:00
parent 6a84523671
commit a57e979962
8 changed files with 32 additions and 59 deletions

View File

@@ -202,6 +202,9 @@ depend: siglist.c signame.c
--builddir=$(abs_top_builddir) lib/util/Makefile.in
cd $(top_builddir) && ./config.status --file lib/util/Makefile
harness: $(srcdir)/regress/harness.in
cd $(top_builddir) && ./config.status --file lib/util/regress/harness
Makefile: $(srcdir)/Makefile.in
cd $(top_builddir) && ./config.status --file lib/util/Makefile
@@ -449,52 +452,8 @@ check: $(TEST_PROGS) check-fuzzer
rm -f ./progname_test2; ln -s ./progname_test ./progname_test2; \
./progname_test2 || rval=`expr $$rval + $$?`; \
rm -f ./progname_test2; \
build_dir=`pwd`; \
cd $(srcdir); \
for dir in sudo_conf sudo_parseln; do \
passed=0; failed=0; total=0; \
mkdir -p $$build_dir/regress/$$dir; \
for t in regress/$$dir/*.in; do \
base=`basename $$t .in`; \
out="$$build_dir/regress/$$dir/$${base}.out"; \
out_ok="regress/$$dir/$${base}.out.ok"; \
err="$$build_dir/regress/$$dir/$${base}.err"; \
err_ok="regress/$$dir/$${base}.err.ok"; \
if test "$$dir" = "sudo_conf"; then \
$$build_dir/conf_test $$t >$$out 2>$$err; \
else \
$$build_dir/parseln_test <$$t >$$out 2>$$err; \
fi; \
if cmp $$out $$out_ok >/dev/null; then \
passed=`expr $$passed + 1`; \
echo "$$dir/$$base: OK"; \
else \
failed=`expr $$failed + 1`; \
echo "$$dir/$$base: FAIL"; \
diff $$out $$out_ok || true; \
fi; \
total=`expr $$total + 1`; \
if test -s $$err_ok; then \
if cmp $$err $$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 $$err $$err_ok || true; \
fi; \
total=`expr $$total + 1`; \
elif test -s $$err; then \
failed=`expr $$failed + 1`; \
echo "$$dir/$$base (stderr): FAIL"; \
cat $$err 1>&2; \
fi; \
done; \
if test $$failed -ne 0; then \
rval=`expr $$rval + $$failed`; \
fi; \
echo "$$dir: $$passed/$$total tests passed; $$failed/$$total tests failed"; \
done; \
AWK=$(AWK) $(SHELL) regress/harness sudo_conf || rval=`expr $$rval + $$?`; \
AWK=$(AWK) $(SHELL) regress/harness sudo_parseln || rval=`expr $$rval + $$?`; \
exit $$rval; \
fi
@@ -519,7 +478,7 @@ realclean: distclean
cleandir: realclean
.PHONY: clean mostlyclean distclean cleandir clobber realclean \
$(FUZZ_SEED_CORPUS) run-fuzz_sudo_conf
harness $(FUZZ_SEED_CORPUS) run-fuzz_sudo_conf
# Autogenerated dependencies, do not modify
aix.lo: $(srcdir)/aix.c $(incdir)/compat/stdbool.h $(incdir)/sudo_compat.h \