From e23d2acad826dd7a4155b835872f029d0fcbe09f Mon Sep 17 00:00:00 2001
From: Pedro Vicente Nunes <pvn@hdfgroup.org>
Date: Tue, 3 Oct 2006 11:33:55 -0500
Subject: [PATCH] [svn-r12713] added new tests with different datatypes  for
 h5dump binary output

tested: kagiso
---
 tools/h5dump/h5dumpgentest.c  |  68 +++++++++++++++++++++++++++-------
 tools/h5dump/testh5dump.sh.in |   8 ++--
 tools/testfiles/tbin1.ddl     |   2 +-
 tools/testfiles/tbin2.ddl     |   2 +-
 tools/testfiles/tbin3.ddl     |   8 ++--
 tools/testfiles/tbin4.ddl     |   8 ++--
 tools/testfiles/tbinary.h5    | Bin 2096 -> 806144 bytes
 7 files changed, 68 insertions(+), 28 deletions(-)

diff --git a/tools/h5dump/h5dumpgentest.c b/tools/h5dump/h5dumpgentest.c
index 70372da4d5..45142e37e9 100644
--- a/tools/h5dump/h5dumpgentest.c
+++ b/tools/h5dump/h5dumpgentest.c
@@ -5563,33 +5563,73 @@ error:
  *              Contains:
  *              1) an integer dataset
  *              2) a float dataset
