diff options
-rw-r--r-- | hl/fortran/test/CMakeLists.txt | 8 | ||||
-rw-r--r-- | hl/fortran/test/Makefile.am | 29 | ||||
-rw-r--r-- | hl/fortran/test/tstlite.F90 | 74 | ||||
-rw-r--r-- | hl/fortran/test/tsttable.F90 | 52 |
4 files changed, 112 insertions, 51 deletions
diff --git a/hl/fortran/test/CMakeLists.txt b/hl/fortran/test/CMakeLists.txt index fc703dc..13cb177 100644 --- a/hl/fortran/test/CMakeLists.txt +++ b/hl/fortran/test/CMakeLists.txt @@ -31,7 +31,7 @@ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) add_executable (hl_f90_tstlite tstlite.F90) TARGET_NAMING (hl_f90_tstlite STATIC) TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite STATIC " " " ") -target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET}) +target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET}) target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static) set_target_properties (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran) set_target_properties (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran) @@ -39,7 +39,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) add_executable (hl_f90_tstlite-shared tstlite.F90) TARGET_NAMING (hl_f90_tstlite-shared SHARED) TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite-shared SHARED " " " ") - target_link_libraries (hl_f90_tstlite-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET}) + target_link_libraries (hl_f90_tstlite-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET}) target_include_directories (hl_f90_tstlite-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared) set_target_properties (hl_f90_tstlite-shared PROPERTIES LINKER_LANGUAGE Fortran @@ -73,7 +73,7 @@ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) add_executable (hl_f90_tsttable tsttable.F90) TARGET_NAMING (hl_f90_tsttable STATIC) TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable STATIC " " " ") -target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET}) +target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_F90_TEST_LIB_TARGET}) target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static) set_target_properties (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran) set_target_properties (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran) @@ -81,7 +81,7 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) add_executable (hl_f90_tsttable-shared tsttable.F90) TARGET_NAMING (hl_f90_tsttable-shared SHARED) TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable-shared SHARED " " " ") - target_link_libraries (hl_f90_tsttable-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET}) + target_link_libraries (hl_f90_tsttable-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_TEST_LIBSH_TARGET}) target_include_directories (hl_f90_tsttable-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared) set_target_properties (hl_f90_tsttable-shared PROPERTIES LINKER_LANGUAGE Fortran diff --git a/hl/fortran/test/Makefile.am b/hl/fortran/test/Makefile.am index 32d367c..4013d39 100644 --- a/hl/fortran/test/Makefile.am +++ b/hl/fortran/test/Makefile.am @@ -22,7 +22,7 @@ include $(top_srcdir)/config/commence.am AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_builddir)/src -I$(top_srcdir)/hl/src -AM_FCFLAGS+=-I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/hl/fortran/src +AM_FCFLAGS+=-I$(top_builddir)/fortran/src -I$(top_builddir)/hl/fortran/src -I$(top_builddir)/fortran/test $(F9XMODFLAG)$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/test $(F9XMODFLAG)$(top_builddir)/hl/fortran/src # Some Fortran compilers can't build shared libraries, so sometimes we # need to make sure the Fortran programs link against the static version @@ -36,7 +36,9 @@ endif TEST_PROG=tstds tstlite tstimage tsttable check_PROGRAMS=$(TEST_PROG) -LDADD= $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5) +LIBOBJS=$(top_builddir)/fortran/test/tf_gen.o + +LDADD=$(LIBOBJS) $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5) # Source files for the programs tstds_SOURCES=tstds.F90 @@ -47,6 +49,29 @@ tsttable_SOURCES=tsttable.F90 # Temporary files. CHECK_CLEANFILES+=dsetf[1-5].h5 f1img.h5 f[1-2]tab.h5 tstds.h5 +# Fortran module files can have different extensions and different names +# (e.g., different capitalizations) on different platforms. Write rules +# for them explicitly rather than trying to teach automake about them. +# They should be installed as headers and removed during clean. +maintainer-clean-local: clean-local +distclean-local: clean-local +clean-local: + @if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(RM) *.$(F9XMODEXT); \ + fi + +install-data-local: + @if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \ + $(CP) $(top_builddir)/$(subdir)/*.$(F9XMODEXT) $(DESTDIR)$(includedir)/. ; \ + fi + +uninstall-local: + @if test -n "$(F9XMODEXT)" -a "X$(F9XMODEXT)" != "Xo"; then \ + if test -f "$(includedir)/hdf5.$(F9XMODEXT)" -o -f "$(DESTDIR)$(includedir)/HDF5.$(F9XMODEXT)"; then \ + set -x; $(RM) $(includedir)/*.$(F9XMODEXT); \ + fi; \ + fi + # Mark this directory as part of the Fortran API (this affects output # from tests in conclude.am) FORTRAN_API=yes diff --git a/hl/fortran/test/tstlite.F90 b/hl/fortran/test/tstlite.F90 index 42e2bcc..b19ca5a 100644 --- a/hl/fortran/test/tstlite.F90 +++ b/hl/fortran/test/tstlite.F90 @@ -20,6 +20,7 @@ MODULE TSTLITE + USE TH5_MISC_GEN IMPLICIT NONE CONTAINS @@ -122,7 +123,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf1(i) .NE. bufr1(i) ) THEN + CALL VERIFY("h5ltread_dataset_f",buf1(i), bufr1(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer (I)' PRINT *, bufr1(i), ' and ', buf1(i) STOP @@ -147,7 +149,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf2(i) .NE. bufr2(i) ) THEN + CALL VERIFY("h5ltread_dataset_f",buf2(i), bufr2(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer (R)' PRINT *, bufr2(i), ' and ', buf2(i) STOP @@ -179,7 +182,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf3(i) .NE. bufr3(i) ) THEN + CALL VERIFY("h5ltread_dataset_f",buf3(i), bufr3(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer (D)' PRINT *, bufr3(i), ' and ', buf3(i) STOP @@ -337,7 +341,8 @@ CONTAINS ! DO i = 1, dims(1) DO j = 1, dims(2) - IF ( buf3(i,j) .NE. buf3r(i,j) ) THEN + CALL VERIFY("h5ltread_dataset_f",buf3(i,j), buf3r(i,j), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, buf3r(i,j), ' and ', buf3(i,j) STOP @@ -368,7 +373,8 @@ CONTAINS ! DO i = 1, dims(1) DO j = 1, dims(2) - IF ( buf4(i,j) .NE. buf4r(i,j) ) THEN + CALL VERIFY("h5ltread_dataset_f", buf4(i,j), buf4r(i,j), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, buf4r(i,j), ' and ', buf4(i,j) STOP @@ -551,7 +557,8 @@ CONTAINS DO i = 1, dims(1) DO j = 1, dims(2) DO k = 1, dims(3) - IF ( buf3(i,j,k) .NE. buf3r(i,j,k) ) THEN + CALL VERIFY("h5ltread_dataset_f",buf3(i,j,k), buf3r(i,j,k), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, buf3r(i,j,k), ' and ', buf3(i,j,k) STOP @@ -582,7 +589,8 @@ CONTAINS DO i = 1, dims(1) DO j = 1, dims(2) DO k = 1, dims(3) - IF ( buf4(i,j,k) .NE. buf4r(i,j,k) ) THEN + CALL VERIFY("h5ltread_dataset_f", buf4(i,j,k), buf4r(i,j,k), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, buf4r(i,j,k), ' and ', buf4(i,j,k) STOP @@ -1040,7 +1048,8 @@ CONTAINS DO k = 1, dims(3) DO l = 1, dims(4) IF(rank.EQ.4)THEN - IF ( rbuf_4(i,j,k,l) .NE. rbufr_4(i,j,k,l) ) THEN + CALL VERIFY("h5ltread_dataset_f",rbuf_4(i,j,k,l), rbufr_4(i,j,k,l), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, rbuf_4(i,j,k,l), ' and ', rbufr_4(i,j,k,l) STOP @@ -1048,7 +1057,8 @@ CONTAINS ENDIF DO m = 1, dims(5) IF(rank.EQ.5)THEN - IF ( rbuf_5(i,j,k,l,m) .NE. rbufr_5(i,j,k,l,m) ) THEN + CALL VERIFY("h5ltread_dataset_f",rbuf_5(i,j,k,l,m), rbufr_5(i,j,k,l,m), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, rbuf_5(i,j,k,l,m), ' and ', rbufr_5(i,j,k,l,m) STOP @@ -1056,7 +1066,8 @@ CONTAINS ENDIF DO n = 1, dims(6) IF(rank.EQ.6)THEN - IF ( rbuf_6(i,j,k,l,m,n) .NE. rbufr_6(i,j,k,l,m,n) ) THEN + CALL VERIFY("h5ltread_dataset_f",rbuf_6(i,j,k,l,m,n), rbufr_6(i,j,k,l,m,n), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, rbuf_6(i,j,k,l,m,n), ' and ', rbufr_6(i,j,k,l,m,n) STOP @@ -1064,7 +1075,8 @@ CONTAINS ENDIF DO o = 1, dims(7) IF(rank.EQ.7)THEN - IF ( rbuf_7(i,j,k,l,m,n,o) .NE. rbufr_7(i,j,k,l,m,n,o) ) THEN + CALL VERIFY("h5ltread_dataset_f",rbuf_7(i,j,k,l,m,n,o), rbufr_7(i,j,k,l,m,n,o), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, rbuf_7(i,j,k,l,m,n,o), ' and ', rbufr_7(i,j,k,l,m,n,o) STOP @@ -1124,7 +1136,8 @@ CONTAINS DO k = 1, dims(3) DO l = 1, dims(4) IF(rank.EQ.4)THEN - IF ( dbuf_4(i,j,k,l) .NE. dbufr_4(i,j,k,l) ) THEN + CALL VERIFY("h5ltread_dataset_f",dbuf_4(i,j,k,l), dbufr_4(i,j,k,l), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, dbuf_4(i,j,k,l), ' and ', dbufr_4(i,j,k,l) STOP @@ -1132,7 +1145,8 @@ CONTAINS ENDIF DO m = 1, dims(5) IF(rank.EQ.5)THEN - IF ( dbuf_5(i,j,k,l,m) .NE. dbufr_5(i,j,k,l,m) ) THEN + CALL VERIFY("h5ltread_dataset_f",dbuf_5(i,j,k,l,m), dbufr_5(i,j,k,l,m), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, dbuf_5(i,j,k,l,m), ' and ', dbufr_5(i,j,k,l,m) STOP @@ -1140,7 +1154,8 @@ CONTAINS ENDIF DO n = 1, dims(6) IF(rank.EQ.6)THEN - IF ( dbuf_6(i,j,k,l,m,n) .NE. dbufr_6(i,j,k,l,m,n) ) THEN + CALL VERIFY("h5ltread_dataset_f",dbuf_6(i,j,k,l,m,n), dbufr_6(i,j,k,l,m,n), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, dbuf_6(i,j,k,l,m,n), ' and ', dbufr_6(i,j,k,l,m,n) STOP @@ -1148,7 +1163,8 @@ CONTAINS ENDIF DO o = 1, dims(7) IF(rank.EQ.7)THEN - IF ( dbuf_7(i,j,k,l,m,n,o) .NE. dbufr_7(i,j,k,l,m,n,o) ) THEN + CALL VERIFY("h5ltread_dataset_f",dbuf_7(i,j,k,l,m,n,o), dbufr_7(i,j,k,l,m,n,o), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, dbuf_7(i,j,k,l,m,n,o), ' and ', dbufr_7(i,j,k,l,m,n,o) STOP @@ -1323,7 +1339,8 @@ CONTAINS REAL, DIMENSION(DIM1) , TARGET :: bufr3 ! Data buffer DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf4 ! Data buffer DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr4 ! Data buffer - INTEGER :: i, j, n ! general purpose integer + INTEGER :: i, n ! general purpose integer + INTEGER(SIZE_T) :: i_sz, j_sz ! general purpose integer INTEGER :: has ! general purpose integer INTEGER :: type_class INTEGER(SIZE_T) :: type_size @@ -1375,14 +1392,14 @@ CONTAINS ALLOCATE( ptr(1)%data(1:wdata(1)%len) ) ALLOCATE( ptr(2)%data(1:wdata(2)%len) ) - DO i=1, wdata(1)%len - ptr(1)%data(i) = wdata(1)%len - i + 1 ! 3 2 1 + DO i_sz=1, wdata(1)%len + ptr(1)%data(i_sz) = INT(wdata(1)%len) - INT(i_sz) + 1 ! 3 2 1 ENDDO wdata(1)%p = C_LOC(ptr(1)%data(1)) ptr(2)%data(1:2) = 1 - DO i = 3, wdata(2)%len - ptr(2)%data(i) = ptr(2)%data(i-1) + ptr(2)%data(i-2) ! (1 1 2 3 5 8 etc.) + DO i_sz = 3, wdata(2)%len + ptr(2)%data(i_sz) = ptr(2)%data(i_sz-1_size_t) + ptr(2)%data(i_sz-2_size_t) ! (1 1 2 3 5 8 etc.) ENDDO wdata(2)%p = C_LOC(ptr(2)%data(1)) @@ -1439,7 +1456,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf3(i) .NE. bufr3(i) ) THEN + CALL VERIFY("h5ltread_dataset_f", buf3(i), bufr3(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufr3(i), ' and ', buf3(i) STOP @@ -1473,7 +1491,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf4(i) .NE. bufr4(i) ) THEN + CALL VERIFY("h5ltread_dataset_double_f", buf4(i), bufr4(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufr4(i), ' and ', buf4(i) STOP @@ -1530,8 +1549,9 @@ CONTAINS DO i = 1, INT(dims_vl(1)) CALL c_f_pointer(rdata(i)%p, ptr_r, [rdata(i)%len] ) - DO j = 1, rdata(i)%len - IF(ptr_r(j).NE.ptr(i)%data(j))THEN + DO j_sz = 1, rdata(i)%len + CALL VERIFY("h5ltread_dataset_f", ptr_r(j_sz), ptr(i)%data(j_sz), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'Writing/Reading variable-length dataset failed' STOP ENDIF @@ -1793,7 +1813,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf3(i) .NE. bufr3(i) ) THEN + CALL VERIFY("h5ltget_attribute_f",buf3(i), bufr3(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufr3(i), ' and ', buf3(i) STOP @@ -1841,7 +1862,8 @@ CONTAINS ! compare read and write buffers. ! DO i = 1, DIM1 - IF ( buf4(i) .NE. bufr4(i) ) THEN + CALL VERIFY("h5ltget_attribute_f",buf4(i), bufr4(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufr4(i), ' and ', buf4(i) STOP diff --git a/hl/fortran/test/tsttable.F90 b/hl/fortran/test/tsttable.F90 index 822f116..62d291f 100644 --- a/hl/fortran/test/tsttable.F90 +++ b/hl/fortran/test/tsttable.F90 @@ -44,6 +44,9 @@ END MODULE TSTTABLE MODULE TSTTABLE_TESTS + USE TH5_MISC_GEN + IMPLICIT NONE + CONTAINS !------------------------------------------------------------------------- @@ -283,7 +286,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufrr(i) .NE. bufr(i) ) THEN + CALL VERIFY("h5tbread_field_name_f", bufrr(i), bufr(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufrr(i), ' and ', bufr(i) STOP @@ -298,7 +302,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufdr(i) .NE. bufd(i) ) THEN + CALL VERIFY("h5tbread_field_name_f", bufdr(i), bufd(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufdr(i), ' and ', bufd(i) STOP @@ -315,7 +320,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufrr(i) .NE. bufr(i) ) THEN + CALL VERIFY("h5tbread_field_name_f", bufrr(i), bufr(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufrr(i), ' and ', bufr(i) STOP @@ -362,7 +368,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufsr(i) .NE. bufs(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufsr(i), bufs(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufsr(i), ' and ', bufs(i) STOP @@ -376,7 +383,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufir(i) .NE. bufi(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufir(i), bufi(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufir(i), ' and ', bufi(i) STOP @@ -390,7 +398,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufrr(i) .NE. bufr(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufrr(i), bufr(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufrr(i), ' and ', bufr(i) STOP @@ -404,7 +413,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufdr(i) .NE. bufd(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufdr(i), bufd(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufdr(i), ' and ', bufd(i) STOP @@ -419,7 +429,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufrr(i) .NE. bufr(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufrr(i), bufr(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufrr(i), ' and ', bufr(i) STOP @@ -444,7 +455,8 @@ SUBROUTINE test_table1() ! compare read and write buffers. ! DO i = 1, nrecords - IF ( bufrr(i) .NE. bufr(i) ) THEN + CALL VERIFY("h5tbread_field_index_f", bufrr(i), bufr(i), errcode) + IF (errcode .NE.0 ) THEN PRINT *, 'read buffer differs from write buffer' PRINT *, bufrr(i), ' and ', bufr(i) STOP @@ -670,11 +682,12 @@ SUBROUTINE test_table2() CALL h5tbread_table_f(file_id, table_name_fill, nfields, dst_size, dst_offset, dst_sizes, f_ptr3, errcode) DO i = 1, nfields - IF(r_data(i)%name.NE.fill_data(i)%name.OR. & - r_data(i)%lati.NE.fill_data(i)%lati.OR. & - r_data(i)%long.NE.fill_data(i)%long.OR. & - r_data(i)%pressure.NE.fill_data(i)%pressure.OR. & - r_data(i)%temperature.NE.fill_data(i)%temperature)THEN + CALL VERIFY("h5tbread_table_f", r_data(i)%name, fill_data(i)%name, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%lati, fill_data(i)%lati, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%long, fill_data(i)%long, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%pressure, fill_data(i)%pressure, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%temperature, fill_data(i)%temperature, errcode) + IF (errcode .NE.0 ) THEN PRINT*,'H5TBmake/read_table_f --filled-- FAILED' STOP ENDIF @@ -693,11 +706,12 @@ SUBROUTINE test_table2() CALL h5tbread_table_f(file_id, table_name, nfields, dst_size, dst_offset, dst_sizes, f_ptr3, errcode) DO i = 1, nfields - IF(r_data(i)%name.NE.p_data(i)%name.OR. & - r_data(i)%lati.NE.p_data(i)%lati.OR. & - r_data(i)%long.NE.p_data(i)%long.OR. & - r_data(i)%pressure.NE.p_data(i)%pressure.OR. & - r_data(i)%temperature.NE.p_data(i)%temperature)THEN + CALL VERIFY("h5tbread_table_f", r_data(i)%name, p_data(i)%name, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%lati, p_data(i)%lati, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%long, p_data(i)%long, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%pressure, p_data(i)%pressure, errcode) + CALL VERIFY("h5tbread_table_f", r_data(i)%temperature, p_data(i)%temperature, errcode) + IF (errcode .NE.0 ) THEN PRINT*,'H5TBmake/read_table_f FAILED' STOP ENDIF |