summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt28
-rw-r--r--test/CMakeTests.cmake4
-rw-r--r--test/Makefile.in5
-rw-r--r--test/dsets.c14
-rw-r--r--test/dt_arith.c285
-rw-r--r--test/dtransform.c23
-rw-r--r--test/flush2.c4
-rw-r--r--test/gen_filespace.c3
-rw-r--r--test/gen_plist.c4
-rw-r--r--test/getname.c59
-rw-r--r--test/plugin.c17
-rw-r--r--test/th5s.c28
-rw-r--r--test/tmisc.c12
-rw-r--r--test/ttsafe_cancel.c7
14 files changed, 134 insertions, 359 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 83f82bd..55b3c44 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -27,7 +27,7 @@ set (TEST_LIB_HEADERS
)
add_library (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} " " " ")
+TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
if (MSVC)
target_link_libraries (${HDF5_TEST_LIB_TARGET} "ws2_32.lib")
endif (MSVC)
@@ -68,7 +68,7 @@ if (BUILD_SHARED_LIBS)
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} " " " ")
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
@@ -99,7 +99,7 @@ if (BUILD_SHARED_LIBS)
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} " " " ")
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
@@ -154,14 +154,14 @@ set (testhdf5_SRCS
#-- Adding test for testhdf5
add_executable (testhdf5 ${testhdf5_SRCS})
TARGET_NAMING (testhdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (testhdf5 " " " ")
+TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (testhdf5 PROPERTIES FOLDER test)
MACRO (ADD_H5_EXE file)
add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
TARGET_NAMING (${file} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${file} " " " ")
+ TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (${file} PROPERTIES FOLDER test)
ENDMACRO (ADD_H5_EXE file)
@@ -237,21 +237,21 @@ endforeach (test ${H5_TESTS})
#-- Adding test for cache
add_executable (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache " " " ")
+TARGET_C_PROPERTIES (cache ${LIB_TYPE} " " " ")
target_link_libraries (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache PROPERTIES FOLDER test)
#-- Adding test for cache_api
add_executable (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache_api ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_api " " " ")
+TARGET_C_PROPERTIES (cache_api ${LIB_TYPE} " " " ")
target_link_libraries (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_api PROPERTIES FOLDER test)
#-- Adding test for cache_tagging
add_executable (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
TARGET_NAMING (cache_tagging ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_tagging " " " ")
+TARGET_C_PROPERTIES (cache_tagging ${LIB_TYPE} " " " ")
target_link_libraries (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_tagging PROPERTIES FOLDER test)
@@ -264,7 +264,7 @@ add_executable (ttsafe
${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
)
TARGET_NAMING (ttsafe ${LIB_TYPE})
-TARGET_C_PROPERTIES (ttsafe " " " ")
+TARGET_C_PROPERTIES (ttsafe ${LIB_TYPE} " " " ")
target_link_libraries (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (ttsafe PROPERTIES FOLDER test)
@@ -272,7 +272,7 @@ set_target_properties (ttsafe PROPERTIES FOLDER test)
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
add_executable (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
TARGET_NAMING (err_compat ${LIB_TYPE})
- TARGET_C_PROPERTIES (err_compat " " " ")
+ TARGET_C_PROPERTIES (err_compat ${LIB_TYPE} " " " ")
target_link_libraries (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (err_compat PROPERTIES FOLDER test)
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
@@ -280,14 +280,14 @@ endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
#-- Adding test for error_test
add_executable (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
TARGET_NAMING (error_test ${LIB_TYPE})
-TARGET_C_PROPERTIES (error_test " " " ")
+TARGET_C_PROPERTIES (error_test ${LIB_TYPE} " " " ")
target_link_libraries (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (error_test PROPERTIES FOLDER test)
#-- Adding test for links_env
add_executable (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
TARGET_NAMING (links_env ${LIB_TYPE})
-TARGET_C_PROPERTIES (links_env " " " ")
+TARGET_C_PROPERTIES (links_env ${LIB_TYPE} " " " ")
target_link_libraries (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (links_env PROPERTIES FOLDER test)
@@ -308,8 +308,8 @@ endif (\${TEST_RESULT} STREQUAL \"0\")
##############################################################################
if (BUILD_SHARED_LIBS)
add_executable (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
- TARGET_NAMING (plugin ${LIB_TYPE})
- TARGET_C_PROPERTIES (plugin " " " ")
+ TARGET_NAMING (plugin SHARED)
+ TARGET_C_PROPERTIES (plugin SHARED " " " ")
target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
set_target_properties (plugin PROPERTIES FOLDER test)
endif (BUILD_SHARED_LIBS)
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index f609b7a..92e4574 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -727,8 +727,8 @@ endif (HDF5_TEST_VFD)
if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
MACRO (ADD_H5_GENERATOR genfile)
add_executable (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
- TARGET_NAMING (${genfile} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${genfile} " " " ")
+ TARGET_NAMING (${genfile} STATIC)
+ TARGET_C_PROPERTIES (${genfile} STATIC " " " ")
target_link_libraries (${genfile} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (${genfile} PROPERTIES FOLDER generator/test)
ENDMACRO (ADD_H5_GENERATOR genfile)
diff --git a/test/Makefile.in b/test/Makefile.in
index dedc262..05cf231 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -900,7 +900,6 @@ AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
-AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -932,7 +931,6 @@ DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
-DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -956,11 +954,9 @@ GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
-H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
-H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
@@ -1023,7 +1019,6 @@ R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
-SETX = @SETX@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIZE_T = @SIZE_T@
diff --git a/test/dsets.c b/test/dsets.c
index 7f32e1d..1849d98 100644
--- a/test/dsets.c
+++ b/test/dsets.c
@@ -25,24 +25,16 @@
#include "h5test.h"
#include "H5srcdir.h"
-#include "H5Dpublic.h"
#include "H5VMprivate.h"
-#ifdef H5_HAVE_SZLIB_H
-# include "szlib.h"
-#endif
-
-/*
- * This file needs to access private datatypes from the H5D package.
- */
-#define H5D_PACKAGE
-#define H5D_TESTING
-#include "H5Dpkg.h"
/*
* This file needs to access private datatypes from the H5Z package.
*/
#define H5Z_PACKAGE
#include "H5Zpkg.h"
+#ifdef H5_HAVE_SZLIB_H
+# include "szlib.h"
+#endif
const char *FILENAME[] = {
diff --git a/test/dt_arith.c b/test/dt_arith.c
index 1e183aa..c5b72d4 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -3294,7 +3294,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
check_mant[1] = HDfrexpl(hw_ld, check_expo+1);
#endif
}
-#ifdef H5_CONVERT_DENORMAL_FLOAT
/* Special check for denormalized values */
if(check_expo[0]<(-(int)dst_ebias) || check_expo[1]<(-(int)dst_ebias)) {
int expo_diff=check_expo[0]-check_expo[1];
@@ -3317,58 +3316,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
continue;
} /* end else */
-#else /* H5_CONVERT_DENORMAL_FLOAT */
- {
- hssize_t expo; /*exponent */
- uint8_t tmp[32];
-
- assert(src_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&saved[j*src_size],src_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<src_size; k++)
- tmp[k]=saved[j*src_size+(src_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = saved[j*src_size+(src_size-2)-k];
- tmp[k+1] = saved[j*src_size+(src_size-1)-k];
-
- tmp[(src_size-2)-k] = saved[j*src_size+k];
- tmp[(src_size-1)-k] = saved[j*src_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, src_epos, src_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- assert(dst_size<=sizeof(tmp));
- if(sendian==H5T_ORDER_LE)
- HDmemcpy(tmp,&buf[j*dst_size],dst_size);
- else if(sendian==H5T_ORDER_BE)
- for (k=0; k<dst_size; k++)
- tmp[k]=buf[j*dst_size+(dst_size-(k+1))];
- else {
- for (k = 0; k < src_size; k += 4) {
- tmp[k] = buf[j*dst_size+(dst_size-2)-k];
- tmp[k+1] = buf[j*dst_size+(dst_size-1)-k];
-
- tmp[(dst_size-2)-k] = buf[j*dst_size+k];
- tmp[(dst_size-1)-k] = buf[j*dst_size+k+1];
- }
- }
-
- expo = H5T__bit_get_d(tmp, dst_epos, dst_esize);
- if(expo==0)
- continue; /* Denormalized floating-point value detected */
- else {
- if (check_expo[0]==check_expo[1] &&
- HDfabs(check_mant[0]-check_mant[1])<FP_EPSILON)
- continue;
- } /* end else */
- } /* end else */
- }
-#endif /* H5_CONVERT_DENORMAL_FLOAT */
}
if (0==fails_this_test++) {
@@ -3877,12 +3824,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_float = (float)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_float = (float)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -3930,12 +3875,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_double = (double)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_double = (double)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -3984,12 +3927,10 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
HDmemcpy(aligned, saved+j*sizeof(long long), sizeof(long long));
hw_ldouble = (long double)(*((long long*)aligned));
break;
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
case INT_ULLONG:
HDmemcpy(aligned, saved+j*sizeof(unsigned long long), sizeof(unsigned long long));
hw_ldouble = (long double)(*((unsigned long long*)aligned));
break;
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
case FLT_FLOAT:
case FLT_DOUBLE:
case FLT_LDOUBLE:
@@ -4451,67 +4392,6 @@ test_conv_int_fp(const char *name, int run_test, hid_t src, hid_t dst)
}
}
}
-/* On some machines (notably the SGI and Solaris 64-bit machines) unsigned long
-* values are not converted to float or double values correctly, they are
-* consistently off by the lowest bit being rounded oppositely to our
-* software conversion routines output. So, on those machines, we allow
-* the converted value to be +/- 1 from the machine's value. -QAK
-*/
-#ifndef H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS
- if(dst_size==sizeof(unsigned)) {
- unsigned tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
- else if (dst_size==sizeof(unsigned long)) {
- unsigned long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
- else if (dst_size==sizeof(unsigned long long)) {
- unsigned long long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long long));
- if((tmp_s+1)==tmp_h || (tmp_s-1)==tmp_h)
- continue; /*no error*/
- } /* end if */
-#endif /* end H5_ULONG_FP_BOTTOM_BIT_WORKS */
-
-/* For PGI compiler on Linux, during conversion from 'float' or 'double' to
-* 'unsigned long long', round-up happens when the fraction of float-point
-* value is greater than 0.5. So we allow the converted value to be off by 1.
-*/
-#ifndef H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS
- if((src_type==FLT_FLOAT || src_type==FLT_DOUBLE) && dst_type==INT_ULLONG) {
- unsigned long long tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(unsigned long long));
- HDmemcpy(&tmp_h,&hw[0],sizeof(unsigned long long));
- if((tmp_s+1)==tmp_h)
- continue; /*no error*/
- }
-#endif /*end H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS*/
-
-/* For GNU compilers on FreeBSD(sleipnir), during conversion from 'unsigned long long'
-* to 'long double', the last 2 bytes of mantissa are lost. But this loss seems
-* acceptable. We allow it to go through instead of fail it. Sometimes, there's roundup
-* to the 3rd last byte of mantissa. So we only try to compare all but the last 3 bytes.
-*/
-#ifndef H5_ULLONG_TO_LDOUBLE_PRECISION
-#if H5_SIZEOF_LONG_DOUBLE !=0
- if(src_type==INT_ULLONG && dst_type==FLT_LDOUBLE) {
- long double tmp_s, tmp_h;
- HDmemcpy(&tmp_s,&buf[j*dst_size],sizeof(long double));
- HDmemcpy(&tmp_h,&hw[0],sizeof(long double));
- /*Don't compare the last 3 bytes of mantissa*/
- if(!HDmemcmp(&tmp_s+4, &tmp_h+4, sizeof(long double)-4))
- continue; /*no error*/
- }
-#endif
-#endif /*end H5_ULLONG_TO_LDOUBLE_PRECISION*/
/* Print errors */
if (0==fails_this_test++) {
@@ -5112,9 +4992,7 @@ run_int_fp_conv(const char *name)
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LONG, H5T_NATIVE_DOUBLE);
-#if H5_ULONG_TO_FLOAT_ACCURATE
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULONG, H5T_NATIVE_FLOAT);
-#endif
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULONG, H5T_NATIVE_DOUBLE);
#endif
@@ -5122,29 +5000,10 @@ run_int_fp_conv(const char *name)
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_DOUBLE);
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_FLOAT);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_DOUBLE);
-#else /* H5_ULLONG_TO_FP_CAST_WORKS */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "float");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
- }
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS */
#endif
-#if H5_INTEGER_TO_LDOUBLE_ACCURATE
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_SCHAR, H5T_NATIVE_LDOUBLE);
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_UCHAR, H5T_NATIVE_LDOUBLE);
@@ -5173,50 +5032,10 @@ run_int_fp_conv(const char *name)
#endif
#endif /* H5_SIZEOF_LONG!=H5_SIZEOF_INT */
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG
-#if H5_LLONG_TO_LDOUBLE_CORRECT
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_LLONG, H5T_NATIVE_LDOUBLE);
-#else /* H5_LLONG_TO_LDOUBLE_CORRECT */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long long", "long double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler error in handling conversion.");
- }
-#endif /* H5_LLONG_TO_LDOUBLE_CORRECT */
-#if H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT
nerrors += test_conv_int_fp(name, TEST_NORMAL, H5T_NATIVE_ULLONG, H5T_NATIVE_LDOUBLE);
-#else /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "unsigned long long", "long double");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to compiler not handling conversion.");
- }
-#endif /* H5_ULLONG_TO_FP_CAST_WORKS && H5_ULLONG_TO_LDOUBLE_PRECISION && H5_LLONG_TO_LDOUBLE_CORRECT */
#endif
#endif
-#else /*H5_INTEGER_TO_LDOUBLE_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "all integers", "long double");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE !=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
-
- }
-#endif /*H5_INTEGER_TO_LDOUBLE_ACCURATE*/
return nerrors;
}
@@ -5240,7 +5059,6 @@ static int
run_fp_int_conv(const char *name)
{
int nerrors = 0;
-#ifdef H5_FP_TO_INTEGER_OVERFLOW_WORKS
int test_values;
#ifdef H5_VMS
@@ -5277,62 +5095,23 @@ run_fp_int_conv(const char *name)
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG
if(!strcmp(name, "hw")) { /* Hardware conversion */
- /* Windows .NET 2003 doesn't work for hardware conversion of this case.
- * .NET should define this macro H5_HW_FP_TO_LLONG_NOT_WORKS. */
-#ifndef H5_HW_FP_TO_LLONG_NOT_WORKS
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_LLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_LLONG);
-#endif /*H5_HW_FP_TO_LLONG_NOT_WORKS*/
} else { /* Software conversion */
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_LLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_LLONG);
}
-#ifdef H5_FP_TO_ULLONG_RIGHT_MAXIMUM
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_ULLONG);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_ULLONG);
-#else /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "float", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to hardware conversion error.");
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "double", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
- HDputs(" Test skipped due to hardware conversion error.");
- }
-#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM*/
#endif
-#if H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_SCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_UCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_SHORT);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_USHORT);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_INT);
-#if H5_LDOUBLE_TO_UINT_ACCURATE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_UINT);
-#else /*H5_LDOUBLE_TO_UINT_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "unsigned int");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_UINT_ACCURATE*/
#if H5_SIZEOF_LONG!=H5_SIZEOF_INT && H5_SIZEOF_LONG_DOUBLE!=0
#ifndef H5_LDOUBLE_TO_LONG_SPECIAL
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_LONG);
@@ -5355,77 +5134,13 @@ run_fp_int_conv(const char *name)
#endif /*H5_SIZEOF_LONG!=H5_SIZEOF_INT && H5_SIZEOF_LONG_DOUBLE!=0 */
#if H5_SIZEOF_LONG_LONG!=H5_SIZEOF_LONG && H5_SIZEOF_LONG_DOUBLE!=0
-#ifdef H5_LDOUBLE_TO_LLONG_ACCURATE
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_LLONG);
-#else /*H5_LDOUBLE_TO_LLONG_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "long long");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_LLONG_ACCURATE*/
-#if defined(H5_FP_TO_ULLONG_RIGHT_MAXIMUM) && defined(H5_LDOUBLE_TO_LLONG_ACCURATE)
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_LDOUBLE, H5T_NATIVE_ULLONG);
-#else /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE*/
- {
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "unsigned long long");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_FP_TO_ULLONG_RIGHT_MAXIMUM && H5_LDOUBLE_TO_LLONG_ACCURATE*/
#endif
#endif
-#else /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
- {
- char str[256]; /*hello string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "long double", "all integers");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disabled long double.");
-#endif
- }
-#endif /*H5_LDOUBLE_TO_INTEGER_WORKS && H5_LDOUBLE_TO_INTEGER_ACCURATE*/
#ifndef H5_VMS
} /* end for */
#endif /* H5_VMS */
-#else /* H5_FP_TO_INTEGER_OVERFLOW_WORKS */
-/* For Cray X1, the compiler generates floating exception when the
- * conversion overflows. So disable all of the conversions from
- * floating-point numbers to integers.
- */
- char str[256]; /*string */
-
- HDsnprintf(str, sizeof(str), "Testing %s %s -> %s conversions",
- name, "all floating-point numbers", "all integers");
- printf("%-70s", str);
- SKIPPED();
-#if H5_SIZEOF_LONG_DOUBLE!=0
- HDputs(" Test skipped due to hardware conversion error.");
-#else
- HDputs(" Test skipped due to disbaled long double.");
-#endif
-#endif /* H5_FP_TO_INTEGER_OVERFLOW_WORKS */
return nerrors;
}
diff --git a/test/dtransform.c b/test/dtransform.c
index d80c21a..4adbaf5 100644
--- a/test/dtransform.c
+++ b/test/dtransform.c
@@ -297,20 +297,8 @@ int main(void)
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CONTIG(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("contiguous, with type conversion (float->llong)")
- SKIPPED()
-#endif
-
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
TEST_TYPE_CONTIG(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
-#else
- TESTING("contiguous, with type conversion (float->ullong)")
- SKIPPED()
-#endif
TEST_TYPE_CONTIG(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CONTIG(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);
#if H5_SIZEOF_LONG_DOUBLE!=0
@@ -326,19 +314,8 @@ int main(void)
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned int, H5T_NATIVE_UINT, "uint", transformData, 0);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long, H5T_NATIVE_LONG, "long", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long, H5T_NATIVE_ULONG, "ulong", transformData, 0);
-#ifdef H5_LLONG_TO_FP_CAST_WORKS
TEST_TYPE_CHUNK(dxpl_id_c_to_f, long long, H5T_NATIVE_LLONG, "llong", windchillFfloat, 1);
-#else
- TESTING("chunked, with type conversion (float->llong)")
- SKIPPED()
-#endif
-
-#ifdef H5_ULLONG_TO_FP_CAST_WORKS
TEST_TYPE_CHUNK(dxpl_id_utrans_inv, unsigned long long, H5T_NATIVE_ULLONG, "ullong", transformData, 0);
-#else
- TESTING("chunked, with type conversion (float->ullong)")
- SKIPPED()
-#endif
TEST_TYPE_CHUNK(dxpl_id_c_to_f, float, H5T_NATIVE_FLOAT, "float", windchillFfloat, 1);
TEST_TYPE_CHUNK(dxpl_id_c_to_f, double, H5T_NATIVE_DOUBLE, "double", windchillFfloat, 1);
#if H5_SIZEOF_LONG_DOUBLE!=0
diff --git a/test/flush2.c b/test/flush2.c
index 8108bba..28ce41e 100644
--- a/test/flush2.c
+++ b/test/flush2.c
@@ -186,7 +186,7 @@ main(void)
PASSED()
else
{
-#if defined H5_HAVE_WIN32_API && defined _HDF5USEDLL_
+#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
#elif defined H5_VMS
@@ -209,7 +209,7 @@ main(void)
PASSED()
else
{
-#if defined H5_HAVE_WIN32_API && defined _HDF5USEDLL_
+#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
#elif defined H5_VMS
diff --git a/test/gen_filespace.c b/test/gen_filespace.c
index 7ee2a7a..e0c42e8 100644
--- a/test/gen_filespace.c
+++ b/test/gen_filespace.c
@@ -42,7 +42,8 @@ static void gen_file(void)
hid_t dataset, space;
hsize_t dim[1];
int data[NUM_ELMTS];
- unsigned i, j; /* Local index variable */
+ size_t j; /* Local index variable */
+ int i; /* Local index variable */
H5F_file_space_type_t fs_type; /* File space handling strategy */
for(j = 0, fs_type = H5F_FILE_SPACE_ALL_PERSIST; j < NELMTS(FILENAMES); j++, fs_type = (H5F_file_space_type_t)(fs_type + 1)) {
diff --git a/test/gen_plist.c b/test/gen_plist.c
index acc5f3e..e77af73 100644
--- a/test/gen_plist.c
+++ b/test/gen_plist.c
@@ -280,8 +280,8 @@ main(void)
assert(ret > 0);
/* Create FAPL for the elink FAPL */
- if((fapl1 = ret = H5Pcreate(ret = H5P_FILE_ACCESS)) < 0)
- assert(ret > 0);
+ if((fapl1 = H5Pcreate(H5P_FILE_ACCESS)) < 0)
+ assert(fapl1 > 0);
if((ret = H5Pset_alignment(fapl1, 2, 1024)) < 0)
assert(ret > 0);
diff --git a/test/getname.c b/test/getname.c
index 2d999b9..dc1ddbe 100644
--- a/test/getname.c
+++ b/test/getname.c
@@ -103,7 +103,11 @@ test_main(hid_t file_id, hid_t fapl)
hid_t space_id;
hid_t type_id, type2_id;
hsize_t dims[1] = { 5 };
- size_t name_len; /* Name length */
+ size_t name_len; /* Name length */
+ H5O_info_t oinfo; /* Object info structs */
+ hid_t dtype; /* Object identifier for testing */
+ hid_t dtype_anon; /* Object identifier for testing anonymous */
+ ssize_t size; /* Size returned by H5Iget_name */
/* Initialize the file names */
h5_fixname(FILENAME[1], fapl, filename1, sizeof filename1);
@@ -2355,7 +2359,58 @@ test_main(hid_t file_id, hid_t fapl)
H5Gclose(group_id);
H5Gclose(group2_id);
H5Fclose(file1_id);
- H5Fclose(file2_id);
+
+ PASSED();
+
+ /*-------------------------------------------------------------------------
+ * Test H5Iget_name with anonymous datatypes
+ *-------------------------------------------------------------------------
+ */
+
+ TESTING("H5Iget_name with anonymous datatypes");
+
+ /* Commit the type anonymously and link it in */
+ if((dtype = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ /* Test H5Iget_name with created datatype, should fail because not committed */
+ H5E_BEGIN_TRY {
+ if((size = H5Iget_name(dtype, NULL, 0)) >= 0) TEST_ERROR
+ } H5E_END_TRY;
+
+ if(H5Tcommit_anon(file2_id, dtype, H5P_DEFAULT, H5P_DEFAULT)) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype, NULL, 0)) != 0) TEST_ERROR
+
+ /* Create a link to the object */
+ if( H5Olink(dtype, file2_id, "datatype", H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Commit a second datatype with no links to it and commit it */
+ if((dtype_anon = H5Tcopy(H5T_NATIVE_INT)) < 0) TEST_ERROR
+ if(H5Tcommit_anon(file2_id, dtype_anon, H5P_DEFAULT, H5P_DEFAULT) < 0) TEST_ERROR
+
+ /* Test H5Iget_name with anonymously created datatype, should pass because committed */
+ if((size = H5Iget_name(dtype_anon, NULL,0)) != 0) TEST_ERROR
+
+ /* Store the address of the datatype for later use */
+ if(H5Oget_info(dtype_anon, &oinfo) < 0) TEST_ERROR
+
+ /* Update the reference count to dtype_anon to preserve the datatype */
+ if(H5Oincr_refcount(dtype_anon) < 0) TEST_ERROR
+
+ if(H5Tclose(dtype) < 0) TEST_ERROR
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
+
+ /* Re-open the file and check that the anonymous datatypes persist */
+ if( (file2_id = H5Fopen(filename2, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
+
+ /* Check the H5Iget_name does not return an error for anon committed datatypes */
+ if((dtype_anon = H5Oopen_by_addr(file2_id, oinfo.addr)) < 0) TEST_ERROR
+
+ if((size = H5Iget_name(dtype_anon,NULL,0)) != 0) TEST_ERROR
+
+ if(H5Tclose(dtype_anon) < 0) TEST_ERROR
+ if(H5Fclose(file2_id) < 0) TEST_ERROR
PASSED();
diff --git a/test/plugin.c b/test/plugin.c
index 02007d5..74a8f4b 100644
--- a/test/plugin.c
+++ b/test/plugin.c
@@ -536,16 +536,17 @@ error:
*-------------------------------------------------------------------------
*/
static herr_t
-test_noread_data(hid_t dataset, int *origin_data)
+test_noread_data(hid_t dataset)
{
- int check[DSET_DIM1][DSET_DIM2];
- const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
- int *data_p = origin_data;
- size_t i, j; /* Local index variables */
+ int check[DSET_DIM1][DSET_DIM2];
+ herr_t ret;
/* Read the dataset back */
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check) >= 0)
- TEST_ERROR;
+ H5E_BEGIN_TRY {
+ ret = H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check);
+ } H5E_END_TRY
+ if(ret >= 0)
+ TEST_ERROR
PASSED();
return 0;
@@ -578,7 +579,7 @@ test_noread_with_filters(hid_t file)
if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
- if(test_noread_data(dset, (int *)points_dynlib1) < 0) TEST_ERROR
+ if(test_noread_data(dset) < 0) TEST_ERROR
if(H5Dclose(dset) < 0) TEST_ERROR
diff --git a/test/th5s.c b/test/th5s.c
index 9d51ec8..7c1c46e 100644
--- a/test/th5s.c
+++ b/test/th5s.c
@@ -2224,6 +2224,8 @@ test_h5s_extent_copy(void)
hsize_t d3_dims1[3] = {10, 10, 10}, /* 3-D dimensions */
d3_dims2[3] = {20, 20, 20},
d3_dims3[3] = {H5S_UNLIMITED, H5S_UNLIMITED, H5S_UNLIMITED};
+ hsize_t npoints[14]; /* Expected number of points in selection for each element in spaces */
+ hssize_t npoints_ret; /* Number of points returned by H5Sget_select_npoints() */
htri_t ext_equal; /* Whether two dataspace extents are equal */
const unsigned num_spaces = sizeof(spaces) / sizeof(spaces[0]);
unsigned i, j;
@@ -2232,36 +2234,50 @@ test_h5s_extent_copy(void)
/* Create dataspaces */
spaces[0] = H5Screate(H5S_NULL);
CHECK(spaces[0], FAIL, "H5Screate");
+ npoints[0] = (hsize_t)0;
spaces[1] = H5Screate(H5S_SCALAR);
CHECK(spaces[1], FAIL, "H5Screate");
+ npoints[1] = (hsize_t)1;
spaces[2] = H5Screate_simple(1, d1_dims1, NULL);
CHECK(spaces[2], FAIL, "H5Screate");
+ npoints[2] = d1_dims1[0];
spaces[3] = H5Screate_simple(1, d1_dims2, NULL);
CHECK(spaces[3], FAIL, "H5Screate");
+ npoints[3] = d1_dims2[0];
spaces[4] = H5Screate_simple(1, d1_dims1, d1_dims2);
CHECK(spaces[4], FAIL, "H5Screate");
+ npoints[4] = d1_dims1[0];
spaces[5] = H5Screate_simple(1, d1_dims1, d1_dims3);
CHECK(spaces[5], FAIL, "H5Screate");
+ npoints[5] = d1_dims1[0];
spaces[6] = H5Screate_simple(2, d2_dims1, NULL);
CHECK(spaces[6], FAIL, "H5Screate");
+ npoints[6] = d2_dims1[0] * d2_dims1[1];
spaces[7] = H5Screate_simple(2, d2_dims2, NULL);
CHECK(spaces[7], FAIL, "H5Screate");
+ npoints[7] = d2_dims2[0] * d2_dims2[1];
spaces[8] = H5Screate_simple(2, d2_dims1, d2_dims2);
CHECK(spaces[8], FAIL, "H5Screate");
+ npoints[8] = d2_dims1[0] * d2_dims1[1];
spaces[9] = H5Screate_simple(2, d2_dims1, d2_dims3);
CHECK(spaces[9], FAIL, "H5Screate");
+ npoints[9] = d2_dims1[0] * d2_dims1[1];
spaces[10] = H5Screate_simple(3, d3_dims1, NULL);
CHECK(spaces[10], FAIL, "H5Screate");
+ npoints[10] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
spaces[11] = H5Screate_simple(3, d3_dims2, NULL);
CHECK(spaces[11], FAIL, "H5Screate");
+ npoints[11] = d3_dims2[0] * d3_dims2[1] * d3_dims2[2];
spaces[12] = H5Screate_simple(3, d3_dims1, d3_dims2);
CHECK(spaces[12], FAIL, "H5Screate");
+ npoints[12] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
spaces[13] = H5Screate_simple(3, d3_dims1, d3_dims3);
CHECK(spaces[13], FAIL, "H5Screate");
+ npoints[13] = d3_dims1[0] * d3_dims1[1] * d3_dims1[2];
tmp_space = H5Screate(H5S_NULL);
CHECK(tmp_space, FAIL, "H5Screate");
@@ -2275,14 +2291,26 @@ test_h5s_extent_copy(void)
* will test copying from i/j to i/j */
ret = H5Sextent_copy(tmp_space, spaces[j]);
CHECK(ret, FAIL, "H5Sextent_copy");
+
+ /* Verify that the extents are equal */
ext_equal = H5Sextent_equal(tmp_space, spaces[j]);
VERIFY(ext_equal, TRUE, "H5Sextent_equal");
+ /* Verify that the correct number of elements is selected */
+ npoints_ret = H5Sget_select_npoints(tmp_space);
+ VERIFY((hsize_t)npoints_ret, npoints[j], "H5Sget_select_npoints");
+
/* Copy from j to i */
ret = H5Sextent_copy(tmp_space, spaces[i]);
CHECK(ret, FAIL, "H5Sextent_copy");
+
+ /* Verify that the extents are equal */
ext_equal = H5Sextent_equal(tmp_space, spaces[i]);
VERIFY(ext_equal, TRUE, "H5Sextent_equal");
+
+ /* Verify that the correct number of elements is selected */
+ npoints_ret = H5Sget_select_npoints(tmp_space);
+ VERIFY((hsize_t)npoints_ret, npoints[i], "H5Sget_select_npoints");
} /* end for */
/* Close dataspaces */
diff --git a/test/tmisc.c b/test/tmisc.c
index 68a30eb..869557c 100644
--- a/test/tmisc.c
+++ b/test/tmisc.c
@@ -1847,9 +1847,21 @@ test_misc11(void)
ret = H5Pset_sizes(fcpl, (size_t)MISC11_SIZEOF_OFF, (size_t)MISC11_SIZEOF_LEN);
CHECK(ret, FAIL, "H5Pset_sizes");
+ /* This should fail as (32770*2) will exceed ^16 - 2 bytes for storing btree entries */
+ H5E_BEGIN_TRY {
+ ret=H5Pset_sym_k(fcpl, 32770, 0);
+ } H5E_END_TRY;
+ VERIFY(ret, FAIL, "H5Pset_sym_k");
+
ret=H5Pset_sym_k(fcpl,MISC11_SYM_IK,MISC11_SYM_LK);
CHECK(ret, FAIL, "H5Pset_sym_k");
+ /* This should fail as (32770*2) will exceed ^16 - 2 bytes for storing btree entries */
+ H5E_BEGIN_TRY {
+ ret=H5Pset_istore_k(fcpl, 32770);
+ } H5E_END_TRY;
+ VERIFY(ret, FAIL, "H5Pset_istore_k");
+
ret=H5Pset_istore_k(fcpl,MISC11_ISTORE_IK);
CHECK(ret, FAIL, "H5Pset_istore_k");
diff --git a/test/ttsafe_cancel.c b/test/ttsafe_cancel.c
index 56f431e..d8ed462 100644
--- a/test/ttsafe_cancel.c
+++ b/test/ttsafe_cancel.c
@@ -123,7 +123,7 @@ void tts_cancel(void)
void *tts_cancel_thread(void UNUSED *arg)
{
int datavalue;
- int *buffer;
+ int buffer;
hid_t dataspace, datatype, dataset;
hsize_t dimsf[1]; /* dataset dimensions */
cancel_cleanup_t *cleanup_structure;
@@ -156,10 +156,9 @@ void *tts_cancel_thread(void UNUSED *arg)
ret=H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &datavalue);
assert(ret>=0);
- buffer = HDmalloc(sizeof(int));
- ret=H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, buffer);
+ ret=H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &buffer);
assert(ret>=0);
- ret=H5Diterate(buffer, H5T_NATIVE_INT, dataspace, tts_cancel_callback, &dataset);
+ ret=H5Diterate(&buffer, H5T_NATIVE_INT, dataspace, tts_cancel_callback, &dataset);
assert(ret>=0);
sleep(3);