+ *              3) an array dataset
+ *              4) a large double dataset
  *
  *-------------------------------------------------------------------------
  */
 static void gent_binary()
 {
- hid_t    fid, sid, idid, fdid;
+ hid_t    fid, sid, did, tid;
  hsize_t  dims[1] = {6};
+ hsize_t  dimarray[1] = {2};
+ hsize_t  dimsl[1] = {100000};
  int      ibuf[6]  = {1,2,3,4,5,6};
  float    fbuf[6]  = {1,2,3,4,5,6};
+ int      abuf[2][6] = {{1,2,3,4,5,6},{7,8,9,10,11,12}};  /* array */
+ double   *dbuf=NULL;
 
  fid = H5Fcreate(FILE55, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
 
- /* create dataspace */
+
+/*-------------------------------------------------------------------------
+ * integer
+ *-------------------------------------------------------------------------
+ */
  sid = H5Screate_simple(1, dims, NULL);
- 
- /* create datasets */
- idid = H5Dcreate(fid, "integer", H5T_NATIVE_INT, sid, H5P_DEFAULT);
- fdid = H5Dcreate(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT);
- 
- /* write */
- H5Dwrite(idid, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ibuf);
- H5Dwrite(fdid, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf);
- 
- /* close */
+ did = H5Dcreate(fid, "integer", H5T_NATIVE_INT, sid, H5P_DEFAULT);
+ H5Dwrite(did, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, ibuf);
+ H5Dclose(did);
  H5Sclose(sid);
- H5Dclose(idid);
- H5Dclose(fdid);
+
+/*-------------------------------------------------------------------------
+ * float
+ *-------------------------------------------------------------------------
+ */
+ sid = H5Screate_simple(1, dims, NULL);
+ did = H5Dcreate(fid, "float", H5T_NATIVE_FLOAT, sid, H5P_DEFAULT);
+ H5Dwrite(did, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, fbuf);
+ H5Dclose(did);
+ H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * array
+ *-------------------------------------------------------------------------
+ */
+ tid = H5Tarray_create(H5T_NATIVE_INT,1,dims,NULL);
+ sid = H5Screate_simple(1, dimarray, NULL);
+ did = H5Dcreate(fid, "array", tid, sid, H5P_DEFAULT);
+ H5Dwrite(did, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, abuf);
+ H5Dclose(did);
+ H5Tclose(tid);
+ H5Sclose(sid);
+
+/*-------------------------------------------------------------------------
+ * double
+ *-------------------------------------------------------------------------
+ */
+ sid = H5Screate_simple(1, dimsl, NULL);
+ did = H5Dcreate(fid, "double", H5T_NATIVE_DOUBLE, sid, H5P_DEFAULT);
+ dbuf=calloc(100000,sizeof(double));
+ if (dbuf!=NULL)
+ {
+  H5Dwrite(did, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, dbuf);
+  free(dbuf);
+ }
+ H5Dclose(did);
+ H5Sclose(sid);
+
+ /* close */
  H5Fclose(fid);
 }
 
diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in
index 660b93855c..836838560c 100644
--- a/tools/h5dump/testh5dump.sh.in
+++ b/tools/h5dump/testh5dump.sh.in
@@ -323,10 +323,10 @@ TOOLTEST tlonglinks.ddl tlonglinks.h5
 TOOLTEST tvms.ddl tvms.h5
 
 # test for binary output
-TOOLTEST tbin1.ddl -d integer -o out1.bin -b MEMORY tbinary.h5
-TOOLTEST tbin2.ddl -d float   -o out2.bin -b FILE   tbinary.h5
-TOOLTEST tbin3.ddl -d integer -o out3.bin -b LE     tbinary.h5
-TOOLTEST tbin4.ddl -d float   -o out4.bin -b BE     tbinary.h5
+TOOLTEST tbin1.ddl -d integer -o out1.bin -b LE     tbinary.h5
+TOOLTEST tbin2.ddl -d float   -o out2.bin -b BE     tbinary.h5
+TOOLTEST tbin3.ddl -d array   -o out3.bin -b MEMORY tbinary.h5
+TOOLTEST tbin4.ddl -d double  -o out4.bin -b FILE   tbinary.h5
    # Clean up binary output files
    if test -z "$HDF5_NOCLEANUP"; then
       rm -f $srcdir/../testfiles/out[1-4].bin
diff --git a/tools/testfiles/tbin1.ddl b/tools/testfiles/tbin1.ddl
index 386ecdee70..3adbac01a6 100644
--- a/tools/testfiles/tbin1.ddl
+++ b/tools/testfiles/tbin1.ddl
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5dump -d integer -o out1.bin -b MEMORY tbinary.h5'
+Expected output for 'h5dump -d integer -o out1.bin -b LE tbinary.h5'
 #############################
 HDF5 "tbinary.h5" {
 DATASET "integer" {
diff --git a/tools/testfiles/tbin2.ddl b/tools/testfiles/tbin2.ddl
index 03f4e48fbc..f480e60cf1 100644
--- a/tools/testfiles/tbin2.ddl
+++ b/tools/testfiles/tbin2.ddl
@@ -1,5 +1,5 @@
 #############################
-Expected output for 'h5dump -d float -o out2.bin -b FILE tbinary.h5'
+Expected output for 'h5dump -d float -o out2.bin -b BE tbinary.h5'
 #############################
 HDF5 "tbinary.h5" {
 DATASET "float" {
diff --git a/tools/testfiles/tbin3.ddl b/tools/testfiles/tbin3.ddl
index 5226802b62..a49547fe57 100644
--- a/tools/testfiles/tbin3.ddl
+++ b/tools/testfiles/tbin3.ddl
@@ -1,10 +1,10 @@
 #############################
-Expected output for 'h5dump -d integer -o out3.bin -b LE tbinary.h5'
+Expected output for 'h5dump -d array -o out3.bin -b MEMORY tbinary.h5'
 #############################
 HDF5 "tbinary.h5" {
-DATASET "integer" {
-   DATATYPE  H5T_STD_I32LE
-   DATASPACE  SIMPLE { ( 6 ) / ( 6 ) }
+DATASET "array" {
+   DATATYPE  H5T_ARRAY { [6] H5T_STD_I32LE }
+   DATASPACE  SIMPLE { ( 2 ) / ( 2 ) }
    DATA {
    }
 }
diff --git a/tools/testfiles/tbin4.ddl b/tools/testfiles/tbin4.ddl
index 7bd0de3de2..8b0b3675a6 100644
--- a/tools/testfiles/tbin4.ddl
+++ b/tools/testfiles/tbin4.ddl
@@ -1,10 +1,10 @@
 #############################
-Expected output for 'h5dump -d float -o out4.bin -b BE tbinary.h5'
+Expected output for 'h5dump -d double -o out4.bin -b FILE tbinary.h5'
 #############################
 HDF5 "tbinary.h5" {
-DATASET "float" {
-   DATATYPE  H5T_IEEE_F32LE
-   DATASPACE  SIMPLE { ( 6 ) / ( 6 ) }
+DATASET "double" {
+   DATATYPE  H5T_IEEE_F64LE
+   DATASPACE  SIMPLE { ( 100000 ) / ( 100000 ) }
    DATA {
    }
 }
diff --git a/tools/testfiles/tbinary.h5 b/tools/testfiles/tbinary.h5
index e960d73b0571965103230d53f639af3f2a0d456d..691b0084b47c7a80630bcebcfaa3ecaddff4c951 100644
GIT binary patch
literal 806144
zcmeI#zfKfE901_C1LZ(Xz(!(X+*oNN7GmtcL=25$)PmBJI~0SE9A_exR~fCewet~t
z1WQY!FX3C@%<e2ANU$-U$v0tdX6Mh|?03IeX5TE{yme~g>_kYZ)e56wGK`cb)yGaw
z;r7Y0V)s1vd6@IVvPNizMr<r{hpBk|l-}j@kIh`j*@Jrv3n7lEzo*XYUe`yfQY%-?
z$NWkzuXl_7X0f`q(J7vFx3=1kyT#f@vH9p}ccouE>9#xFUfJ_~yut5Z$HoWW#>Qu!
zbXI3)wt6cwi?d6YSIYM7*uMPvTA04n9M6}Q4T-?w!i~FWD$9937jyn)UmUG%^t+Ga
z@4dRd+3v?a?Ow0F9rMoS^GEC56k%1WV<(>;nl-}lYD^w@EVRn=X0ut=jKsK3g~=G0
zRfrblwHi6z8+qLE{0*%zUG^Vo#0!;aI=58W>0F(LoqKyBu8G&bwEydq`*)UZHsYPu
zvwm0K*dY@u>iWsL@cX=O9vu69dtIB+!o|H0tGe+&%8!n#Do&<~^Sg0%rWMY-%=dV7
zd`<shd<}*|?P!mpTsLRqY*Xx|^-+i3-nF;irG7m8Tz6Np%dby>gX`|aP`Lc9NhH5y
zla^6>Zlz^cc@E}caX$XVV-SxI@%S`<SpTsQw-511|1i^L;zT^E9YZWg1PBlyK!Ctd
z2^_uOs`sCB`Hf^gTs;x4?&N*<{(aVmS80ck_5!=_H}xyR?B4yr!F|@C9Or`o0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7
z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N
z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+
z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly
zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF
z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk
z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs
z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ
zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U
NAV7cs0Rn$2@B=RYUuggU

literal 2096
zcmeIzSyB^07{KwK2~bm1Aqk5KAP|(*6$NEcAV?A-AiFDypaf)J#DzU7qP%egkKhqF
z0vDq2|IPGR<pawjRq$2)dYSH?^vra3wqxOFT54{plCUh5q`b;wSDfTPN2T?D-R&~u
z77ob`Wh#TVpl<hZe~BGk|6}Tc&iZ>J5yc4icir6WRi5OO^mNn(s_Brs`jCN4WFZ?D
z;YR>D$VDD5As+=OL=Z)|j4LQc2})6ha#Y|duHiav;3jUN61Q;&Rj9^Y+(Qj&QHOfm
z#{)E=5lsl884uBdFnAFvidMw%2yJLb2OgsnUFb#+deMh|Ji${u!*jgAOAO!@USkk%
zFoa>e#XF23j!}%^J;pJCNlalHGnmC3=CObeSj0zs!e@NJ5|*)oRjgqh8%W?QzTrDI
z@dI1<iC@@8EYd8GYQGQ3<-1DknNIGe<1>r#vG{@-othn%xfr@ZzSBv<P$|wBJuq2W
zcHJ~h`-+DZCk3yi*fSDAJ2mwBHuSg@`zl+DnaU-PLD3F(=1wg`UzR@m(HuU#Jn`v?
zzRs?&>}9W>(p>V<bJGv00-mG$owe5E*OjwQe8Iwh>&kB_zw8l-<JVW<gzGC|-|sv*
g+iyV58#y{<o60#R+uAv^68di`6ykKoZ|sKt0_N>raR2}S