summaryrefslogtreecommitdiffstats
path: root/test/testflushrefresh.sh.in
diff options
context:
space:
mode:
authorlrknox <lrknox>2017-03-15 17:49:19 (GMT)
committerlrknox <lrknox>2017-03-15 17:49:19 (GMT)
commit98567db19290dc07cc86efae720b0dc457ae9f65 (patch)
tree6b16f1d271bbc6c7a336d882c0e0db0f404dd3dc /test/testflushrefresh.sh.in
parentbf69edf565e4894b01afbd1efdedbc38eb18114a (diff)
downloadhdf5-98567db19290dc07cc86efae720b0dc457ae9f65.zip
hdf5-98567db19290dc07cc86efae720b0dc457ae9f65.tar.gz
hdf5-98567db19290dc07cc86efae720b0dc457ae9f65.tar.bz2
output_filter.sh:
Comment added to address HDFFV-8270. The sample ontput in the file's comments are not up-to-date with the scripts in the file that remove output unique to certain systems when running test scripts. This output doesn't match expected output files for the tests, causing them to fail. Ther output_filter.sh file removes such output. Currently we don't have access to these systems to update the comments. testflushrefresh.sh.in: flushrefresh and other SWMR tests have been failing occasionally but regularly since bringing them to the develop branch. The logs and debugging point to unexpected deletion of signal files as the point of failure, and John Mainzer suggests that two such tests running simultaneously in the same directory may lead to the operating system deleting the other test's signal file. Running the flushrefresh test in its own directory seems to solve the problem.
Diffstat (limited to 'test/testflushrefresh.sh.in')
-rw-r--r--test/testflushrefresh.sh.in27
1 files changed, 22 insertions, 5 deletions
diff --git a/test/testflushrefresh.sh.in b/test/testflushrefresh.sh.in
index 83b7134..e7917a0 100644
--- a/test/testflushrefresh.sh.in
+++ b/test/testflushrefresh.sh.in
@@ -79,11 +79,22 @@ if [ $rc -ne 0 ] ; then
exit 0
fi
-# ========================
-# Launch the Test Program.
-# ========================
-./flushrefresh &
-pid_main=$!
+# 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 -p flushrefresh_test/.libs
+cp flushrefresh flushrefresh_test
+
+# With the --disable-shared option, flushrefresh is built in the test directory,
+# otherwise it is in test/.libs with a wrapper script named flushrefresh in
+# the test directory. test/flushrefresh should always be copied,
+# .libs/flushrefresh should be copied only if it exists.
+if [ -f .libs/flushrefresh ]; then
+ cp .libs/flushrefresh flushrefresh_test/.libs
+fi
+cd flushrefresh_test
# =================================================
# Set up/initialize some variables to be used later
@@ -98,6 +109,12 @@ if [ -e $testfile ]; then
rm $testfile
fi
+# ========================
+# Launch the Test Program.
+# ========================
+./flushrefresh &
+pid_main=$!
+
# =======================================
# Run flush verification on test program.
# =======================================