# Build rules for the OpenAFS test suite.
-srcdir=@srcdir@
+srcdir=@srcdir@/../src/external/c-tap-harness/tests
abs_top_srcdir=@abs_top_srcdir@
abs_top_builddir=@abs_top_builddir@
include @TOP_OBJDIR@/src/config/Makefile.config
include @TOP_OBJDIR@/src/config/Makefile.pthread
-MODULE_CFLAGS = -DSOURCE='"$(abs_top_srcdir)/tests"' \
- -DBUILD='"$(abs_top_builddir)/tests"'
+MODULE_CFLAGS = -DC_TAP_SOURCE='"$(abs_top_srcdir)/tests"' \
+ -DC_TAP_BUILD='"$(abs_top_builddir)/tests"'
-SUBDIRS = tap common auth util cmd
+SUBDIRS = tap common auth util cmd volser opr rx
all: runtests
@for A in $(SUBDIRS); do cd $$A && $(MAKE) $@ && cd .. || exit 1; done
runtests: runtests.o
$(AFS_LDRULE) runtests.o
-check test tests: runtests
- @for A in $(SUBDIRS); do cd $$A && $(MAKE) $@ && cd .. || exit 1; done
- LD_LIBRARY_PATH=@TOP_OBJDIR@/lib \
- ./runtests $(abs_top_srcdir)/tests/TESTS
+runtests.o: $(srcdir)/runtests.c
+ $(AFS_CCRULE) $(srcdir)/runtests.c
+
+RUNTESTS_V0_DEFAULT=-l $(abs_top_srcdir)/tests/TESTS
+RUNTESTS_V1_DEFAULT=-v -l $(abs_top_srcdir)/tests/TESTS
+
+# If $(TESTS) is blank, RUNTESTS_ARGS will expand to RUNTESTS_DEFAULT_, so
+# we'll run our default list of tests. If $(TESTS) is not blank,
+# $(RUNTESTS_DEFAULT_$(TESTS)) will expand into nothing, so RUNTESTS_ARGS will
+# just become effectively $(TESTS).
+RUNTESTS_DEFAULT_=$(RUNTESTS_V$(V)_DEFAULT)
+RUNTESTS_ARGS=$(RUNTESTS_DEFAULT_$(TESTS)) $(TESTS)
+
+# To run specific tests, run e.g. 'make check TESTS="rx/foo opr/foo"'
+check test tests: all runtests
+ MAKECHECK=1 $(abs_top_srcdir)/tests/libwrap @TOP_OBJDIR@/lib \
+ ./runtests $(RUNTESTS_ARGS)
install: