[svn-r18664] Description:

Add a few H5Tequal() calls to make certain that the native datatype
constructed with H5Tget_native_type() is identical to the memory datatype
created from the struct in memory.

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
    Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
        w/C++ & FORTRAN, w/threadsafe, in debug mode
    Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
        w/C++ & FORTRAN, in production mode
    Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
        w/szip filter, in production mode
    Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
        in production mode
    Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
    Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
    Mac OS X/32 10.6.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
This commit is contained in:
Quincey Koziol 2010-04-29 07:52:10 -05:00
parent 83175cb191
commit 468e38c9e7

View File

@ -412,6 +412,9 @@ test_compound_dtype2(hid_t file)
if((native_type = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
TEST_ERROR;
if(H5Tequal(native_type, tid_m) != TRUE)
TEST_ERROR;
/* Verify the datatype of each field retrieved and converted */
/* check the char member */
if((mem_id = H5Tget_member_type(native_type, 0)) < 0)
@ -666,6 +669,9 @@ test_compound_dtype(hid_t file)
if((native_type = H5Tget_native_type(dtype, H5T_DIR_DEFAULT)) < 0)
TEST_ERROR;
if(H5Tequal(native_type, tid2) != TRUE)
TEST_ERROR;
/* Verify the datatype of each field retrieved and converted */
if((mem_id = H5Tget_member_type(native_type, 0)) < 0)
TEST_ERROR;
@ -2572,7 +2578,7 @@ test_bitfield_dtype(hid_t file)
H5P_DEFAULT)) < 0) TEST_ERROR;
for(i = 0; i < BITFIELD_ENUMB*sizeof(int); i++)
wbuf[i] = (unsigned int)0xff ^ (unsigned int)i;
wbuf[i] = (unsigned char)((unsigned int)0xff ^ (unsigned int)i);
if(H5Dwrite(dset1, H5T_NATIVE_B32, H5S_ALL, H5S_ALL, H5P_DEFAULT, wbuf) < 0) TEST_ERROR;
if(H5Dclose(dset1) < 0) TEST_ERROR;
@ -2603,12 +2609,12 @@ test_bitfield_dtype(hid_t file)
/* Read the data and compare them */
if(H5Dread(dataset1, native_type, H5S_ALL, H5S_ALL, H5P_DEFAULT, rbuf) < 0) TEST_ERROR;
p = (unsigned int*)rbuf;
p = (unsigned char *)rbuf;
for(i = 0; i < BITFIELD_ENUMB*4; i++) {
if(*p != wbuf[i]) {
H5_FAILED();
printf(" Read different values than written.\n");
printf(" At index %d\n", i);
printf(" At index %zu\n", i);
TEST_ERROR;
}
p++;
@ -2633,7 +2639,7 @@ test_bitfield_dtype(hid_t file)
if(intr[i] != intw[i]) {
H5_FAILED();
printf(" Read different values than written.\n");
printf(" At index %d\n", i);
printf(" At index %zu\n", i);
TEST_ERROR;
}
}