diff options
author | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2018-12-28 22:49:11 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2018-12-28 22:49:11 (GMT) |
commit | f808c108ed0315f115a7c69cbd8ee95032a64b34 (patch) | |
tree | 8f196f0f849958019b496027e00a87ed79b0d119 /test/testabort_fail.sh.in | |
parent | ba095e6a53a919c9753463c3800a26b180b7a135 (diff) | |
download | hdf5-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.in | 66 |
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 |