summaryrefslogtreecommitdiffstats
path: root/test/test_usecases.sh.in
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2017-03-22 16:48:47 (GMT)
committerlrknox <lrknox>2017-03-22 17:00:52 (GMT)
commit36a30ecfd288afdf8ea62a858644e622ce72fd58 (patch)
tree8282f7f5c7be529b6fb992de532a1924e4534e0a /test/test_usecases.sh.in
parentd60ca826c00533d72f94e38c1b2cf790e1b3f190 (diff)
downloadhdf5-36a30ecfd288afdf8ea62a858644e622ce72fd58.zip
hdf5-36a30ecfd288afdf8ea62a858644e622ce72fd58.tar.gz
hdf5-36a30ecfd288afdf8ea62a858644e622ce72fd58.tar.bz2
Merge pull request #358 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:develop to develop
* commit '82183c7cdc50f9dc41ef8238c6a2bef6f1c7fcde': Run all scripts using signal files between processes in their own directories to avoid accidental deletion of the signal files.
Diffstat (limited to 'test/test_usecases.sh.in')
-rw-r--r--test/test_usecases.sh.in33
1 files changed, 32 insertions, 1 deletions
diff --git a/test/test_usecases.sh.in b/test/test_usecases.sh.in
index 1cae191..a1fda0e 100644
--- a/test/test_usecases.sh.in
+++ b/test/test_usecases.sh.in
@@ -113,6 +113,33 @@ TOOLTEST() {
fi
}
+# HDF5 has several tests that create and delete signal files to communicate
+# between processes, and it seems that even though the names of the files are
+# different, occasionally the wrong file is deleted, interrupting the flow of
+# the test. Running each of these tests in its own directory should eliminate
+# the problem.
+mkdir usecases_test
+cp twriteorder usecases_test
+for FILE in use_*; do
+ case "$FILE" in
+ *.o) continue ;; ## don't copy the .o files
+ esac
+ cp $FILE usecases_test
+done
+
+# With the --disable-shared option, swmr program files are built in the test
+# directory, otherwise they are in test/.libs with a corresponding wrapper
+# script in the test directory. The programs or wrapper scripts in test should
+# always be copied, swmr files in .libs should be copied only if they exists.
+if [ -f .libs/use_append_chunk ]; then
+ mkdir usecases_test/.libs
+ cp .libs/use_* usecases_test/.libs
+ cp .libs/twriteorder usecases_test/.libs
+fi
+
+cd usecases_test
+
+
# run tests for H5Odisable_mdc_flushes/H5Oenable_mdc_flushes/H5Oare_mdc_flushes_disabled here temporary
USECORK=use_disable_mdc_flushes
for p in $USECORK; do
@@ -158,10 +185,14 @@ for p in $USECASES_PROGRAMS; do
fi
done
-
+cd ..
# Report test results and exit
if test $nerrors -eq 0 ; then
echo "All $TESTNAME tests passed."
+ if test -z "$HDF5_NOCLEANUP"; then
+ # delete the test directory
+ rm -rf usecases_test
+ fi
else
echo "$TESTNAME tests failed with $nerrors errors."
EXIT_VALUE=$EXIT_FAILURE