summaryrefslogtreecommitdiffstats
path: root/testpar/testphdf5.c
diff options
context:
space:
mode:
Diffstat (limited to 'testpar/testphdf5.c')
-rw-r--r--testpar/testphdf5.c99
1 files changed, 27 insertions, 72 deletions
diff --git a/testpar/testphdf5.c b/testpar/testphdf5.c
index d377b47..4abe1f7 100644
--- a/testpar/testphdf5.c
+++ b/testpar/testphdf5.c
@@ -37,12 +37,6 @@ H5E_auto_t old_func; /* previous error handler */
void *old_client_data; /* previous error handler arg.*/
/* other option flags */
-int doread=1; /* read test */
-int dowrite=1; /* write test */
-int docompact=1; /* compact dataset test */
-int donull=1; /* null dataset test */
-int doindependent=1; /* independent test */
-unsigned dobig=0; /* "big" dataset tests */
/* FILENAME and filenames must have the same number of names */
const char *FILENAME[15]={
@@ -52,7 +46,6 @@ const char *FILENAME[15]={
"ParaMdset",
"ParaMgroup",
"ParaCompact",
- "ParaNull",
"ParaIndividual",
"ParaBig",
"ParaFill",
@@ -60,6 +53,7 @@ const char *FILENAME[15]={
"ParaCC2",
"ParaCC3",
"ParaCC4",
+ "ParaNull",
NULL};
char filenames[15][PATH_MAX];
hid_t fapl; /* file access property list */
@@ -121,26 +115,18 @@ int MPI_Init(int *argc, char ***argv)
static void
usage(void)
{
- printf(" [-r] [-w] [-v<verbosity>] [-m<n_datasets>] [-n<n_groups>] "
+ printf(" [-r] [-w] [-m<n_datasets>] [-n<n_groups>] "
"[-o] [-f <prefix>] [-d <dim0> <dim1>]\n");
- printf("\t-r\t\tno read test\n");
- printf("\t-w\t\tno write test\n");
printf("\t-m<n_datasets>"
"\tset number of datasets for the multiple dataset test\n");
printf("\t-n<n_groups>"
"\tset number of groups for the multiple group test\n");
- printf("\t-o\t\tno compact dataset test\n");
- printf("\t-e\t\tno null dataset test\n");
- printf("\t-i\t\tno independent read test\n");
- printf("\t-b\t\trun big dataset test\n");
- printf("\t-v<verbosity>\tset verbose level (0-9,l,m,h)\n");
printf("\t-f <prefix>\tfilename prefix\n");
- printf("\t-s\t\tuse Split-file together with MPIO\n");
+ printf("\t-2\t\tuse Split-file together with MPIO\n");
printf("\t-p\t\tuse combo MPI-POSIX driver\n");
- printf("\t-d <dim0> <dim1>\tdataset dimensions\n");
- printf("\t-c <dim0> <dim1>\tdataset chunk dimensions\n");
- printf("\tDefault: do write then read with dimensions %dx%d\n",
+ printf("\t-d <dim0> <dim1>\tdataset dimensions. Defaults (%d,%d)\n",
DIM0, DIM1);
+ printf("\t-c <dim0> <dim1>\tdataset chunk dimensions. Defaults (dim0/10,dim1/10)\n");
printf("\n");
}
@@ -165,10 +151,6 @@ parse_options(int argc, char **argv)
break;
}else{
switch(*(*argv+1)){
- case 'r': doread = 0;
- break;
- case 'w': dowrite = 0;
- break;
case 'm': ndatasets = atoi((*argv+1)+1);
if (ndatasets < 0){
nerrors++;
@@ -181,19 +163,6 @@ parse_options(int argc, char **argv)
return(1);
}
break;
- case 'o': docompact = 0;
- break;
- case 'e': donull = 0;
- break;
- case 'i': doindependent = 0;
- break;
- case 'b': dobig = 1;
- break;
- case 'v': if (*((*argv+1)+1))
- ParseTestVerbosity((*argv+1)+1);
- else
- SetTestVerbosity(VERBO_MED);
- break;
case 'f': if (--argc < 1) {
nerrors++;
return(1);
@@ -207,7 +176,7 @@ parse_options(int argc, char **argv)
case 'p': /* Use the MPI-POSIX driver access */
facc_type = FACC_MPIPOSIX;
break;
- case 's': /* Use the split-file driver with MPIO access */
+ case '2': /* Use the split-file driver with MPIO access */
/* Can use $HDF5_METAPREFIX to define the */
/* meta-file-prefix. */
facc_type = FACC_MPIO | FACC_SPLIT;
@@ -235,7 +204,8 @@ parse_options(int argc, char **argv)
break;
case 'h': /* print help message--return with nerrors set */
return(1);
- default: nerrors++;
+ default: printf("Illegal option(%s)\n", *argv);
+ nerrors++;
return(1);
}
}
@@ -430,8 +400,6 @@ int main(int argc, char **argv)
AddTest("compact", compact_dataset, NULL,
"compact dataset test", filenames[5]);
- AddTest("null", null_dataset, NULL,
- "null dataset test", filenames[6]);
collngroups_params.name = filenames[6];
collngroups_params.count = ngroups;
@@ -457,14 +425,16 @@ int main(int argc, char **argv)
}
else {
AddTest("coll_chunked1", coll_chunk1,NULL,
- "simple collective chunk io",filenames[10]);
+ "simple collective chunk io",filenames[9]);
AddTest("coll_chunked2", coll_chunk2,NULL,
- "noncontiguous collective chunk io",filenames[11]);
+ "noncontiguous collective chunk io",filenames[10]);
AddTest("coll_chunked3", coll_chunk3,NULL,
- "multi-chunk collective chunk io",filenames[12]);
+ "multi-chunk collective chunk io",filenames[11]);
AddTest("coll_chunked4", coll_chunk4,NULL,
- "collective to independent chunk io",filenames[13]);
+ "collective to independent chunk io",filenames[12]);
}
+ AddTest("null", null_dataset, NULL,
+ "null dataset test", filenames[13]);
/* Display testing information */
TestInfo(argv[0]);
@@ -490,42 +460,33 @@ int main(int argc, char **argv)
"===================================\n");
}
- /* Argument requests */
- if (dobig && sizeof(MPI_Offset)>4){
- SetTest("bigdataset", ONLYTEST);
- }
-
/* Perform requested testing */
PerformTests();
+finish:
+ /* make sure all processes are finished before final report, cleanup
+ * and exit.
+ */
+ MPI_Barrier(MPI_COMM_WORLD);
+
/* Display test summary, if requested */
- if (GetTestSummary())
+ if (MAINPROCESS && GetTestSummary())
TestSummary();
/* Clean up test files, if allowed */
if (GetTestCleanup() && !getenv("HDF5_NOCLEANUP"))
- TestCleanup();
+ h5_cleanup(FILENAME, fapl);
+ else
+ /* h5_cleanup would have closed fapl. Now must do it explicitedly */
+ H5Pclose(fapl);
nerrors += GetTestNumErrs();
-
- if (!(dowrite || doread || ndatasets || ngroups || docompact || donull || doindependent || dobig )){
- usage();
- nerrors++;
- }
-
-finish:
- /* make sure all processes are finished before final report, cleanup
- * and exit.
- */
- MPI_Barrier(MPI_COMM_WORLD);
-
/* Gather errors from all processes */
{
int temp;
- MPI_Reduce(&nerrors, &temp, 1, MPI_INT, MPI_MAX, 0, MPI_COMM_WORLD);
- if(mpi_rank==0)
- nerrors=temp;
+ MPI_Allreduce(&nerrors, &temp, 1, MPI_INT, MPI_MAX, MPI_COMM_WORLD);
+ nerrors=temp;
}
if (MAINPROCESS){ /* only process 0 reports */
@@ -536,12 +497,6 @@ finish:
printf("PHDF5 tests finished with no errors\n");
printf("===================================\n");
}
- if (dowrite)
- h5_cleanup(FILENAME, fapl);
- else
- /* h5_cleanup would have closed fapl. Now must do it explicitedly */
- H5Pclose(fapl);
-
/* close HDF5 library */
H5close();