[svn-r4434] Purpose:

New feature.
Description:
    Test programs were assumed to be serial programs only.
    There was no provision to test parallel programs automatically.
Solution:
    Added $(TEST_PARA_PROGS) to hold parallel test programs and
    added appropriate action entry to test them if defined.
Platforms tested:
    Eirene (parallel).
This commit is contained in:
Albert Cheng 2001-09-10 23:04:15 -05:00
parent d6f340c9bf
commit 15c3995e05
3 changed files with 18 additions and 5 deletions

View File

@ -68,6 +68,7 @@ PUB_DOCS=
PUB_SUBDOCS=
PROGS=
TEST_PROGS=
TEST_PROGS_PARA=
TEST_FLAGS=
TEST_SCRIPTS=

View File

@ -33,7 +33,7 @@ TAGS: $(LIB_SRC)
## Since tests are done in a shell loop, "make -i" does apply inside it.
## Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
##
tests: $(TEST_PROGS) $(LIB)
tests: $(TEST_PROGS) $(TEST_PROGS_PARA) $(LIB)
check test _test: tests
@for test in $(TEST_PROGS) dummy; do \
if test $$test != dummy; then \
@ -48,6 +48,19 @@ check test _test: tests
fi; \
done; \
test $$test = dummy || false
@for test in $(TEST_PROGS_PARA) dummy; do \
if test $$test != dummy; then \
echo "============================"; \
echo "Testing $$test $(TEST_FLAGS)"; \
echo "============================"; \
srcdir="$(srcdir)" \
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
break; \
echo ""; \
fi; \
done; \
test $$test = dummy || false
@for test in $(TEST_SCRIPTS) dummy; do \
if test $$test != dummy; then \
echo "============================"; \
@ -210,8 +223,8 @@ clean: mostlyclean
(set -x; cd $$d; $(MAKE) $@) || exit 1; \
fi; \
done
@if test -n "$(LIB)" -o -n "$(TEST_PROGS)" -o -n "$(PROGS)" -o -n "$(CLEAN)"; then \
$(RM) $(LIB) $(TEST_PROGS) $(PROGS) $(CLEAN); \
@if test -n "$(LIB)" -o -n "$(TEST_PROGS)" -o -n "$(TEST_PROGS_PARA)" -o -n "$(PROGS)" -o -n "$(CLEAN)"; then \
$(RM) $(LIB) $(TEST_PROGS) $(TEST_PROGS_PARA) $(PROGS) $(CLEAN); \
fi;
-$(RM) -r .libs

View File

@ -17,8 +17,7 @@ LIBH5TEST=../test/libh5test.la
## These are the programs that `make all' or `make tests' will build and which
## `make check' will run. List them in the order they should be run.
TEST_PROGS_PARA=mpi-perf perf
TEST_PROGS=iopipe chunk overhead \
$(TEST_PROGS_PARA)
TEST_PROGS=iopipe chunk overhead
## These are the files that `make clean' (and derivatives) will remove from
## this directory.