[svn-r19893] Purpose:

Bug 2089 - GMQS: h5diff segfault on a compound dataset with fixed length + 
    vlen string type order

Description:
    Merged from HDF5 trunk r19892.
    This is fix for the segfault when h5diff compares a compound dataset with 
    combination of fixed length string types and vlen string types in certain 
    orders. Optimized vlariable length string handling codes. The fix is 
    referred from h5dump handling vlen strings. 
    For testing, several compound datasets were added with various combinations.
    Previous failed cases:
     - Vlen string, Fixed length string, Vlen string, Fixed length string
     - Fixed length string, Fixed length string, Vlen string, Vlen string
     - Fixed length string, Vlen string, Fixed length string, Vlen string
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE)
This commit is contained in:
Jonathan Kim
2010-12-28 14:36:30 -05:00
parent 3a581adac6
commit ab0ad9ff02
6 changed files with 733 additions and 311 deletions

View File

@@ -68,6 +68,8 @@ EXCLUDE_FILE1_2=h5diff_exclude1-2.h5
# different structure and obj names
EXCLUDE_FILE2_1=h5diff_exclude2-1.h5
EXCLUDE_FILE2_2=h5diff_exclude2-2.h5
# compound type with multiple vlen string types
COMP_VL_STRS_FILE=h5diff_comp_vl_strs.h5
TESTNAME=h5diff
EXIT_SUCCESS=0
@@ -779,8 +781,12 @@ TOOLTEST h5diff_482.txt -v --exclude-path "/group1" --exclude-path "/dset1" $EXC
TOOLTEST h5diff_483.txt -v --exclude-path "/group1" $EXCLUDE_FILE2_1 $EXCLUDE_FILE2_2
# Exclude from group compare
TOOLTEST h5diff_484.txt -v --exclude-path "/dset3" h5diff_exclude1-1.h5 h5diff_exclude1-2.h5 /group1
TOOLTEST h5diff_484.txt -v --exclude-path "/dset3" $EXCLUDE_FILE1_1 $EXCLUDE_FILE1_2 /group1
# ##############################################################################
# # diff various multiple vlen and fixed strings in a compound type dataset
# ##############################################################################
TOOLTEST h5diff_530.txt -v $COMP_VL_STRS_FILE $COMP_VL_STRS_FILE
# ##############################################################################
# # END