[svn-r21368] Purpose:

HDFFV-7712 - h5diff: segfault over combinations of complex container types (compound, array, vlen)

Description:
    - Fixed segfault over dataset with container types (array,lven) with multiple nested compound types. (ex: compound->array->compound, compound->vlen->compound)
    - Merged from HDF5 trunk r21358.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
This commit is contained in:
Jonathan Kim
2011-09-06 15:26:08 -05:00
parent 144b129492
commit 36ea4e8553
10 changed files with 729 additions and 36 deletions

View File

@@ -158,6 +158,7 @@ IF (BUILD_TESTING)
h5diff_517.txt
h5diff_518.txt
h5diff_530.txt
h5diff_540.txt
h5diff_600.txt
h5diff_601.txt
h5diff_603.txt
@@ -245,6 +246,8 @@ IF (BUILD_TESTING)
h5diff_comp_vl_strs.h5
h5diff_attr_v_level1.h5
h5diff_attr_v_level2.h5
compounds_array_vlen1.h5
compounds_array_vlen2.h5
)
FOREACH (txt_file ${HDF5_REFERENCE_FILES})
@@ -475,6 +478,9 @@ IF (BUILD_TESTING)
SET (EXCLUDE_FILE2_2 h5diff_exclude2-2.h5)
# compound type with multiple vlen string types
SET (COMP_VL_STRS_FILE h5diff_comp_vl_strs.h5)
# container types (array,vlen) with multiple nested compound types
SET (COMPS_ARRAY_VLEN_FILE1 compounds_array_vlen1.h5)
SET (COMPS_ARRAY_VLEN_FILE2 compounds_array_vlen2.h5)
# attrs with verbose option level
SET (ATTR_VERBOSE_LEVEL_FILE1 h5diff_attr_v_level1.h5)
SET (ATTR_VERBOSE_LEVEL_FILE2 h5diff_attr_v_level2.h5)
@@ -701,6 +707,8 @@ IF (BUILD_TESTING)
h5diff_518.out.err
h5diff_530.out
h5diff_530.out.err
h5diff_540.out
h5diff_540.out.err
h5diff_600.out
h5diff_600.out.err
h5diff_601.out
@@ -1300,6 +1308,12 @@ ADD_H5_TEST (h5diff_484 0 -v --exclude-path "/dset3" ${EXCLUDE_FILE1_1} ${EXCLUD
# ##############################################################################
ADD_H5_TEST (h5diff_530 0 -v ${COMP_VL_STRS_FILE} ${COMP_VL_STRS_FILE} /group /group_copy)
# ##############################################################################
# # Test container types (array,vlen) with multiple nested compound types
# # Complex compound types in dataset and attribute
# ##############################################################################
ADD_H5_TEST (h5diff_540 1 -v ${COMPS_ARRAY_VLEN_FILE1} ${COMPS_ARRAY_VLEN_FILE2})
# ##############################################################################
# # Test mutually exclusive options
# ##############################################################################