[Pvfs2-cvs] commit by pcarns in pvfs2-1/test/client/mpi-io:
multi-md-test.c
CVS commit program
cvs at parl.clemson.edu
Mon Apr 7 12:30:41 EDT 2008
Update of /projects/cvsroot/pvfs2-1/test/client/mpi-io
In directory parlweb1:/tmp/cvs-serv1595
Modified Files:
Tag: small-file-branch
multi-md-test.c
Log Message:
safety check maximum number of test phases
Index: multi-md-test.c
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/test/client/mpi-io/Attic/multi-md-test.c,v
diff -p -u -r1.1.2.10 -r1.1.2.11
--- multi-md-test.c 7 Apr 2008 16:19:34 -0000 1.1.2.10
+++ multi-md-test.c 7 Apr 2008 16:30:40 -0000 1.1.2.11
@@ -132,7 +132,18 @@ struct test_results
int nprocs;
};
-struct test_results result_array[100];
+#define MAX_TEST_COUNT 1000
+
+#define CHECK_MAX_TEST(__x) \
+do { \
+ if(__x > MAX_TEST_COUNT) \
+ { \
+ fprintf(stderr, "Error: exceeded MAX_TEST_COUNT.\n"); \
+ MPI_Abort(MPI_COMM_WORLD, 1); \
+ } \
+} while(0)
+
+struct test_results* result_array;
#ifndef PATH_MAX
#define PATH_MAX FILENAME_MAX
@@ -271,6 +282,13 @@ int main(
int test = 0;
int i;
+ result_array = malloc(MAX_TEST_COUNT*sizeof(*result_array));
+ if(!result_array)
+ {
+ perror("malloc");
+ return(-1);
+ }
+
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &nprocs);
@@ -299,6 +317,7 @@ int main(
rank,
nprocs);
test++;
+ CHECK_MAX_TEST(test);
/* make subdir for each proc */
result_array[test].op = "mktestdir";
@@ -312,6 +331,7 @@ int main(
rank,
nprocs);
test++;
+ CHECK_MAX_TEST(test);
for(i=opt_start_clients; i<=opt_end_clients; i+=opt_interval_clients)
{
@@ -327,6 +347,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdir */
result_array[test].op = "readdir";
@@ -340,6 +361,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdir and stat */
result_array[test].op = "readdir_and_stat";
@@ -353,6 +375,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdirplus */
result_array[test].op = "readdirplus";
@@ -366,6 +389,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* write */
result_array[test].op = "write";
@@ -379,6 +403,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* read */
result_array[test].op = "read";
@@ -392,6 +417,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdir */
result_array[test].op = "readdir";
@@ -405,6 +431,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdir and stat */
result_array[test].op = "readdir_and_stat";
@@ -418,6 +445,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* readdirplus */
result_array[test].op = "readdirplus";
@@ -431,6 +459,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
/* remove files */
result_array[test].op = "rm";
@@ -444,6 +473,7 @@ int main(
rank,
i);
test++;
+ CHECK_MAX_TEST(test);
}
/* remove subdir for each proc */
@@ -458,7 +488,7 @@ int main(
rank,
nprocs);
test++;
-
+ CHECK_MAX_TEST(test);
/* print all results */
if (rank == 0)
More information about the Pvfs2-cvs
mailing list