[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