summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2008-02-19 19:12:10 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2008-02-19 19:12:10 (GMT)
commit6bc41c8b209fd0cc9cc3d088eb425ddbcf681a53 (patch)
treea6c6f0d9f1fb4bd950c74dbadaf50f4ee1623092
parentfc8e5477f583b6e256b06da62fb9b80d0db5418f (diff)
downloadhdf5-6bc41c8b209fd0cc9cc3d088eb425ddbcf681a53.zip
hdf5-6bc41c8b209fd0cc9cc3d088eb425ddbcf681a53.tar.gz
hdf5-6bc41c8b209fd0cc9cc3d088eb425ddbcf681a53.tar.bz2
[svn-r14613] 971 (B2) h5import bug on Windows w/binary datasets. CLOSED. fread in windows needs a binary file to be open with "rb" instead of "r" otherwise it terminates execution if an end of file character is found on the input file. Besides that the binary file generated needs to be open with "wb" , otherwise an end of line character is read twice. DONE NOW for 1.8, already done previously for 1.6
renamed the h5import test files to have the extensions text input files = .txt binary input files = .bin configuration files = .conf hdf5 files = .h5 besides that in very test the files have the same name except extension. For example TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5 The convention for the test name is for example, for "txtin16" "txt" for text then "in16" means integer 16 size Tested: linux, solaris
-rwxr-xr-xtools/h5import/h5import.c55
-rwxr-xr-xtools/h5import/h5importtest.c439
-rwxr-xr-xtools/h5import/h5importtestutil.sh55
-rwxr-xr-xtools/h5import/testfiles/binfp64.conf (renamed from tools/h5import/testfiles/conbfp64)0
-rw-r--r--tools/h5import/testfiles/binfp64.h5 (renamed from tools/h5import/testfiles/test8.h5)bin10760 -> 10760 bytes
-rwxr-xr-xtools/h5import/testfiles/binin16.conf (renamed from tools/h5import/testfiles/conbin16)0
-rw-r--r--tools/h5import/testfiles/binin16.h5 (renamed from tools/h5import/testfiles/test9.h5)bin10760 -> 10760 bytes
-rwxr-xr-xtools/h5import/testfiles/binin32.conf (renamed from tools/h5import/testfiles/conbin32)0
-rw-r--r--tools/h5import/testfiles/binin32.h5 (renamed from tools/h5import/testfiles/test11.h5)bin9472 -> 9472 bytes
-rwxr-xr-xtools/h5import/testfiles/binin8.conf (renamed from tools/h5import/testfiles/conbin8)0
-rw-r--r--tools/h5import/testfiles/binin8.h5 (renamed from tools/h5import/testfiles/test10.h5)bin10760 -> 10760 bytes
-rw-r--r--tools/h5import/testfiles/binin8w.conf9
-rw-r--r--tools/h5import/testfiles/binin8w.h5bin0 -> 2852 bytes
-rwxr-xr-xtools/h5import/testfiles/binuin16.conf (renamed from tools/h5import/testfiles/conbuin16)0
-rw-r--r--tools/h5import/testfiles/binuin16.h5 (renamed from tools/h5import/testfiles/test12.h5)bin10760 -> 10760 bytes
-rwxr-xr-xtools/h5import/testfiles/binuin32.conf (renamed from tools/h5import/testfiles/conbuin32)0
-rw-r--r--tools/h5import/testfiles/binuin32.h5 (renamed from tools/h5import/testfiles/test13.h5)bin6384 -> 6384 bytes
-rwxr-xr-xtools/h5import/testfiles/txtfp32.conf (renamed from tools/h5import/testfiles/textfp32)0
-rw-r--r--tools/h5import/testfiles/txtfp32.h5 (renamed from tools/h5import/testfiles/test6.h5)bin4192 -> 4192 bytes
-rwxr-xr-xtools/h5import/testfiles/txtfp32.txt (renamed from tools/h5import/testfiles/fp1)0
-rwxr-xr-xtools/h5import/testfiles/txtfp64.conf (renamed from tools/h5import/testfiles/textfp64)0
-rw-r--r--tools/h5import/testfiles/txtfp64.h5 (renamed from tools/h5import/testfiles/test7.h5)bin9784 -> 9784 bytes
-rwxr-xr-xtools/h5import/testfiles/txtfp64.txt (renamed from tools/h5import/testfiles/fp2)0
-rwxr-xr-xtools/h5import/testfiles/txtin16.conf (renamed from tools/h5import/testfiles/textin16)0
-rw-r--r--tools/h5import/testfiles/txtin16.h5 (renamed from tools/h5import/testfiles/test2.h5)bin9784 -> 9784 bytes
-rw-r--r--[-rwxr-xr-x]tools/h5import/testfiles/txtin16.txt (renamed from tools/h5import/testfiles/in1)0
-rwxr-xr-xtools/h5import/testfiles/txtin32.conf (renamed from tools/h5import/testfiles/textin32)0
-rw-r--r--tools/h5import/testfiles/txtin32.h5 (renamed from tools/h5import/testfiles/test1.h5)bin4192 -> 4192 bytes
-rw-r--r--tools/h5import/testfiles/txtin32.txt15
-rwxr-xr-xtools/h5import/testfiles/txtin8.conf (renamed from tools/h5import/testfiles/textin8)0
-rw-r--r--tools/h5import/testfiles/txtin8.h5 (renamed from tools/h5import/testfiles/test3.h5)bin9784 -> 9784 bytes
-rw-r--r--tools/h5import/testfiles/txtstr.conf (renamed from tools/h5import/testfiles/textstr)0
-rw-r--r--tools/h5import/testfiles/txtstr.h5 (renamed from tools/h5import/testfiles/teststr.h5)bin10240 -> 10240 bytes
-rw-r--r--tools/h5import/testfiles/txtstr.txt (renamed from tools/h5import/testfiles/txtstr)0
-rwxr-xr-xtools/h5import/testfiles/txtuin16.conf (renamed from tools/h5import/testfiles/textuin16)0
-rw-r--r--tools/h5import/testfiles/txtuin16.h5 (renamed from tools/h5import/testfiles/test5.h5)bin10240 -> 10240 bytes
-rwxr-xr-xtools/h5import/testfiles/txtuin32.conf (renamed from tools/h5import/testfiles/textuin32)0
-rw-r--r--tools/h5import/testfiles/txtuin32.h5 (renamed from tools/h5import/testfiles/test4.h5)bin6240 -> 6240 bytes
-rwxr-xr-xtools/h5import/testfiles/txtuin32.txt15
39 files changed, 397 insertions, 191 deletions
diff --git a/tools/h5import/h5import.c b/tools/h5import/h5import.c
index f8f518b..d1b15bb 100755
--- a/tools/h5import/h5import.c
+++ b/tools/h5import/h5import.c
@@ -45,10 +45,6 @@ int main(int argc, char *argv[])
(void)HDsetvbuf(stderr, (char *) NULL, _IOLBF, 0);
(void)HDsetvbuf(stdout, (char *) NULL, _IOLBF, 0);
-#if defined __MWERKS__
- argc = ccommand(&argv);
-#endif
-
if ( argv[1] && (strcmp("-V",argv[1])==0) )
{
print_version("h5import");
@@ -275,7 +271,7 @@ gtoken(char *s)
* Programmer: pkmat
*
* Modifications: pvn
- * 7/23/2007. Added support for STR type
+ * 7/23/2007. Added support for STR type, extra parameter FILE_ID
*
*-------------------------------------------------------------------------
*/
@@ -293,12 +289,53 @@ processDataFile(char *infile, struct Input *in, FILE **strm, hid_t file_id)
const char *err10 = "Unrecognized input class type.\n";
const char *err11 = "Error in reading string data.\n";
- if ((*strm = fopen(infile, "r")) == NULL)
+ /*-------------------------------------------------------------------------
+ * special case for opening binary classes in WIN32
+ * "FP" denotes a floating point binary file,
+ * "IN" denotes a signed integer binary file,
+ * "UIN" denotes an unsigned integer binary file,
+ *-------------------------------------------------------------------------
+ */
+ if ( in->inputClass == 4 /* "IN" */ ||
+ in->inputClass == 3 /* "FP" */ ||
+ in->inputClass == 7 /* "UIN" */
+
+ )
+ {
+
+#ifdef WIN32
+
+ if ((*strm = fopen(infile, "rb")) == NULL)
+ {
+ (void) fprintf(stderr, err1, infile);
+ return(-1);
+ }
+#else
+
+ if ((*strm = fopen(infile, "r")) == NULL)
+ {
+ (void) fprintf(stderr, err1, infile);
+ return(-1);
+ }
+
+#endif
+
+ }
+ /*-------------------------------------------------------------------------
+ * if the input class is not binary, just use "r"
+ *-------------------------------------------------------------------------
+ */
+ else
{
- (void) fprintf(stderr, err1, infile);
- return(-1);
+ if ((*strm = fopen(infile, "r")) == NULL)
+ {
+ (void) fprintf(stderr, err1, infile);
+ return(-1);
+ }
}
+
+
switch(in->inputClass)
{
case 0: /* TEXTIN */
@@ -372,7 +409,7 @@ readIntegerData(FILE **strm, struct Input *in)
H5DT_INT8 *in08;
H5DT_INT16 *in16, temp;
H5DT_INT32 *in32;
-#ifndef _WIN32
+#ifndef WIN32
H5DT_INT64 *in64;
char buffer[256];
#endif
diff --git a/tools/h5import/h5importtest.c b/tools/h5import/h5importtest.c
index 2a8c827..9272632 100755
--- a/tools/h5import/h5importtest.c
+++ b/tools/h5import/h5importtest.c
@@ -21,271 +21,378 @@
* h5importtest
*
* Description:
- * This program creates files that can be
+ * This program creates that can be
* used to test the h5import program.
*
*/
-/*
- * Define names for test files
- */
int
main(void)
{
- int nrow = 3, ncol = 4, npln = 5;
- int i, j, k;
- FILE *sp;
-
+ int nrow = 3, ncol = 4, npln = 5;
+ int i, j, k;
+ FILE *sp;
+
float b32r3[5][3][4];
float row4[3], col4[4], pln4[5];
float rowo4 = (float)11.0e0, colo4 = (float)21.0e0, plno4 = (float)51.0e0;
float rowi4 = (float)1.0e0, coli4 = (float)2.0e0, plni4 = (float)5.0e0;
-
- int b32i3[5][3][4];
- int row4i[3], col4i[4], pln4i[5];
- int rowo4i = (int)11 , colo4i = (int)21 , plno4i = (int)51 ;
- int rowi4i = (int)1 , coli4i = (int)2 , plni4i = (int)5 ;
-
-#ifndef _WIN32
- long_long b64i2[3][4], b64i3[5][3][4];
- long_long row4i64[3], col4i64[4], pln4i64[5];
- long_long rowo4i64 = (long_long)11 , colo4i64 = (long_long)21 , plno4i64 = (long_long)51 ;
- long_long rowi4i64 = (long_long)1 , coli4i64 = (long_long)2 , plni4i64 = (long_long)5 ;
+
+ int b32i3[5][3][4];
+ int row4i[3], col4i[4], pln4i[5];
+ int rowo4i = (int)11 , colo4i = (int)21 , plno4i = (int)51 ;
+ int rowi4i = (int)1 , coli4i = (int)2 , plni4i = (int)5 ;
+
+#ifndef WIN32
+ long_long b64i2[3][4], b64i3[5][3][4];
+ long_long row4i64[3], col4i64[4], pln4i64[5];
+ long_long rowo4i64 = (long_long)11 , colo4i64 = (long_long)21 , plno4i64 = (long_long)51 ;
+ long_long rowi4i64 = (long_long)1 , coli4i64 = (long_long)2 , plni4i64 = (long_long)5 ;
#endif
-
+
short b16i3[5][3][4];
short row4i16[3], col4i16[4], pln4i16[5];
short rowo4i16 = (short)11 , colo4i16 = (short)21 , plno4i16 = (short)51 ;
short rowi4i16 = (short)1 , coli4i16 = (short)2 , plni4i16 = (short)5 ;
-
- char b8i3[5][3][4];
- char row4i8[3], col4i8[4], pln4i8[5];
- char rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ;
- char rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ;
-
- double b64r3[5][3][4];
- double row8[3], col8[4], pln8[5];
- double rowo8 = 11.0e0, colo8 = 21.0e0, plno8 = 51.0e0;
- double rowi8 = 1.0e0, coli8 = 2.0e0, plni8 = 5.0e0;
-
-
+
+ char b8i3[5][3][4];
+ char row4i8[3], col4i8[4], pln4i8[5];
+ char rowo4i8 = (char)11 , colo4i8 = (char)21 , plno4i8 = (char)51 ;
+ char rowi4i8 = (char)1 , coli4i8 = (char)2 , plni4i8 = (char)5 ;
+
+ double b64r3[5][3][4];
+ double row8[3], col8[4], pln8[5];
+ double rowo8 = 11.0e0, colo8 = 21.0e0, plno8 = 51.0e0;
+ double rowi8 = 1.0e0, coli8 = 2.0e0, plni8 = 5.0e0;
+
+
/*
- * initialize the row, column, and plane vectors
- *
- * row values start at 11 and increment by 1 => 11, 12, 13
- * column values start at 21 and increment by 2 => 21, 23, 25, 27
- * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71
- */
-
-
+ * initialize the row, column, and plane vectors
+ *
+ * row values start at 11 and increment by 1 => 11, 12, 13
+ * column values start at 21 and increment by 2 => 21, 23, 25, 27
+ * plane values start at 51 and increment by 5 => 51, 56, 61, 66, 71
+ */
+
+
/*
- * build array elements - rank 2
- *
- * element value = sum of row value and col values
- */
-
+ * build array elements - rank 2
+ *
+ * element value = sum of row value and col values
+ */
+
row4[0] = rowo4;
col4[0] = colo4;
pln4[0] = plno4;
-
+
row8[0] = rowo8;
col8[0] = colo8;
pln8[0] = plno8;
-
+
row4i[0] = rowo4i;
col4i[0] = colo4i;
pln4i[0] = plno4i;
-
-#ifndef _WIN32
+
+#ifndef WIN32
row4i64[0] = rowo4i64;
col4i64[0] = colo4i64;
pln4i64[0] = plno4i64;
#endif
-
+
row4i16[0] = rowo4i16;
col4i16[0] = colo4i16;
pln4i16[0] = plno4i16;
-
+
row4i8[0] = rowo4i8;
col4i8[0] = colo4i8;
pln4i8[0] = plno4i8;
-
+
for (i = 1; i < nrow; i++)
{
row4[i] = row4[i - 1] + rowi4;
row8[i] = row8[i - 1] + rowi8;
row4i[i] = row4i[i - 1] + rowi4i;
-#ifndef _WIN32
- row4i64[i] = row4i64[i - 1] + rowi4i64;
+#ifndef WIN32
+ row4i64[i] = row4i64[i - 1] + rowi4i64;
#endif
- row4i16[i] = row4i16[i - 1] + rowi4i16;
- row4i8[i] = row4i8[i - 1] + rowi4i8;
+ row4i16[i] = row4i16[i - 1] + rowi4i16;
+ row4i8[i] = row4i8[i - 1] + rowi4i8;
}
for (j = 1; j < ncol; j++)
{
- col4[j] = col4[j - 1] + coli4;
- col8[j] = col8[j - 1] + coli8;
- col4i[j] = col4i[j - 1] + coli4i;
-#ifndef _WIN32
- col4i64[j] = col4i64[j - 1] + coli4i64;
+ col4[j] = col4[j - 1] + coli4;
+ col8[j] = col8[j - 1] + coli8;
+ col4i[j] = col4i[j - 1] + coli4i;
+#ifndef WIN32
+ col4i64[j] = col4i64[j - 1] + coli4i64;
#endif
- col4i16[j] = col4i16[j - 1] + coli4i16;
- col4i8[j] = col4i8[j - 1] + coli4i8;
+ col4i16[j] = col4i16[j - 1] + coli4i16;
+ col4i8[j] = col4i8[j - 1] + coli4i8;
}
for (k = 1; k < npln; k++)
{
- pln4[k] = pln4[k - 1] + plni4;
- pln8[k] = pln8[k - 1] + plni8;
- pln4i[k] = pln4i[k - 1] + plni4i;
-#ifndef _WIN32
- pln4i64[k] = pln4i64[k - 1] + plni4i64;
+ pln4[k] = pln4[k - 1] + plni4;
+ pln8[k] = pln8[k - 1] + plni8;
+ pln4i[k] = pln4i[k - 1] + plni4i;
+#ifndef WIN32
+ pln4i64[k] = pln4i64[k - 1] + plni4i64;
#endif
- pln4i16[k] = pln4i16[k - 1] + plni4i16;
- pln4i8[k] = pln4i8[k - 1] + plni4i8;
- }
-
- for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
- {
-#ifndef _WIN32
- b64i2[i][j] = row4i64[i] + col4i64[j];
+ pln4i16[k] = pln4i16[k - 1] + plni4i16;
+ pln4i8[k] = pln4i8[k - 1] + plni4i8;
+ }
+
+ for (i = 0; i < nrow; i++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+#ifndef WIN32
+ b64i2[i][j] = row4i64[i] + col4i64[j];
#endif
- }
- }
+ }
+ }
/*
- * build array elements - rank 3
- *
- * element value = sum of row value, col, and plane values
- */
-
+ * build array elements - rank 3
+ *
+ * element value = sum of row value, col, and plane values
+ */
+
for (i = 0; i < nrow; i++)
- {
- for (j = 0; j < ncol; j++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+ for (k = 0; k < npln; k++)
{
- for (k = 0; k < npln; k++)
- {
- b32r3[k][i][j] = row4[i] + col4[j] + pln4[k];
- b64r3[k][i][j] = row8[i] + col8[j] + pln8[k];
- b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k];
-#ifndef _WIN32
- b64i3[k][i][j] = row4i64[i] + col4i64[j] + pln4i64[k];
+ b32r3[k][i][j] = row4[i] + col4[j] + pln4[k];
+ b64r3[k][i][j] = row8[i] + col8[j] + pln8[k];
+ b32i3[k][i][j] = row4i[i] + col4i[j] + pln4i[k];
+#ifndef WIN32
+ b64i3[k][i][j] = row4i64[i] + col4i64[j] + pln4i64[k];
#endif
- b16i3[k][i][j] = row4i16[i] + col4i16[j] + pln4i16[k];
- b8i3[k][i][j] = row4i8[i] + col4i8[j] + pln4i8[k];
- }
+ b16i3[k][i][j] = row4i16[i] + col4i16[j] + pln4i16[k];
+ b8i3[k][i][j] = row4i8[i] + col4i8[j] + pln4i8[k];
}
- }
+ }
+ }
- /*
- * binary 32-bit file - rank 2 & 3
- */
+
#ifndef UNICOS
- sp = fopen("txtin16", "w");
- for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
+
+ /*-------------------------------------------------------------------------
+ * TOOLTEST txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5
+ *-------------------------------------------------------------------------
+ */
+
+
+ sp = fopen("txtin16.txt", "w");
+ for (k = 0; k < npln; k++)
+ {
+ for (i = 0; i < nrow; i++)
{
- for (j = 0; j < ncol; j++)
- (void) fprintf(sp, "%10u", b16i3[k][i][j]);
- (void) fprintf(sp, "\n");
+ for (j = 0; j < ncol; j++)
+ (void) fprintf(sp, "%10u", b16i3[k][i][j]);
+ (void) fprintf(sp, "\n");
}
+ }
(void) fclose(sp);
- sp = fopen("txtin32", "w");
- for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
+ /*-------------------------------------------------------------------------
+ * TOOLTEST txtin32.txt -c $srcdir/testfiles/textin32.conf -o textin32.h5
+ *-------------------------------------------------------------------------
+ */
+
+ sp = fopen("txtin32.txt", "w");
+ for (k = 0; k < npln; k++)
+ {
+ for (i = 0; i < nrow; i++)
{
- for (j = 0; j < ncol; j++)
- (void) fprintf(sp, "%10d", b32i3[k][i][j]);
- (void) fprintf(sp, "\n");
+ for (j = 0; j < ncol; j++)
+ (void) fprintf(sp, "%10d", b32i3[k][i][j]);
+ (void) fprintf(sp, "\n");
}
- (void) fclose(sp);
+ }
+ (void) fclose(sp);
+
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binin32.bin -c $srcdir/testfiles/binin32.conf -o binin32.h5
+ *-------------------------------------------------------------------------
+ */
- sp = fopen("bin32", "w");
+#ifdef WIN32
+ sp = fopen("binin32.bin", "wb");
+#else
+ sp = fopen("binin32.bin", "w");
+#endif
for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp);
+ {
+ for (i = 0; i < nrow; i++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+ (void) fwrite((char *) &b32i3[k][i][j], sizeof(int), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binuin32.bin -c $srcdir/testfiles/binuin32.conf -o binuin32.h5
+ *-------------------------------------------------------------------------
+ */
- sp = fopen("buin32", "w");
+#ifdef WIN32
+ sp = fopen("binuin32.bin", "wb");
+#else
+ sp = fopen("binuin32.bin", "w");
+#endif
for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp);
+ {
+ for (i = 0; i < nrow; i++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+ (void) fwrite((char *) &b32i3[k][i][j], sizeof(unsigned int), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
-#ifndef _WIN32
- sp = fopen("bin64-2", "w");
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b64i2[i][j], sizeof(long_long), 1, sp);
- (void) fclose(sp);
-#endif
- sp = fopen("bfp32", "w");
+
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binin16.bin -c $srcdir/testfiles/binin16.conf -o binin16.h5
+ *-------------------------------------------------------------------------
+ */
+
+#ifdef WIN32
+ sp = fopen("binin16.bin", "wb");
+#else
+ sp = fopen("binin16.bin", "w");
+#endif
for (k = 0; k < npln; k++)
+ {
for (i = 0; i < nrow; i++)
+ {
for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b32r3[k][i][j],
- sizeof(float), 1, sp);
+ {
+ (void) fwrite((char *) &b16i3[k][i][j], sizeof(short), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
- sp = fopen("bin16", "w");
- for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b16i3[k][i][j], sizeof(short), 1,
- sp);
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binuin16.bin -c $srcdir/testfiles/binuin16.conf -o binuin16.h5
+ *-------------------------------------------------------------------------
+ */
+#ifdef WIN32
+ sp = fopen("binuin16.bin", "wb");
+#else
+ sp = fopen("binuin16.bin", "w");
+#endif
+ for (k = 0; k < npln; k++)
+ {
+ for (i = 0; i < nrow; i++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+ (void) fwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
- sp = fopen("buin16", "w");
- for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b16i3[k][i][j], sizeof(unsigned short), 1,
- sp);
- (void) fclose(sp);
-#ifndef _WIN32
- sp = fopen("bin64-3", "w");
- for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b64i3[k][i][j], sizeof(long_long), 1,
- sp);
- (void) fclose(sp);
-#endif
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binin8.bin -c $srcdir/testfiles/binin8.conf -o binin8.h5
+ *-------------------------------------------------------------------------
+ */
- sp = fopen("bin8", "w");
+#ifdef WIN32
+ sp = fopen("binin8.bin", "wb");
+#else
+ sp = fopen("binin8.bin", "w");
+#endif
for (k = 0; k < npln; k++)
- for (i = 0; i < nrow; i++)
- for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b8i3[k][i][j], sizeof(char), 1,
- sp);
+ {
+ for (i = 0; i < nrow; i++)
+ {
+ for (j = 0; j < ncol; j++)
+ {
+ (void) fwrite((char *) &b8i3[k][i][j], sizeof(char), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
-#endif
+#endif /* UNICOS */
- /*
- * binary 64-bit file - rank 2 & 3
- */
- sp = fopen("bfp64", "w");
+
+
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binfp64.bin -c $srcdir/testfiles/binfp64.conf -o binfp64.h5
+ *-------------------------------------------------------------------------
+ */
+
+ /*
+ * binary 64-bit file - rank 2 & 3
+ */
+
+#ifdef WIN32
+ sp = fopen("binfp64.bin", "wb");
+#else
+ sp = fopen("binfp64.bin", "w");
+#endif
for (k = 0; k < npln; k++)
+ {
for (i = 0; i < nrow; i++)
+ {
for (j = 0; j < ncol; j++)
- (void) fwrite((char *) &b64r3[k][i][j],
- sizeof(double), 1, sp);
+ {
+ (void) fwrite((char *) &b64r3[k][i][j], sizeof(double), 1, sp);
+ }
+ }
+ }
(void) fclose(sp);
+
+
+
+ /*-------------------------------------------------------------------------
+ * TOOLTEST binin8w.bin -c $srcdir/testfiles/binin8w.conf -o binin8w.h5
+ *-------------------------------------------------------------------------
+ */
+
+ {
+ /* test CR+LF (13,10) and EOF (26) in windows */
+ char bin8w[4] = {13,10,26,0};
+
+#ifdef WIN32
+ sp = fopen("binin8w.bin", "wb");
+#else
+ sp = fopen("binin8w.bin", "w");
+#endif
+ for (i = 0; i < 4; i++)
+ {
+ char c = bin8w[i];
+ if ( fwrite( &c, sizeof(char), 1, sp) != 1 )
+ printf("error writing file\n");
+ }
+ fclose(sp);
+
+
+ }
+
+
+
+
+
return (0);
}
diff --git a/tools/h5import/h5importtestutil.sh b/tools/h5import/h5importtestutil.sh
index 0687871..ff7dc35 100755
--- a/tools/h5import/h5importtestutil.sh
+++ b/tools/h5import/h5importtestutil.sh
@@ -60,49 +60,72 @@ cp $srcdir/testfiles/*.h5 tmp_testfiles/
$RUNSERIAL ./h5importtest
TESTING "ASCII I32 rank 3 - Output BE " ;
-TOOLTEST txtin32 -c $srcdir/testfiles/textin32 -o test1.h5
+#TOOLTEST txtin32 -c $srcdir/testfiles/textin32 -o test1.h5
+TOOLTEST $srcdir/testfiles/txtin16.txt -c $srcdir/testfiles/txtin32.conf -o txtin32.h5
TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
-TOOLTEST txtin16 -c $srcdir/testfiles/textin16 -o test2.h5
+#TOOLTEST txtin16 -c $srcdir/testfiles/textin16 -o test2.h5
+TOOLTEST $srcdir/testfiles/txtin16.txt -c $srcdir/testfiles/txtin16.conf -o txtin16.h5
+
TESTING "ASCII I8 - rank 3 - Output I16 LE-Chunked+Extended+Compressed "
-TOOLTEST txtin16 -c $srcdir/testfiles/textin8 -o test3.h5
+#TOOLTEST txtin16 -c $srcdir/testfiles/textin8 -o test3.h5
+TOOLTEST $srcdir/testfiles/txtin16.txt -c $srcdir/testfiles/txtin8.conf -o txtin8.h5
TESTING "ASCII UI32 - rank 3 - Output BE"
-TOOLTEST $srcdir/testfiles/in1 -c $srcdir/testfiles/textuin32 -o test4.h5
+#TOOLTEST $srcdir/testfiles/in1 -c $srcdir/testfiles/textuin32 -o test4.h5
+TOOLTEST $srcdir/testfiles/txtuin32.txt -c $srcdir/testfiles/txtuin32.conf -o txtuin32.h5
TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
-TOOLTEST $srcdir/testfiles/in1 -c $srcdir/testfiles/textuin16 -o test5.h5
+#TOOLTEST $srcdir/testfiles/in1 -c $srcdir/testfiles/textuin16 -o test5.h5
+TOOLTEST $srcdir/testfiles/txtuin32.txt -c $srcdir/testfiles/txtuin16.conf -o txtuin16.h5
TESTING "ASCII F32 - rank 3 - Output LE "
-TOOLTEST $srcdir/testfiles/fp1 -c $srcdir/testfiles/textfp32 -o test6.h5
+#TOOLTEST $srcdir/testfiles/fp1 -c $srcdir/testfiles/textfp32 -o test6.h5
+TOOLTEST $srcdir/testfiles/txtfp32.txt -c $srcdir/testfiles/txtfp32.conf -o txtfp32.h5
+
TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
-TOOLTEST $srcdir/testfiles/fp2 -c $srcdir/testfiles/textfp64 -o test7.h5
+#TOOLTEST $srcdir/testfiles/fp2 -c $srcdir/testfiles/textfp64 -o test7.h5
+TOOLTEST $srcdir/testfiles/txtfp64.txt -c $srcdir/testfiles/txtfp64.conf -o txtfp64.h5
TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
-TOOLTEST bfp64 -c $srcdir/testfiles/conbfp64 -o test8.h5
+#TOOLTEST bfp64 -c $srcdir/testfiles/conbfp64 -o test8.h5
+TOOLTEST binfp64.bin -c $srcdir/testfiles/binfp64.conf -o binfp64.h5
+
TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
-TOOLTEST bin16 -c $srcdir/testfiles/conbin16 -o test9.h5
+#TOOLTEST bin16 -c $srcdir/testfiles/conbin16 -o test9.h5
+TOOLTEST binin16.bin -c $srcdir/testfiles/binin16.conf -o binin16.h5
+
TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
-TOOLTEST bin8 -c $srcdir/testfiles/conbin8 -o test10.h5
+#TOOLTEST bin8 -c $srcdir/testfiles/conbin8 -o test10.h5
+TOOLTEST binin8.bin -c $srcdir/testfiles/binin8.conf -o binin8.h5
+
TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
-TOOLTEST bin32 -c $srcdir/testfiles/conbin32 -o test11.h5
+#TOOLTEST bin32 -c $srcdir/testfiles/conbin32 -o test11.h5
+TOOLTEST binin32.bin -c $srcdir/testfiles/binin32.conf -o binin32.h5
+
TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
-TOOLTEST buin16 -c $srcdir/testfiles/conbuin16 -o test12.h5
+#TOOLTEST buin16 -c $srcdir/testfiles/conbuin16 -o test12.h5
+TOOLTEST binuin16.bin -c $srcdir/testfiles/binuin16.conf -o binuin16.h5
TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED "
-TOOLTEST buin32 -c $srcdir/testfiles/conbuin32 -o test13.h5
+#TOOLTEST buin32 -c $srcdir/testfiles/conbuin32 -o test13.h5
+TOOLTEST binuin32.bin -c $srcdir/testfiles/binuin32.conf -o binuin32.h5
+
TESTING "STR"
-TOOLTEST $srcdir/testfiles/txtstr -c $srcdir/testfiles/textstr -o teststr.h5
+TOOLTEST $srcdir/testfiles/txtstr.txt -c $srcdir/testfiles/txtstr.conf -o txtstr.h5
+
+TESTING "BINARY I8 CR LF EOF"
+TOOLTEST binin8w.bin -c $srcdir/testfiles/binin8w.conf -o binin8w.h5
+
-rm -f tx* b* *.dat
-rm -f test*.h5
+rm -f *.txt *.bin *.h5
rm -rf tmp_testfiles
else
echo "** h5import or h5importtest not available ***"
diff --git a/tools/h5import/testfiles/conbfp64 b/tools/h5import/testfiles/binfp64.conf
index 6b4c361..6b4c361 100755
--- a/tools/h5import/testfiles/conbfp64
+++ b/tools/h5import/testfiles/binfp64.conf
diff --git a/tools/h5import/testfiles/test8.h5 b/tools/h5import/testfiles/binfp64.h5
index 80e3a8a..80e3a8a 100644
--- a/tools/h5import/testfiles/test8.h5
+++ b/tools/h5import/testfiles/binfp64.h5
Binary files differ
diff --git a/tools/h5import/testfiles/conbin16 b/tools/h5import/testfiles/binin16.conf
index 06869cb..06869cb 100755
--- a/tools/h5import/testfiles/conbin16
+++ b/tools/h5import/testfiles/binin16.conf
diff --git a/tools/h5import/testfiles/test9.h5 b/tools/h5import/testfiles/binin16.h5
index 0825bbc..0825bbc 100644
--- a/tools/h5import/testfiles/test9.h5
+++ b/tools/h5import/testfiles/binin16.h5
Binary files differ
diff --git a/tools/h5import/testfiles/conbin32 b/tools/h5import/testfiles/binin32.conf
index 11996ef..11996ef 100755
--- a/tools/h5import/testfiles/conbin32
+++ b/tools/h5import/testfiles/binin32.conf
diff --git a/tools/h5import/testfiles/test11.h5 b/tools/h5import/testfiles/binin32.h5
index fd8faa9..fd8faa9 100644
--- a/tools/h5import/testfiles/test11.h5
+++ b/tools/h5import/testfiles/binin32.h5
Binary files differ
diff --git a/tools/h5import/testfiles/conbin8 b/tools/h5import/testfiles/binin8.conf
index 1edd80a..1edd80a 100755
--- a/tools/h5import/testfiles/conbin8
+++ b/tools/h5import/testfiles/binin8.conf
diff --git a/tools/h5import/testfiles/test10.h5 b/tools/h5import/testfiles/binin8.h5
index a1d1a37..a1d1a37 100644
--- a/tools/h5import/testfiles/test10.h5
+++ b/tools/h5import/testfiles/binin8.h5
Binary files differ
diff --git a/tools/h5import/testfiles/binin8w.conf b/tools/h5import/testfiles/binin8w.conf
new file mode 100644
index 0000000..fccb4ac
--- /dev/null
+++ b/tools/h5import/testfiles/binin8w.conf
@@ -0,0 +1,9 @@
+
+INPUT-CLASS IN
+INPUT-SIZE 8
+RANK 1
+DIMENSION-SIZES 4
+OUTPUT-BYTE-ORDER LE
+OUTPUT-CLASS IN
+OUTPUT-SIZE 8
+OUTPUT-ARCHITECTURE STD
diff --git a/tools/h5import/testfiles/binin8w.h5 b/tools/h5import/testfiles/binin8w.h5
new file mode 100644
index 0000000..64acaed
--- /dev/null
+++ b/tools/h5import/testfiles/binin8w.h5
Binary files differ
diff --git a/tools/h5import/testfiles/conbuin16 b/tools/h5import/testfiles/binuin16.conf
index a4603df..a4603df 100755
--- a/tools/h5import/testfiles/conbuin16
+++ b/tools/h5import/testfiles/binuin16.conf
diff --git a/tools/h5import/testfiles/test12.h5 b/tools/h5import/testfiles/binuin16.h5
index c486c89..c486c89 100644
--- a/tools/h5import/testfiles/test12.h5
+++ b/tools/h5import/testfiles/binuin16.h5
Binary files differ
diff --git a/tools/h5import/testfiles/conbuin32 b/tools/h5import/testfiles/binuin32.conf
index a649e97..a649e97 100755
--- a/tools/h5import/testfiles/conbuin32
+++ b/tools/h5import/testfiles/binuin32.conf
diff --git a/tools/h5import/testfiles/test13.h5 b/tools/h5import/testfiles/binuin32.h5
index 41699d7..41699d7 100644
--- a/tools/h5import/testfiles/test13.h5
+++ b/tools/h5import/testfiles/binuin32.h5
Binary files differ
diff --git a/tools/h5import/testfiles/textfp32 b/tools/h5import/testfiles/txtfp32.conf
index 9696a7f..9696a7f 100755
--- a/tools/h5import/testfiles/textfp32
+++ b/tools/h5import/testfiles/txtfp32.conf
diff --git a/tools/h5import/testfiles/test6.h5 b/tools/h5import/testfiles/txtfp32.h5
index f74e003..f74e003 100644
--- a/tools/h5import/testfiles/test6.h5
+++ b/tools/h5import/testfiles/txtfp32.h5
Binary files differ
diff --git a/tools/h5import/testfiles/fp1 b/tools/h5import/testfiles/txtfp32.txt
index 142c94f..142c94f 100755
--- a/tools/h5import/testfiles/fp1
+++ b/tools/h5import/testfiles/txtfp32.txt
diff --git a/tools/h5import/testfiles/textfp64 b/tools/h5import/testfiles/txtfp64.conf
index fbab6a6..fbab6a6 100755
--- a/tools/h5import/testfiles/textfp64
+++ b/tools/h5import/testfiles/txtfp64.conf
diff --git a/tools/h5import/testfiles/test7.h5 b/tools/h5import/testfiles/txtfp64.h5
index b6ba4f5..b6ba4f5 100644
--- a/tools/h5import/testfiles/test7.h5
+++ b/tools/h5import/testfiles/txtfp64.h5
Binary files differ
diff --git a/tools/h5import/testfiles/fp2 b/tools/h5import/testfiles/txtfp64.txt
index 6c83dc3..6c83dc3 100755
--- a/tools/h5import/testfiles/fp2
+++ b/tools/h5import/testfiles/txtfp64.txt
diff --git a/tools/h5import/testfiles/textin16 b/tools/h5import/testfiles/txtin16.conf
index d2d11c3..d2d11c3 100755
--- a/tools/h5import/testfiles/textin16
+++ b/tools/h5import/testfiles/txtin16.conf
diff --git a/tools/h5import/testfiles/test2.h5 b/tools/h5import/testfiles/txtin16.h5
index dc6c1ea..dc6c1ea 100644
--- a/tools/h5import/testfiles/test2.h5
+++ b/tools/h5import/testfiles/txtin16.h5
Binary files differ
diff --git a/tools/h5import/testfiles/in1 b/tools/h5import/testfiles/txtin16.txt
index 0688e9b..0688e9b 100755..100644
--- a/tools/h5import/testfiles/in1
+++ b/tools/h5import/testfiles/txtin16.txt
diff --git a/tools/h5import/testfiles/textin32 b/tools/h5import/testfiles/txtin32.conf
index ca4802a..ca4802a 100755
--- a/tools/h5import/testfiles/textin32
+++ b/tools/h5import/testfiles/txtin32.conf
diff --git a/tools/h5import/testfiles/test1.h5 b/tools/h5import/testfiles/txtin32.h5
index 350333c..350333c 100644
--- a/tools/h5import/testfiles/test1.h5
+++ b/tools/h5import/testfiles/txtin32.h5
Binary files differ
diff --git a/tools/h5import/testfiles/txtin32.txt b/tools/h5import/testfiles/txtin32.txt
new file mode 100644
index 0000000..0688e9b
--- /dev/null
+++ b/tools/h5import/testfiles/txtin32.txt
@@ -0,0 +1,15 @@
+ 83 85 87 89
+ 84 86 88 90
+ 85 87 89 91
+ 88 90 92 94
+ 89 91 93 95
+ 90 92 94 96
+ 93 95 97 99
+ 94 96 98 100
+ 95 97 99 101
+ 98 100 102 104
+ 99 101 103 105
+ 100 102 104 106
+ 103 105 107 109
+ 104 106 108 110
+ 105 107 109 111
diff --git a/tools/h5import/testfiles/textin8 b/tools/h5import/testfiles/txtin8.conf
index 4405338..4405338 100755
--- a/tools/h5import/testfiles/textin8
+++ b/tools/h5import/testfiles/txtin8.conf
diff --git a/tools/h5import/testfiles/test3.h5 b/tools/h5import/testfiles/txtin8.h5
index 42e7727..42e7727 100644
--- a/tools/h5import/testfiles/test3.h5
+++ b/tools/h5import/testfiles/txtin8.h5
Binary files differ
diff --git a/tools/h5import/testfiles/textstr b/tools/h5import/testfiles/txtstr.conf
index 85079e0..85079e0 100644
--- a/tools/h5import/testfiles/textstr
+++ b/tools/h5import/testfiles/txtstr.conf
diff --git a/tools/h5import/testfiles/teststr.h5 b/tools/h5import/testfiles/txtstr.h5
index ceb0810..ceb0810 100644
--- a/tools/h5import/testfiles/teststr.h5
+++ b/tools/h5import/testfiles/txtstr.h5
Binary files differ
diff --git a/tools/h5import/testfiles/txtstr b/tools/h5import/testfiles/txtstr.txt
index 25be0a6..25be0a6 100644
--- a/tools/h5import/testfiles/txtstr
+++ b/tools/h5import/testfiles/txtstr.txt
diff --git a/tools/h5import/testfiles/textuin16 b/tools/h5import/testfiles/txtuin16.conf
index 753e6e8..753e6e8 100755
--- a/tools/h5import/testfiles/textuin16
+++ b/tools/h5import/testfiles/txtuin16.conf
diff --git a/tools/h5import/testfiles/test5.h5 b/tools/h5import/testfiles/txtuin16.h5
index 9ee166a..9ee166a 100644
--- a/tools/h5import/testfiles/test5.h5
+++ b/tools/h5import/testfiles/txtuin16.h5
Binary files differ
diff --git a/tools/h5import/testfiles/textuin32 b/tools/h5import/testfiles/txtuin32.conf
index d61e1a1..d61e1a1 100755
--- a/tools/h5import/testfiles/textuin32
+++ b/tools/h5import/testfiles/txtuin32.conf
diff --git a/tools/h5import/testfiles/test4.h5 b/tools/h5import/testfiles/txtuin32.h5
index 1a4dda5..1a4dda5 100644
--- a/tools/h5import/testfiles/test4.h5
+++ b/tools/h5import/testfiles/txtuin32.h5
Binary files differ
diff --git a/tools/h5import/testfiles/txtuin32.txt b/tools/h5import/testfiles/txtuin32.txt
new file mode 100755
index 0000000..0688e9b
--- /dev/null
+++ b/tools/h5import/testfiles/txtuin32.txt
@@ -0,0 +1,15 @@
+ 83 85 87 89
+ 84 86 88 90
+ 85 87 89 91
+ 88 90 92 94
+ 89 91 93 95
+ 90 92 94 96
+ 93 95 97 99
+ 94 96 98 100
+ 95 97 99 101
+ 98 100 102 104
+ 99 101 103 105
+ 100 102 104 106
+ 103 105 107 109
+ 104 106 108 110
+ 105 107 109 111