mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-31 17:10:47 +08:00
[svn-r11008] Purpose:
Feature: tests now use parallel make and only run once Description: When make is invoked in parallel (using the -j option), several tests will now be run simultaneously. This should speed up testing on a number of systems. When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents the test from running again unless the test or library changes. Solution: Most of the changes live in config/conclude.am. Added *.chkexe and *.chksh files to the list of files to be cleaned at "make mostlyclean" time. Parallel tests still run one at a time, but use the same make instructions as serial tests. Platforms tested: mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably due to the test being run before updating hdf5. Will re-run tests after checkin.)
This commit is contained in:
parent
afcd1ddb39
commit
43f091f462
@ -309,6 +309,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
@BUILD_PARALLEL_CONDITIONAL_FALSE@TESTPARALLEL_DIR =
|
||||
|
||||
# Define subdirectories to build.
|
||||
@ -675,6 +678,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
168
c++/Makefile.in
168
c++/Makefile.in
@ -279,6 +279,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@SUBDIRS = src test
|
||||
DIST_SUBDIRS = src test examples
|
||||
|
||||
@ -294,6 +297,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -533,6 +540,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -634,9 +642,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -663,71 +671,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -740,40 +760,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -39,7 +39,7 @@ INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
|
||||
# These are the files that 'make clean' (and derivatives) will remove from this
|
||||
# directory. Since automake doesn't know about the examples, we need to
|
||||
# tell it to clean the example programs, too.
|
||||
MOSTLYCLEANFILES=*.h5
|
||||
MOSTLYCLEANFILES+=*.h5
|
||||
CLEANFILES=$(EXTRA_PROG)
|
||||
|
||||
# Tell conclude.am that these are C++ tests.
|
||||
|
@ -272,6 +272,13 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# These are the files that 'make clean' (and derivatives) will remove from this
|
||||
# directory. Since automake doesn't know about the examples, we need to
|
||||
# tell it to clean the example programs, too.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5
|
||||
|
||||
# Use h5c++ to build examples, instead of reguar C++ compiler
|
||||
H5CPP = $(bindir)/h5c++
|
||||
|
||||
@ -287,11 +294,6 @@ EXTRA_PROG = $(TEST_PROG)
|
||||
INSTALL_FILES = create.cpp readdata.cpp writedata.cpp compound.cpp \
|
||||
extend_ds.cpp chunks.cpp h5group.cpp
|
||||
|
||||
|
||||
# These are the files that 'make clean' (and derivatives) will remove from this
|
||||
# directory. Since automake doesn't know about the examples, we need to
|
||||
# tell it to clean the example programs, too.
|
||||
MOSTLYCLEANFILES = *.h5
|
||||
CLEANFILES = $(EXTRA_PROG)
|
||||
|
||||
# Tell conclude.am that these are C++ tests.
|
||||
@ -312,6 +314,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -527,9 +533,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -556,71 +562,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -633,40 +651,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -314,6 +314,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
|
||||
@ -364,6 +367,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -628,6 +635,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -712,9 +720,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -741,71 +749,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -818,40 +838,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -303,6 +303,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src, test, and c++/src directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
|
||||
|
||||
@ -333,6 +336,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -521,6 +528,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -600,9 +608,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -629,71 +637,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -706,40 +726,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -53,3 +53,5 @@ AUTOHEADER=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoheade
|
||||
AUTOMAKE=/afs/ncsa/projects/hdf/packages/automake_1.9.5/Linux_2.4/bin/automake
|
||||
AUTOCONF=/afs/ncsa/projects/hdf/packages/autoconf_2.59/Linux_2.4/bin/autoconf
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES=*.chkexe *.chksh
|
||||
|
@ -20,9 +20,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -49,71 +49,88 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
TEST_PROG_CHKEXE=$(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE=$(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH=$(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH=$(TEST_SCRIPT_PARA:=.chksh_)
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -126,40 +143,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -277,6 +277,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Add doc-specific include
|
||||
|
||||
# Subdirectories in build-order
|
||||
@ -519,6 +522,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/ADGuide
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -395,6 +398,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/Graphics
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -393,6 +396,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/Intro
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -393,6 +396,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -286,6 +286,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5
|
||||
|
||||
# Subdirectories in build-order
|
||||
@ -572,6 +575,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -263,6 +263,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdirc)/hdf5/PSandPDF
|
||||
all: all-am
|
||||
|
||||
@ -360,6 +363,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/TechNotes
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -402,6 +405,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/Tutor/Graphics
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -401,6 +404,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -282,6 +282,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
SUBDIRS = Graphics examples
|
||||
localdocdir = $(docdir)/hdf5/Tutor
|
||||
|
||||
@ -553,6 +556,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -275,6 +275,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/Tutor/examples
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -436,6 +439,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/cpplus
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -393,6 +396,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/ed_libs
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -397,6 +400,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/ed_styles
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -396,6 +399,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -273,6 +273,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
localdocdir = $(docdir)/hdf5/fortran
|
||||
|
||||
# Public doc files (to be installed)...
|
||||
@ -393,6 +396,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
|
@ -271,6 +271,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
@BUILD_PARALLEL_CONDITIONAL_FALSE@TEST_PROG_PARA =
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = ph5example
|
||||
|
||||
@ -317,6 +320,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -414,6 +421,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
@ -540,9 +548,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -569,71 +577,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -646,40 +666,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -283,6 +283,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TESTPARALLEL_DIR = testpar
|
||||
|
||||
# Subdirectories in build order, not including examples directory
|
||||
@ -303,6 +306,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -542,6 +549,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -643,9 +651,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -672,71 +680,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -749,40 +769,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -272,6 +272,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Compile parallel fortran examples only if parallel is enabled
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = ph5example
|
||||
|
||||
@ -317,6 +320,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -414,6 +421,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
@ -543,9 +551,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -572,71 +580,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -649,40 +669,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -55,7 +55,7 @@ DISTCLEANFILES=h5fc libhdf5_fortran.settings
|
||||
# H5fortran_types.f90 and H5f90i.h are automatically generaed by
|
||||
# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
|
||||
# is generated by H5fortran_detect
|
||||
MOSTLYCLEANFILES=H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
|
||||
MOSTLYCLEANFILES+=H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
|
||||
H5fortran_detect.f90
|
||||
|
||||
# Fortran module files can have different extensions and different names
|
||||
|
@ -339,6 +339,14 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# H5fortran_types.f90 and H5f90i.h are automatically generaed by
|
||||
# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
|
||||
# is generated by H5fortran_detect
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh H5fortran_types.f90 H5f90i_gen.h \
|
||||
H5fort_type_defines.h H5fortran_detect.f90
|
||||
|
||||
# Include src directory in both Fortran and C flags (C compiler is used
|
||||
# for linking)
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
@ -369,13 +377,6 @@ libhdf5_fortran_la_SOURCES = H5fortran_flags.f90 H5f90global.f90 \
|
||||
# Remove them only when distclean.
|
||||
DISTCLEANFILES = h5fc libhdf5_fortran.settings
|
||||
|
||||
# H5fortran_types.f90 and H5f90i.h are automatically generaed by
|
||||
# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
|
||||
# is generated by H5fortran_detect
|
||||
MOSTLYCLEANFILES = H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
|
||||
H5fortran_detect.f90
|
||||
|
||||
|
||||
# Install libhdf5_fortran.settings in lib directory
|
||||
settingsdir = $(libdir)
|
||||
settings_DATA = libhdf5_fortran.settings
|
||||
@ -413,6 +414,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
@ -843,9 +848,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -872,71 +877,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -949,40 +966,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -55,7 +55,7 @@ LIBADD=$(LIBH5TEST) $(LIBHDF5) $(LIBH5F)
|
||||
LDADD=libh5test_fortran.la $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES=*.h5 *.tmp
|
||||
MOSTLYCLEANFILES+=*.h5 *.tmp
|
||||
|
||||
# Mark this directory as part of the Fortran API (this affects output
|
||||
# from tests in conclude.am)
|
||||
|
@ -341,6 +341,11 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 *.tmp
|
||||
|
||||
# Include files
|
||||
AM_FCFLAGS = -I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/fortran/src
|
||||
@ -375,9 +380,6 @@ fflush2_SOURCES = fflush2.f90
|
||||
LIBADD = $(LIBH5TEST) $(LIBHDF5) $(LIBH5F)
|
||||
LDADD = libh5test_fortran.la $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = *.h5 *.tmp
|
||||
|
||||
# Mark this directory as part of the Fortran API (this affects output
|
||||
# from tests in conclude.am)
|
||||
HDF_FORTRAN = yes
|
||||
@ -394,6 +396,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -807,9 +813,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -836,71 +842,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -913,40 +931,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -296,6 +296,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include files
|
||||
AM_FCFLAGS = -I$(top_srcdir)/fortran/src -I$(top_srcdir)/fortran/test $(F9XMODFLAG)$(top_builddir)/fortran/src
|
||||
|
||||
@ -330,6 +333,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -496,6 +503,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -573,9 +581,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -602,71 +610,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -679,40 +699,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
168
hl/Makefile.in
168
hl/Makefile.in
@ -275,6 +275,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
@BUILD_FORTRAN_CONDITIONAL_TRUE@FORTRAN_DIR = fortran
|
||||
@BUILD_CXX_CONDITIONAL_TRUE@CXX_DIR = c++
|
||||
@BUILD_HDF5_HL_CONDITIONAL_TRUE@SUBDIRS = src test $(CXX_DIR) $(FORTRAN_DIR)
|
||||
@ -291,6 +294,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -530,6 +537,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -608,9 +616,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -637,71 +645,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -714,40 +734,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -280,6 +280,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
SUBDIRS = src test
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -294,6 +297,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -533,6 +540,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -611,9 +619,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -640,71 +648,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -717,40 +737,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -303,6 +303,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src
|
||||
|
||||
@ -333,6 +336,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -551,6 +558,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -633,9 +641,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -662,71 +670,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -739,40 +759,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -297,6 +297,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_srcdir)/hl/c++/src -I$(top_srcdir)/test
|
||||
|
||||
@ -323,6 +326,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -503,6 +510,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -582,9 +590,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -611,71 +619,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -688,40 +708,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -275,6 +275,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
SUBDIRS = src test
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -289,6 +292,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -528,6 +535,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -606,9 +614,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -635,71 +643,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -712,40 +732,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -296,6 +296,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \
|
||||
-I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src
|
||||
|
||||
@ -327,6 +330,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -540,6 +547,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -657,9 +665,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -686,71 +694,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -763,40 +783,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -29,6 +29,6 @@ tstimage_SOURCES=tstimage.f90
|
||||
tsttable_SOURCES=tsttable.f90
|
||||
|
||||
# Temporary files.
|
||||
MOSTLYCLEANFILES=dsetf[1-4].h5 f1img.h5 f1tab.h5
|
||||
MOSTLYCLEANFILES+=dsetf[1-4].h5 f1img.h5 f1tab.h5
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -295,6 +295,11 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh dsetf[1-4].h5 f1img.h5 f1tab.h5
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src -I$(top_srcdir)/hl/src
|
||||
AM_FCFLAGS = -I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/hl/fortran/src
|
||||
|
||||
@ -310,9 +315,6 @@ tstlite_SOURCES = tstlite.f90
|
||||
tstimage_SOURCES = tstimage.f90
|
||||
tsttable_SOURCES = tsttable.f90
|
||||
|
||||
# Temporary files.
|
||||
MOSTLYCLEANFILES = dsetf[1-4].h5 f1img.h5 f1tab.h5
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
# These will be filled in automatically for the most part (e.g.,
|
||||
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
|
||||
@ -325,6 +327,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -575,9 +581,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -604,71 +610,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -681,40 +699,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -294,6 +294,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Add include directories to the C preprocessor flags
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/src
|
||||
|
||||
@ -316,6 +319,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -539,6 +546,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -621,9 +629,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -650,71 +658,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -727,40 +747,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -22,7 +22,7 @@ TEST_PROG=test_lite test_image test_table test_ds test_packet
|
||||
check_PROGRAMS=$(TEST_PROG)
|
||||
|
||||
# Temporary files. These files are the ones created by running `make test'.
|
||||
MOSTLYCLEANFILES=combine_tables[1-2].h5 test_ds[1-6].h5 test_image[1-3].h5 \
|
||||
MOSTLYCLEANFILES+=combine_tables[1-2].h5 test_ds[1-6].h5 test_image[1-3].h5 \
|
||||
test_lite[1-2].h5 test_table.h5 test_packet_table.h5
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -306,6 +306,13 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. These files are the ones created by running `make test'.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh combine_tables[1-2].h5 \
|
||||
test_ds[1-6].h5 test_image[1-3].h5 test_lite[1-2].h5 \
|
||||
test_table.h5 test_packet_table.h5
|
||||
|
||||
# Add include directories to C preprocessor flags
|
||||
AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_builddir)/src -I$(top_srcdir)/src -I$(top_srcdir)/hl/src
|
||||
|
||||
@ -316,11 +323,6 @@ LDADD = $(LIBH5_HL) $(LIBHDF5)
|
||||
# order to be executed, generally most specific tests to least specific tests.
|
||||
TEST_PROG = test_lite test_image test_table test_ds test_packet
|
||||
|
||||
# Temporary files. These files are the ones created by running `make test'.
|
||||
MOSTLYCLEANFILES = combine_tables[1-2].h5 test_ds[1-6].h5 test_image[1-3].h5 \
|
||||
test_lite[1-2].h5 test_table.h5 test_packet_table.h5
|
||||
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
# These will be filled in automatically for the most part (e.g.,
|
||||
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
|
||||
@ -333,6 +335,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -609,9 +615,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -638,71 +644,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -715,40 +733,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -304,6 +304,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
gif2h5_SOURCES = gif2hdf.c gif2mem.c decompress.c gifread.c writehdf.c
|
||||
@ -324,6 +327,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -537,6 +544,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -616,9 +624,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -645,71 +653,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -722,40 +742,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -324,6 +324,9 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
|
||||
@BUILD_PARALLEL_CONDITIONAL_TRUE@TEST_PROG_PARA = h5perf
|
||||
|
||||
@ -357,6 +360,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -594,6 +601,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
@ -675,9 +683,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -704,71 +712,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -781,40 +801,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -34,7 +34,7 @@ lib_LTLIBRARIES=libhdf5.la
|
||||
libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE)
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES=H5detect.o H5detect.lo H5detect H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
MOSTLYCLEANFILES+=H5detect.o H5detect.lo H5detect H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
|
||||
# libhdf5.settings is generated during configure. Remove it when distclean.
|
||||
DISTCLEAN=libhdf5.settings
|
||||
|
173
src/Makefile.in
173
src/Makefile.in
@ -338,6 +338,12 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh H5detect.o H5detect.lo H5detect \
|
||||
H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
|
||||
# Add libtool shared library version numbers to the HDF5 library
|
||||
# See libtool versioning documentation online.
|
||||
LT_VERS_INTERFACE = 2
|
||||
@ -351,9 +357,6 @@ lib_LTLIBRARIES = libhdf5.la
|
||||
# Add libtool numbers to the HDF5 library (from config/lt_vers.am)
|
||||
libhdf5_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE)
|
||||
|
||||
# Temporary files
|
||||
MOSTLYCLEANFILES = H5detect.o H5detect.lo H5detect H5Tinit.o H5Tinit.lo H5Tinit.c
|
||||
|
||||
# libhdf5.settings is generated during configure. Remove it when distclean.
|
||||
DISTCLEAN = libhdf5.settings
|
||||
|
||||
@ -415,6 +418,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: H5config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
@ -926,9 +933,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -955,71 +962,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -1032,40 +1051,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -29,6 +29,7 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# These are our main targets. They should be listed in the order to be
|
||||
# executed, generally most specific tests to least specific tests.
|
||||
# JAMES debug: removed btree2 and cache tests since they take so long.
|
||||
TEST_PROG=testhdf5 lheap ohdr stab gheap cache btree2 blocktrack sheap \
|
||||
pool hyperslab istore bittests dt_arith \
|
||||
dtypes dsets cmpd_dset extend external links unlink big mtime \
|
||||
@ -76,7 +77,7 @@ timings _timings: testmeta
|
||||
# specifying a file prefix or low-level driver. Changing the file
|
||||
# prefix or low-level driver with environment variables will influence
|
||||
# the temporary file name in ways that the makefile is not aware of.
|
||||
MOSTLYCLEANFILES=cmpd_dset.h5 compact_dataset.h5 dataset.h5 extend.h5 istore.h5\
|
||||
MOSTLYCLEANFILES+=cmpd_dset.h5 compact_dataset.h5 dataset.h5 extend.h5 istore.h5\
|
||||
tfile[1-4].h5 th5s[1-3].h5 lheap.h5 ohdr.h5 stab[1-2].h5 \
|
||||
extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2]\
|
||||
links.h5 links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
|
||||
|
211
test/Makefile.in
211
test/Makefile.in
@ -491,6 +491,30 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. These files are the ones created by setting the
|
||||
# HDF5_NOCLEANUP environment variable and running `make test' without
|
||||
# specifying a file prefix or low-level driver. Changing the file
|
||||
# prefix or low-level driver with environment variables will influence
|
||||
# the temporary file name in ways that the makefile is not aware of.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh cmpd_dset.h5 compact_dataset.h5 \
|
||||
dataset.h5 extend.h5 istore.h5 tfile[1-4].h5 th5s[1-3].h5 \
|
||||
lheap.h5 ohdr.h5 stab[1-2].h5 extern_[1-3].h5 \
|
||||
extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2] links.h5 \
|
||||
links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
|
||||
dtypes[1-8].h5 dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 \
|
||||
unlink.h5 unicode.h5 fillval_[0-9].h5 fillval.raw \
|
||||
mount_[0-9].h5 testmeta.h5 ttime.h5 trefer[1-3].h5 tvltypes.h5 \
|
||||
tvlstr.h5 tvlstr2.h5 flush.h5 enum1.h5 titerate.h5 ttsafe.h5 \
|
||||
tarray1.h5 tgenprop.h5 tmisc[0-9]*.h5 set_extent_read.h5 \
|
||||
set_extent_create.h5 getname.h5 getname[1-3].h5 sec2_file.h5 \
|
||||
family_file000[0-3][0-9].h5 multi_file-[rs].h5 core_file \
|
||||
new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 \
|
||||
err_compat.h5 dtransform.h5 test_filters.h5 get_file_name.h5 \
|
||||
tstint[1-2].h5 unlink_chunked.h5 btree2.h5 blocktrack.h5 \
|
||||
sheap.h5
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/src
|
||||
|
||||
# Test script for error_test and err_compat
|
||||
@ -499,6 +523,7 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# These are our main targets. They should be listed in the order to be
|
||||
# executed, generally most specific tests to least specific tests.
|
||||
# JAMES debug: removed btree2 and cache tests since they take so long.
|
||||
TEST_PROG = testhdf5 lheap ohdr stab gheap cache btree2 blocktrack sheap \
|
||||
pool hyperslab istore bittests dt_arith \
|
||||
dtypes dsets cmpd_dset extend external links unlink big mtime \
|
||||
@ -525,28 +550,6 @@ ttsafe_SOURCES = ttsafe.c ttsafe_dcreate.c ttsafe_error.c ttsafe_cancel.c
|
||||
ttsafe_acreate.c
|
||||
|
||||
|
||||
# Temporary files. These files are the ones created by setting the
|
||||
# HDF5_NOCLEANUP environment variable and running `make test' without
|
||||
# specifying a file prefix or low-level driver. Changing the file
|
||||
# prefix or low-level driver with environment variables will influence
|
||||
# the temporary file name in ways that the makefile is not aware of.
|
||||
MOSTLYCLEANFILES = cmpd_dset.h5 compact_dataset.h5 dataset.h5 extend.h5 istore.h5\
|
||||
tfile[1-4].h5 th5s[1-3].h5 lheap.h5 ohdr.h5 stab[1-2].h5 \
|
||||
extern_[1-3].h5 extern_[1-4][ab].raw gheap[0-4].h5 dt_arith[1-2]\
|
||||
links.h5 links[1-3].h5 big.data big[0-9][0-9][0-9][0-9][0-9].h5 \
|
||||
dtypes[1-8].h5 dt_arith[1-2].h5 tattr.h5 tselect.h5 mtime.h5 \
|
||||
unlink.h5 unicode.h5 \
|
||||
fillval_[0-9].h5 fillval.raw mount_[0-9].h5 testmeta.h5 ttime.h5 \
|
||||
trefer[1-3].h5 tvltypes.h5 tvlstr.h5 tvlstr2.h5 flush.h5 \
|
||||
enum1.h5 titerate.h5 ttsafe.h5 tarray1.h5 tgenprop.h5 \
|
||||
tmisc[0-9]*.h5 set_extent_read.h5 set_extent_create.h5 \
|
||||
getname.h5 getname[1-3].h5 sec2_file.h5 \
|
||||
family_file000[0-3][0-9].h5 multi_file-[rs].h5 core_file \
|
||||
new_move_[ab].h5 ntypes.h5 dangle.h5 error_test.h5 err_compat.h5 \
|
||||
dtransform.h5 test_filters.h5 get_file_name.h5 tstint[1-2].h5 \
|
||||
unlink_chunked.h5 btree2.h5 blocktrack.h5 sheap.h5
|
||||
|
||||
|
||||
# Sources for testhdf5 executable
|
||||
testhdf5_SOURCES = testhdf5.c tarray.c tattr.c tconfig.c tfile.c tgenprop.c \
|
||||
th5s.c theap.c tid.c titerate.c tmeta.c tmisc.c ttime.c trefer.c trefstr.c \
|
||||
@ -565,6 +568,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -1032,9 +1039,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -1061,71 +1068,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -1138,40 +1157,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -65,6 +65,7 @@ main(void)
|
||||
h5_reset();
|
||||
fapl = h5_fileaccess();
|
||||
|
||||
|
||||
/*
|
||||
* Test writing to the heap...
|
||||
*/
|
||||
|
@ -40,7 +40,7 @@ LDADD = $(LIBHDF5) $(LIBH5TEST)
|
||||
# MPItest.h5 is from t_mpi
|
||||
# Para*.h5 are from testphdf
|
||||
# *.clog are from MPE option
|
||||
MOSTLYCLEANFILES=MPItest.h5 Para*.h5 *.clog
|
||||
MOSTLYCLEANFILES+=MPItest.h5 Para*.h5 *.clog
|
||||
DISTCLEANFILES=go Makefile testph5.sh
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -304,6 +304,14 @@ H5CC = $(bindir)/h5cc
|
||||
H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files
|
||||
# MPItest.h5 is from t_mpi
|
||||
# Para*.h5 are from testphdf
|
||||
# *.clog are from MPE option
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh MPItest.h5 Para*.h5 *.clog
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test
|
||||
|
||||
# Test programs and scripts. These are our main targets.
|
||||
@ -317,12 +325,6 @@ testphdf5_SOURCES = testphdf5.c t_dset.c t_file.c t_mdset.c t_ph5basic.c \
|
||||
|
||||
# The tests all depend on the hdf5 library and the test library
|
||||
LDADD = $(LIBHDF5) $(LIBH5TEST)
|
||||
|
||||
# Temporary files
|
||||
# MPItest.h5 is from t_mpi
|
||||
# Para*.h5 are from testphdf
|
||||
# *.clog are from MPE option
|
||||
MOSTLYCLEANFILES = MPItest.h5 Para*.h5 *.clog
|
||||
DISTCLEANFILES = go Makefile testph5.sh
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -337,6 +339,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -614,9 +620,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -643,71 +649,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -720,40 +738,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -281,6 +281,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# All subdirectories
|
||||
SUBDIRS = lib h5dump h5diff h5ls misc gifconv h5import h5repack h5jam
|
||||
|
||||
@ -296,6 +299,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
@ -535,6 +542,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -613,9 +621,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -642,71 +650,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -719,40 +739,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -304,6 +304,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
gif2h5_SOURCES = gif2hdf.c gif2mem.c decompress.c gifread.c writehdf.c
|
||||
@ -324,6 +327,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -537,6 +544,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -616,9 +624,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -645,71 +653,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -722,40 +742,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -50,7 +50,7 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# Temporary files. *.h5 are generated by h5diff. They should
|
||||
# be copied to the testfiles/ directory if update is required
|
||||
MOSTLYCLEANFILES=*.h5 expect_sorted actual_sorted
|
||||
MOSTLYCLEANFILES+=*.h5 expect_sorted actual_sorted
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
||||
|
@ -312,6 +312,12 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. *.h5 are generated by h5diff. They should
|
||||
# be copied to the testfiles/ directory if update is required
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 expect_sorted actual_sorted
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
@ -335,10 +341,6 @@ h5difftst_SOURCES = testh5diff_main.c testh5diff_attr.c \
|
||||
# Programs depend on the main HDF5 library and tools library
|
||||
LDADD = $(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# Temporary files. *.h5 are generated by h5diff. They should
|
||||
# be copied to the testfiles/ directory if update is required
|
||||
MOSTLYCLEANFILES = *.h5 expect_sorted actual_sorted
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
# These will be filled in automatically for the most part (e.g.,
|
||||
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
|
||||
@ -351,6 +353,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -656,9 +662,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -685,71 +691,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -762,40 +780,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -37,7 +37,7 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# Temporary files. *.h5 are generated by h5dumpgentest. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES=*.h5
|
||||
MOSTLYCLEANFILES+=*.h5
|
||||
DISTCLEANFILES=testh5dump.sh
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -305,6 +305,12 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. *.h5 are generated by h5dumpgentest. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5
|
||||
|
||||
# Include files in /src directory and /tools/lib directory
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
@ -315,10 +321,6 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# All the programs depend on the hdf5 and h5tools libraries
|
||||
LDADD = $(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
# Temporary files. *.h5 are generated by h5dumpgentest. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.h5
|
||||
DISTCLEANFILES = testh5dump.sh
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -333,6 +335,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -632,9 +638,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -661,71 +667,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -738,40 +756,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -305,6 +305,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
@ -328,6 +331,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -543,6 +550,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -623,9 +631,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -652,71 +660,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -729,40 +749,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -32,7 +32,7 @@ LDADD=$(LIBH5TOOLS) $(LIBHDF5)
|
||||
|
||||
## Temporary files. *.h5 are generated by jamgentest. They should
|
||||
## copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES=*.h5 *.txt
|
||||
MOSTLYCLEANFILES+=*.h5 *.txt
|
||||
DISTCLEANFILES=testh5jam.sh
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -300,6 +300,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 *.txt
|
||||
|
||||
#
|
||||
# Copyright by the Board of Trustees of the University of Illinois.
|
||||
# All rights reserved.
|
||||
@ -323,7 +326,6 @@ check_SCRIPTS = $(TEST_SCRIPT)
|
||||
|
||||
# Link against the main HDF5 library and tools library
|
||||
LDADD = $(LIBH5TOOLS) $(LIBHDF5)
|
||||
MOSTLYCLEANFILES = *.h5 *.txt
|
||||
DISTCLEANFILES = testh5jam.sh
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -338,6 +340,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -649,9 +655,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -678,71 +684,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -755,40 +773,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -298,6 +298,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include src and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/tools/lib
|
||||
|
||||
@ -320,6 +323,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -524,6 +531,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -603,9 +611,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -632,71 +640,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -709,40 +729,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -50,7 +50,7 @@ testh5repack_detect_szip_SOURCES=testh5repack_detect_szip.c
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repack. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES=*.h5
|
||||
MOSTLYCLEANFILES+=*.h5
|
||||
DISTCLEANFILES=h5repack.sh
|
||||
|
||||
include $(top_srcdir)/config/conclude.am
|
||||
|
@ -320,6 +320,12 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repack. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5
|
||||
|
||||
# Include src, test, and tools/lib directories
|
||||
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/tools/lib
|
||||
|
||||
@ -341,10 +347,6 @@ h5repacktst_SOURCES = $(COMMON_SOURCES) testh5repack_attr.c testh5repack_dset.c
|
||||
testh5repack_main.c testh5repack_make.c testh5repack_util.c
|
||||
|
||||
testh5repack_detect_szip_SOURCES = testh5repack_detect_szip.c
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repack. They should
|
||||
# copied to the testfiles/ directory if update is required.
|
||||
MOSTLYCLEANFILES = *.h5
|
||||
DISTCLEANFILES = h5repack.sh
|
||||
|
||||
# Automake needs to be taught how to build lib, progs, and tests targets.
|
||||
@ -359,6 +361,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -682,9 +688,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -711,71 +717,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -788,40 +806,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -302,6 +302,9 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh
|
||||
|
||||
# Include files in /src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
|
||||
@ -337,6 +340,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -541,6 +548,7 @@ install-strip:
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
|
||||
@ -620,9 +628,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -649,71 +657,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -726,40 +746,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
@ -44,7 +44,7 @@ CLEANFILES=h5redeploy
|
||||
# Temporary files. *.h5 are generated by h5repart_gentest. They should
|
||||
# copied to the testfiles/ directory if update is required. fst_family*.h5
|
||||
# and scd_family*.h5 were created by setting the HDF5_NOCLEANUP variable.
|
||||
MOSTLYCLEANFILES=*.h5 ../testfiles/fst_family*.h5 ../testfiles/scd_family*.h5
|
||||
MOSTLYCLEANFILES+=*.h5 ../testfiles/fst_family*.h5 ../testfiles/scd_family*.h5
|
||||
|
||||
# These were generated by configure. Remove them only when distclean.
|
||||
DISTCLEANFILES=h5cc testh5repart.sh
|
||||
|
@ -325,6 +325,14 @@ H5CC_PP = $(bindir)/h5pcc
|
||||
H5FC = $(bindir)/h5fc
|
||||
H5FC_PP = $(bindir)/h5pfc
|
||||
|
||||
# .chkexe and .chksh files are used to mark tests that have run successfully.
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repart_gentest. They should
|
||||
# copied to the testfiles/ directory if update is required. fst_family*.h5
|
||||
# and scd_family*.h5 were created by setting the HDF5_NOCLEANUP variable.
|
||||
MOSTLYCLEANFILES = *.chkexe *.chksh *.h5 ../testfiles/fst_family*.h5 \
|
||||
../testfiles/scd_family*.h5
|
||||
|
||||
# Include src directory
|
||||
INCLUDES = -I$(top_srcdir)/src
|
||||
|
||||
@ -340,11 +348,6 @@ bin_SCRIPTS = h5redeploy
|
||||
# Tell automake to clean h5redeploy script
|
||||
CLEANFILES = h5redeploy
|
||||
|
||||
# Temporary files. *.h5 are generated by h5repart_gentest. They should
|
||||
# copied to the testfiles/ directory if update is required. fst_family*.h5
|
||||
# and scd_family*.h5 were created by setting the HDF5_NOCLEANUP variable.
|
||||
MOSTLYCLEANFILES = *.h5 ../testfiles/fst_family*.h5 ../testfiles/scd_family*.h5
|
||||
|
||||
# These were generated by configure. Remove them only when distclean.
|
||||
DISTCLEANFILES = h5cc testh5repart.sh
|
||||
|
||||
@ -368,6 +371,10 @@ PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
||||
$(EXTRA_PROG)
|
||||
|
||||
TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
||||
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
|
||||
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
|
||||
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chksh_)
|
||||
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chksh_)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -714,9 +721,9 @@ build-lib: $(LIB)
|
||||
build-progs: $(LIB) $(PROGS)
|
||||
build-tests: $(LIB) $(PROGS) $(TESTS)
|
||||
|
||||
lib progs tests ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
lib progs tests check-s check-p ::
|
||||
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
||||
@for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
@ -743,71 +750,83 @@ install-doc uninstall-doc:
|
||||
check-TESTS: test
|
||||
|
||||
test _test:
|
||||
$(MAKE) _check-s
|
||||
$(MAKE) _check-p
|
||||
|
||||
# Run check-s/check-p recursively down SUBDIRS
|
||||
check-s check-p:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _$@ || exit 1; \
|
||||
for d in X $(SUBDIRS); do \
|
||||
if test $$d != X -a $$d != .; then \
|
||||
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@$(MAKE) build-check-s
|
||||
@$(MAKE) build-check-p
|
||||
|
||||
# Actual execution of check-s.
|
||||
_check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-s: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
@for test in $(TEST_PROG) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
fi
|
||||
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
||||
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
||||
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
||||
fi
|
||||
|
||||
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
||||
|
||||
# The .chkexe_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) .chkexe_:
|
||||
@if test "X$@" != "X.chkexe_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chkexe_=.chkexe) && \
|
||||
test $(@:.chkexe_=.chkexe) -nt $(@:.chkexe_=)$(EXEEXT); then \
|
||||
echo "No need to test $(@:.chkexe_=)$(EXEEXT) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNTESTS) ./$(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chkexe_=.chkexe) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chkexe_=)$(EXEEXT) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# The .chksh_ here is the "dummy" that prevents the target from being
|
||||
# empty if there are no tests in the current directory.
|
||||
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) .chksh_:
|
||||
@if test "X$@" != "X.chksh_"; then \
|
||||
echo "============================"; \
|
||||
if test -e $(@:.chksh_=.chksh) && \
|
||||
test $(@:.chksh_=.chksh) -nt $(@:.chksh_=); then \
|
||||
echo "No need to test $(@:.chksh_=) again."; \
|
||||
else \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
$(SHELL) ./$(@:.chksh_=) $(TEST_FLAGS) \
|
||||
&& touch $(@:.chksh_=.chksh) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
exit 1; \
|
||||
echo ""; \
|
||||
echo "Finished testing $(@:.chksh_=) $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
fi
|
||||
|
||||
# Actual execution of check-p.
|
||||
_check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
build-check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
||||
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
||||
fi
|
||||
fi
|
||||
@if test -n "$(TEST_PROG_PARA)"; then \
|
||||
echo "**** Hint ****"; \
|
||||
echo "Parallel test files reside in the current directory" \
|
||||
@ -820,40 +839,14 @@ _check-p: $(LIB) $(PROGS) $(TESTS)
|
||||
fi
|
||||
@for test in $(TEST_PROG_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
srcdir="$(srcdir)" \
|
||||
$(RUNPARALLEL) ./$$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
||||
RUNTESTS="$(RUNPARALLEL)"; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
||||
if test $$test != dummy; then \
|
||||
echo "============================"; \
|
||||
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
|
||||
echo "Fortran API: Testing $$test $(TEST_FLAGS)"; \
|
||||
elif test "X$(HDF_CXX)" = "Xyes"; then \
|
||||
echo "C++ API: Testing $$test $(TEST_FLAGS)"; \
|
||||
else \
|
||||
echo "Testing $$test $(TEST_FLAGS)"; \
|
||||
fi; \
|
||||
echo "============================"; \
|
||||
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
||||
srcdir="$(srcdir)" \
|
||||
/bin/sh $$test $(TEST_FLAGS) || \
|
||||
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
||||
break; \
|
||||
echo ""; \
|
||||
if test $$test != dummy; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) $$test.chksh_; \
|
||||
fi; \
|
||||
done; \
|
||||
test $$test = dummy || false
|
||||
|
Loading…
x
Reference in New Issue
Block a user