summaryrefslogtreecommitdiffstats
path: root/test/testabort_fail.sh.in
diff options
context:
space:
mode:
authorVailin Choi <vchoi@jam.ad.hdfgroup.org>2018-12-28 22:49:11 (GMT)
committerVailin Choi <vchoi@jam.ad.hdfgroup.org>2018-12-28 22:49:11 (GMT)
commitf808c108ed0315f115a7c69cbd8ee95032a64b34 (patch)
tree8f196f0f849958019b496027e00a87ed79b0d119 /test/testabort_fail.sh.in
parentba095e6a53a919c9753463c3800a26b180b7a135 (diff)
downloadhdf5-f808c108ed0315f115a7c69cbd8ee95032a64b34.zip
hdf5-f808c108ed0315f115a7c69cbd8ee95032a64b34.tar.gz
hdf5-f808c108ed0315f115a7c69cbd8ee95032a64b34.tar.bz2
Fix for HDFFV-10659: The library abort with "infinite loop closing library"
after deleting attributes in densed storage. The fix: When deleting attribute nodes from the name index v2 B-tree, if an attribute is found in the intermediate B-tree nodes, which may be merged/redistributed in the process, we need to free the dynamically allocated spaces for the intermediate decoded attribute.
Diffstat (limited to 'test/testabort_fail.sh.in')
-rw-r--r--test/testabort_fail.sh.in66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/testabort_fail.sh.in b/test/testabort_fail.sh.in
new file mode 100644
index 0000000..90f8077
--- /dev/null
+++ b/test/testabort_fail.sh.in
@@ -0,0 +1,66 @@
+#! /bin/sh
+#
+# 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
+# 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.
+#
+# Test to verify that the assertion/abort failure is fixed when the application
+# does not close the file. (See HDFFV-10160)
+#
+# Test to verify that the infinite loop closing library/abort failure is fixed
+# when the application creates and removes densed attributes (See HDFFV-10659)
+
+srcdir=@srcdir@
+
+nerrors=0
+
+##############################################################################
+##############################################################################
+### T H E T E S T S ###
+##############################################################################
+##############################################################################
+#
+#
+echo "Testing file not closed assertion/abort failure"
+TEST_NAME=filenotclosed # The test name
+TEST_BIN=`pwd`/$TEST_NAME # The path of the test binary
+#
+# Run the test
+$RUNSERIAL $TEST_BIN >/dev/null 2>&1
+exitcode=$?
+if [ $exitcode -eq 0 ]; then
+ echo "Test PASSED"
+else
+ echo "Test FAILED"
+ nerrors="`expr $nerrors + 1`"
+fi
+#
+#
+echo "Testing infinite loop closing library/abort failure"
+TEST_NAME=del_many_dense_attrs # The test name
+TEST_BIN=`pwd`/$TEST_NAME # The path of the test binary
+# Run the test
+$RUNSERIAL $TEST_BIN >/dev/null 2>&1
+exitcode=$?
+if [ $exitcode -eq 0 ]; then
+ echo "Test PASSED"
+else
+ echo "Test FAILED"
+ nerrors="`expr $nerrors + 1`"
+fi
+#
+#
+if test $nerrors -eq 0 ; then
+ echo "All tests for abort failure passed."
+ exit 0
+else
+ echo "Tests for abort failure failed with $nerrors errors."
+ exit 1
+fi