2005-02-12 01:40:52 +08:00
|
|
|
## config/conclude.am
|
2007-02-21 23:43:35 +08:00
|
|
|
## (Use double hashes for copyright notice so that automake treats it as
|
|
|
|
## comments and does not pass it to Makefile.in)
|
|
|
|
## Copyright by The HDF Group.
|
|
|
|
## Copyright by the Board of Trustees of the University of Illinois.
|
|
|
|
## All rights reserved.
|
|
|
|
##
|
|
|
|
## This file is part of HDF5. The full HDF5 copyright notice, including
|
|
|
|
## terms governing use, modification, and redistribution, is contained in
|
2017-04-18 03:32:16 +08:00
|
|
|
## the COPYING file, which can be found at the root of the source code
|
|
|
|
## distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
|
|
|
|
## If you do not have access to either file, you may request a copy from
|
|
|
|
## help@hdfgroup.org.
|
2005-10-21 22:54:41 +08:00
|
|
|
|
|
|
|
|
2005-02-12 01:40:52 +08:00
|
|
|
## Textually included at the end of most HDF5 Makefiles.am.
|
|
|
|
## Contains build rules.
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2017-11-07 06:26:03 +08:00
|
|
|
# Automake needs to be taught how to build lib, progs and tests targets.
|
2005-02-01 11:17:02 +08:00
|
|
|
# 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
|
|
|
|
# EXTRA_TEST variables are supplied to allow the user to force targets to
|
2017-04-21 05:51:21 +08:00
|
|
|
# be built at certain times.
|
2005-02-01 11:17:02 +08:00
|
|
|
LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
|
|
|
|
$(noinst_LTLIBRARIES) $(check_LIBRARIES) $(check_LTLIBRARIES) $(EXTRA_LIB)
|
|
|
|
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
|
|
|
|
$(EXTRA_PROG)
|
2012-08-24 00:07:43 +08:00
|
|
|
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
|
|
|
|
TESTS = $(TEST_PROG) $(TEST_SCRIPT) $(EXTRA_TEST)
|
|
|
|
|
|
|
|
TEST_EXTENSIONS = .sh
|
|
|
|
SH_LOG_COMPILER = $(SHELL)
|
|
|
|
AM_SH_LOG_FLAGS =
|
2017-11-07 06:26:03 +08:00
|
|
|
REALTIMEOUTPUT = $(realtimeOutput)
|
2005-02-01 11:17:02 +08:00
|
|
|
|
|
|
|
# lib/progs/tests targets recurse into subdirectories. build-* targets
|
|
|
|
# build files in this directory.
|
2005-11-19 04:31:53 +08:00
|
|
|
build-lib: $(LIB)
|
|
|
|
build-progs: $(LIB) $(PROGS)
|
2012-08-24 00:07:43 +08:00
|
|
|
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
|
2005-02-01 11:17:02 +08:00
|
|
|
|
2005-11-19 04:31:53 +08:00
|
|
|
# General rule for recursive building targets.
|
|
|
|
# BUILT_SOURCES contain targets that need to be built before anything else
|
|
|
|
# in the directory (e.g., for Fortran type detection)
|
2017-11-07 06:26:03 +08:00
|
|
|
lib progs tests check-s check-p :: $(BUILT_SOURCES)
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
|
|
|
@for d in X $(SUBDIRS); do \
|
2005-07-22 03:28:11 +08:00
|
|
|
if test $$d != X && test $$d != .; then \
|
2005-02-12 01:40:52 +08:00
|
|
|
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
2005-02-01 11:17:02 +08:00
|
|
|
fi; \
|
|
|
|
done
|
|
|
|
|
2005-11-19 04:31:53 +08:00
|
|
|
# General rule for recursive cleaning targets. Like the rule above,
|
|
|
|
# but doesn't require building BUILT_SOURCES.
|
|
|
|
check-clean ::
|
|
|
|
@$(MAKE) $(AM_MAKEFLAGS) build-$@ || exit 1;
|
|
|
|
@for d in X $(SUBDIRS); do \
|
|
|
|
if test $$d != X && test $$d != .; then \
|
|
|
|
(set -x; cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
|
|
|
|
fi; \
|
|
|
|
done
|
2006-03-23 22:22:34 +08:00
|
|
|
|
2005-02-01 11:17:02 +08:00
|
|
|
# Tell Automake to build tests when the user types `make all' (this is
|
|
|
|
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
|
|
|
|
# Automake won't build them automatically, either.
|
2012-08-24 00:07:43 +08:00
|
|
|
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
|
2005-02-01 11:17:02 +08:00
|
|
|
|
|
|
|
# make install-doc doesn't do anything outside of doc directory, but
|
|
|
|
# Makefiles should recognize it.
|
2005-07-22 03:28:11 +08:00
|
|
|
# UPDATE: docs no longer reside in this build tree, so this target
|
2019-08-01 11:16:50 +08:00
|
|
|
# is deprecated.
|
2005-02-01 11:17:02 +08:00
|
|
|
install-doc uninstall-doc:
|
|
|
|
@echo "Nothing to be done."
|
|
|
|
|
2005-08-02 06:22:55 +08:00
|
|
|
# clean up files generated by tests so they can be re-run.
|
|
|
|
build-check-clean:
|
2006-08-23 00:22:43 +08:00
|
|
|
$(RM) -rf $(CHECK_CLEANFILES)
|
2005-08-02 06:22:55 +08:00
|
|
|
|
2005-08-03 01:59:03 +08:00
|
|
|
# run check-clean whenever mostlyclean is run
|
|
|
|
mostlyclean-local: build-check-clean
|
|
|
|
|
2006-03-23 22:22:34 +08:00
|
|
|
# check-install is just a synonym for installcheck
|
2006-03-24 05:26:17 +08:00
|
|
|
check-install: installcheck
|
2006-03-23 22:22:34 +08:00
|
|
|
|
2005-02-01 11:17:02 +08:00
|
|
|
# Run each test in order, passing $(TEST_FLAGS) to the program.
|
|
|
|
# Since tests are done in a shell loop, "make -i" does apply inside it.
|
|
|
|
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
|
|
|
|
# The timestamps give a rough idea how much time the tests use.
|
|
|
|
#
|
2012-08-24 00:07:43 +08:00
|
|
|
# Note that targets in chk_TESTS (defined above) will be built when the user
|
2005-02-01 11:17:02 +08:00
|
|
|
# types 'make tests' or 'make check', but only programs in TEST_PROG,
|
|
|
|
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
|
|
|
|
check-TESTS: test
|
|
|
|
|
2005-06-03 07:42:48 +08:00
|
|
|
test _test:
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
@$(MAKE) build-check-s
|
|
|
|
@$(MAKE) build-check-p
|
2005-06-04 13:01:12 +08:00
|
|
|
|
|
|
|
# Actual execution of check-s.
|
2012-08-24 00:07:43 +08:00
|
|
|
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
|
2005-06-02 09:51:52 +08:00
|
|
|
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
|
|
|
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
fi
|
|
|
|
@$(MAKE) $(AM_MAKEFLAGS) _exec_check-s
|
2005-06-02 09:51:52 +08:00
|
|
|
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
|
|
|
|
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
|
|
|
fi
|
|
|
|
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
TEST_PROG_CHKEXE=$(TEST_PROG:=.chkexe_)
|
|
|
|
TEST_PROG_PARA_CHKEXE=$(TEST_PROG_PARA:=.chkexe_)
|
2005-08-27 06:24:27 +08:00
|
|
|
TEST_SCRIPT_CHKSH=$(TEST_SCRIPT:=.chkexe_)
|
|
|
|
TEST_SCRIPT_PARA_CHKSH=$(TEST_SCRIPT_PARA:=.chkexe_)
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
|
|
|
|
_exec_check-s: $(TEST_PROG_CHKEXE) $(TEST_SCRIPT_CHKSH)
|
|
|
|
|
2005-07-22 03:28:11 +08:00
|
|
|
# The dummy.chkexe here prevents the target from being
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
# empty if there are no tests in the current directory.
|
2005-08-08 15:30:46 +08:00
|
|
|
# $${log} is the log file.
|
|
|
|
# $${tname} is the name of test.
|
2005-07-02 05:22:05 +08:00
|
|
|
$(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
|
|
|
|
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummy.chkexe_"; then \
|
2005-08-08 15:30:46 +08:00
|
|
|
tname=$(@:.chkexe_=)$(EXEEXT);\
|
2005-08-27 06:24:27 +08:00
|
|
|
log=$(@:.chkexe_=.chklog); \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "============================"; \
|
|
|
|
if $(top_srcdir)/bin/newer $(@:.chkexe_=.chkexe) $${tname}; then \
|
|
|
|
echo "No need to test $${tname} again."; \
|
|
|
|
else \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2017-11-14 23:52:47 +08:00
|
|
|
echo "============================" | tee $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
|
|
|
echo "============================" > $${log}; \
|
|
|
|
fi; \
|
|
|
|
if test "X$(FORTRAN_API)" = "Xyes"; then \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Fortran API: Test log for $${tname} $(TEST_FLAGS)" | tee -a $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Fortran API: Test log for $${tname} $(TEST_FLAGS)" >> $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
fi; \
|
|
|
|
elif test "X$(CXX_API)" = "Xyes"; then \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "C++ API: Test log for $${tname} $(TEST_FLAGS)" | tee -a $${log};\
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "C++ API: Test log for $${tname} $(TEST_FLAGS)" >> $${log};\
|
2017-11-07 06:26:03 +08:00
|
|
|
fi; \
|
|
|
|
else \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Testing: $${tname} $(TEST_FLAGS)"; \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Test log for $${tname} $(TEST_FLAGS)" | tee -a $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
2018-12-17 04:41:55 +08:00
|
|
|
echo "Test log for $${tname} $(TEST_FLAGS)" >> $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
fi; \
|
|
|
|
fi; \
|
2018-12-17 04:41:55 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
|
|
|
if test -n "$(HDF5_VOL_CONNECTOR)"; then \
|
|
|
|
echo "VOL connector: $(HDF5_VOL_CONNECTOR)" | tee -a $${log}; \
|
|
|
|
fi; \
|
|
|
|
if test -n "$(HDF5_DRIVER)"; then \
|
|
|
|
echo "Virtual file driver (VFD): $(HDF5_DRIVER)" | tee -a $${log}; \
|
|
|
|
fi; \
|
|
|
|
else \
|
|
|
|
if test -n "$(HDF5_VOL_CONNECTOR)"; then \
|
|
|
|
echo "VOL connector: $(HDF5_VOL_CONNECTOR)" >> $${log}; \
|
|
|
|
fi; \
|
|
|
|
if test -n "$(HDF5_DRIVER)"; then \
|
|
|
|
echo "Virtual file driver (VFD): $(HDF5_DRIVER)" >> $${log}; \
|
|
|
|
fi; \
|
|
|
|
fi; \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2017-11-14 23:52:47 +08:00
|
|
|
echo "============================" | tee -a $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
|
|
|
echo "============================" >> $${log}; \
|
|
|
|
fi; \
|
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
|
|
|
srcdir="$(srcdir)" \
|
2017-11-14 23:52:47 +08:00
|
|
|
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) | tee -a $${log} 2>&1 \
|
2017-11-07 06:26:03 +08:00
|
|
|
&& touch $(@:.chkexe_=.chkexe) || \
|
|
|
|
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
|
|
|
(cat $${log} && false) || exit 1; \
|
|
|
|
else \
|
|
|
|
srcdir="$(srcdir)" \
|
|
|
|
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
|
|
|
|
&& touch $(@:.chkexe_=.chkexe) || \
|
|
|
|
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
|
|
|
(cat $${log} && false) || exit 1; \
|
|
|
|
fi; \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "" >> $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
if test -n "$(REALTIMEOUTPUT)"; then \
|
2017-11-14 23:52:47 +08:00
|
|
|
echo "Finished testing $${tname} $(TEST_FLAGS)" | tee -a $${log}; \
|
|
|
|
echo "============================" | tee -a $${log}; \
|
2017-11-07 06:26:03 +08:00
|
|
|
else \
|
|
|
|
echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \
|
|
|
|
echo "============================" >> $${log}; \
|
|
|
|
fi; \
|
|
|
|
if test -z "$(REALTIMEOUTPUT)"; then \
|
|
|
|
cat $${log}; \
|
|
|
|
fi; \
|
2005-08-08 15:30:46 +08:00
|
|
|
fi; \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
fi
|
|
|
|
|
2005-08-27 06:24:27 +08:00
|
|
|
# The dummysh.chkexe here prevents the target from being
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
# empty if there are no tests in the current directory.
|
2005-08-08 15:30:46 +08:00
|
|
|
# $${log} is the log file.
|
|
|
|
# $${tname} is the name of test.
|
2005-08-27 06:24:27 +08:00
|
|
|
$(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
|
|
|
|
@if test "X$@" != "X.chkexe_" && test "X$@" != "Xdummysh.chkexe_"; then \
|
2005-09-29 13:17:06 +08:00
|
|
|
cmd=$(@:.chkexe_=);\
|
|
|
|
tname=`basename $$cmd`;\
|
2005-09-21 05:46:24 +08:00
|
|
|
chkname=`basename $(@:.chkexe_=.chkexe)`;\
|
2005-08-27 06:24:27 +08:00
|
|
|
log=`basename $(@:.chkexe_=.chklog)`; \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "============================"; \
|
2005-09-29 13:17:06 +08:00
|
|
|
if $(top_srcdir)/bin/newer $${chkname} $$cmd $(SCRIPT_DEPEND); then \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "No need to test $${tname} again."; \
|
|
|
|
else \
|
|
|
|
echo "============================" > $${log}; \
|
2008-05-19 13:06:51 +08:00
|
|
|
if test "X$(FORTRAN_API)" = "Xyes"; then \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
|
|
|
|
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
|
2008-05-19 13:06:51 +08:00
|
|
|
elif test "X$(CXX_API)" = "Xyes"; then \
|
2005-08-08 15:30:46 +08:00
|
|
|
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
|
|
|
|
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
|
|
|
|
else \
|
|
|
|
echo "Testing $${tname} $(TEST_FLAGS)"; \
|
|
|
|
echo "$${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
|
|
|
|
fi; \
|
|
|
|
echo "============================" >> $${log}; \
|
|
|
|
RUNSERIAL="$(RUNSERIAL)" RUNPARALLEL="$(RUNPARALLEL)" \
|
|
|
|
srcdir="$(srcdir)" \
|
2005-09-29 13:17:06 +08:00
|
|
|
$(TIME) $(SHELL) $$cmd $(TEST_FLAGS) >> $${log} 2>&1 \
|
2005-09-21 05:46:24 +08:00
|
|
|
&& touch $${chkname} || \
|
2005-08-08 15:30:46 +08:00
|
|
|
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
|
|
|
|
(cat $${log} && false) || exit 1; \
|
|
|
|
echo "" >> $${log}; \
|
|
|
|
echo "Finished testing $${tname} $(TEST_FLAGS)" >> $${log}; \
|
|
|
|
echo "============================" >> $${log}; \
|
|
|
|
echo "Finished testing $${tname} $(TEST_FLAGS)"; \
|
2005-08-09 01:24:06 +08:00
|
|
|
cat $${log}; \
|
2005-08-08 15:30:46 +08:00
|
|
|
fi; \
|
|
|
|
echo "============================"; \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
fi
|
|
|
|
|
2005-06-04 13:01:12 +08:00
|
|
|
# Actual execution of check-p.
|
2012-08-24 00:07:43 +08:00
|
|
|
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
|
2005-06-02 09:51:52 +08:00
|
|
|
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
|
|
|
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
fi
|
2005-02-01 11:17:02 +08:00
|
|
|
@if test -n "$(TEST_PROG_PARA)"; then \
|
|
|
|
echo "**** Hint ****"; \
|
|
|
|
echo "Parallel test files reside in the current directory" \
|
|
|
|
"by default."; \
|
2018-12-20 19:03:16 +08:00
|
|
|
echo "Set HDF5_PARAPREFIX to use another directory. e.g.,"; \
|
2005-02-01 11:17:02 +08:00
|
|
|
echo " HDF5_PARAPREFIX=/PFS/user/me"; \
|
|
|
|
echo " export HDF5_PARAPREFIX"; \
|
|
|
|
echo " make check"; \
|
|
|
|
echo "**** end of Hint ****"; \
|
|
|
|
fi
|
|
|
|
@for test in $(TEST_PROG_PARA) dummy; do \
|
|
|
|
if test $$test != dummy; then \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
|
2010-01-13 07:58:30 +08:00
|
|
|
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
|
2005-02-01 11:17:02 +08:00
|
|
|
fi; \
|
2005-09-29 13:17:06 +08:00
|
|
|
done
|
2005-06-02 09:51:52 +08:00
|
|
|
@for test in $(TEST_SCRIPT_PARA) dummy; do \
|
[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.)
2005-07-01 07:35:32 +08:00
|
|
|
if test $$test != dummy; then \
|
2005-09-29 13:17:06 +08:00
|
|
|
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ || exit 1; \
|
2005-02-01 11:17:02 +08:00
|
|
|
fi; \
|
2005-09-29 13:17:06 +08:00
|
|
|
done
|
2005-06-02 09:51:52 +08:00
|
|
|
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
|
|
|
|
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` ended `date`===";\
|
2005-02-01 11:17:02 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Run test with different Virtual File Driver
|
2012-08-24 00:07:43 +08:00
|
|
|
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
|
2005-02-01 11:17:02 +08:00
|
|
|
@for vfd in $(VFD_LIST) dummy; do \
|
|
|
|
if test $$vfd != dummy; then \
|
|
|
|
echo "============================"; \
|
|
|
|
echo "Testing Virtual File Driver $$vfd"; \
|
|
|
|
echo "============================"; \
|
2006-08-01 03:46:16 +08:00
|
|
|
$(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \
|
|
|
|
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
|
2005-02-01 11:17:02 +08:00
|
|
|
fi; \
|
|
|
|
done
|
2018-11-29 09:07:30 +08:00
|
|
|
|
2019-04-12 01:46:22 +08:00
|
|
|
# Run test with different passthrough Virtual Object Layer Connector
|
|
|
|
# NOTE: Will only succeed with passthrough VOL connectors that use
|
|
|
|
# the native VOL connector as the terminal connector.
|
|
|
|
check-passthrough-vol: $(LIB) $(PROGS) $(chk_TESTS)
|
2018-11-29 09:07:30 +08:00
|
|
|
@for vol in $(VOL_LIST) dummy; do \
|
2018-11-29 12:54:46 +08:00
|
|
|
if test "$$vol" != dummy; then \
|
2018-11-29 09:07:30 +08:00
|
|
|
echo "============================"; \
|
2018-11-29 12:54:46 +08:00
|
|
|
echo "Testing VOL Connector: \"$$vol\""; \
|
2018-11-29 09:07:30 +08:00
|
|
|
echo "============================"; \
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) check-clean || exit 1; \
|
2018-11-29 12:54:46 +08:00
|
|
|
HDF5_VOL_CONNECTOR="$$vol" $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
|
2018-11-29 09:07:30 +08:00
|
|
|
fi; \
|
|
|
|
done
|