From 9d8d5392b29f5cae3ab50063691072f1afc6a5c4 Mon Sep 17 00:00:00 2001
From: Albert Cheng <acheng@hdfgroup.org>
Date: Wed, 2 Mar 2005 23:06:14 -0500
Subject: [svn-r10125] Purpose: Feature--to provide a standalone mode for
 t_mpi.c so that it can be built outside of PHDF5 environment.

Description:
Move definitions that are common to all parallel test programs
to a new header file called testpar.h.
Leave only Parallel HDF5 tests related definitions in testphdf5.h.

Platforms tested:
heping (pp) and modi4(PP).  Copper was down.

Misc. update:
---
 testpar/t_mpi.c     |  2 +-
 testpar/testpar.h   | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 testpar/testphdf5.h | 78 +++++-----------------------------------------
 3 files changed, 98 insertions(+), 71 deletions(-)
 create mode 100644 testpar/testpar.h

diff --git a/testpar/t_mpi.c b/testpar/t_mpi.c
index 7b7a96b..f7ca893 100644
--- a/testpar/t_mpi.c
+++ b/testpar/t_mpi.c
@@ -26,7 +26,7 @@
  * Last process opens the same file and verifies the data.
  */
 
-#include "testphdf5.h"
+#include "testpar.h"
 
 /* FILENAME and filenames must have the same number of names */
 const char *FILENAME[2]={
diff --git a/testpar/testpar.h b/testpar/testpar.h
new file mode 100644
index 0000000..3d4a588
--- /dev/null
+++ b/testpar/testpar.h
@@ -0,0 +1,89 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by the Board of Trustees of the University of Illinois.         *
+ * All rights reserved.                                                      *
+ *                                                                           *
+ * This file is part of HDF5.  The full HDF5 copyright notice, including     *
+ * terms governing use, modification, and redistribution, is contained in    *
+ * the files COPYING and Copyright.html.  COPYING can be found at the root   *
+ * of the source code distribution tree; Copyright.html can be found at the  *
+ * root level of an installed copy of the electronic HDF5 document set and   *
+ * is linked from the top-level documents page.  It can also be found at     *
+ * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html.  If you do not have     *
+ * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/* common definitions used by all parallel test programs. */
+
+#ifndef TESTPAR_H
+#define TESTPAR_H
+
+#include "h5test.h"
+
+/* Constants definitions */
+#define MAX_ERR_REPORT  10      /* Maximum number of errors reported */
+
+/* Define some handy debugging shorthands, routines, ... */
+/* debugging tools */
+
+#define MESG(x)                                                         \
+	if (VERBOSE_MED) printf("%s\n", x);                                 \
+
+#define VRFY(val, mesg) do {                                            \
+    if (val) {                                                          \
+        if (*mesg != '\0') {                                            \
+            MESG(mesg);                                                 \
+        }                                                               \
+    } else {                                                            \
+        printf("Proc %d: ", mpi_rank);                                  \
+        printf("*** PHDF5 ERROR ***\n");                                \
+        printf("        Assertion (%s) failed at line %4d in %s\n",     \
+               mesg, (int)__LINE__, __FILE__);                          \
+        ++nerrors;                                                      \
+        fflush(stdout);                                                 \
+        if (!VERBOSE_MED) {                                                 \
+            printf("aborting MPI process\n");                           \
+            MPI_Finalize();                                             \
+            exit(nerrors);                                              \
+        }                                                               \
+    }                                                                   \
+} while(0)
+
+/*
+ * Checking for information purpose.
+ * If val is false, print mesg; else nothing.
+ * Either case, no error setting.
+ */
+#define INFO(val, mesg) do {                                            \
+    if (val) {                                                          \
+        if (*mesg != '\0') {                                            \
+            MESG(mesg);                                                 \
+        }                                                               \
+    } else {                                                            \
+        printf("Proc %d: ", mpi_rank);                                  \
+        printf("*** PHDF5 REMARK (not an error) ***\n");                \
+        printf("        Condition (%s) failed at line %4d in %s\n",     \
+               mesg, (int)__LINE__, __FILE__);                          \
+        fflush(stdout);                                                 \
+    }                                                                   \
+} while(0)
+
+#define MPI_BANNER(mesg) do {                                           \
+    if (VERBOSE_MED || MAINPROCESS){                                    \
+	printf("--------------------------------\n");                   \
+	printf("Proc %d: ", mpi_rank);                                  \
+	printf("*** %s\n", mesg);                                       \
+	printf("--------------------------------\n");                   \
+    }                                                                   \
+} while(0)
+
+#define MAINPROCESS     (!mpi_rank) /* define process 0 as main process */
+
+#define SYNC(comm) do {                                                 \
+    MPI_BANNER("doing a SYNC");                                         \
+    MPI_Barrier(comm);                                                  \
+    MPI_BANNER("SYNC DONE");                                            \
+} while(0)
+
+/* End of Define some handy debugging shorthands, routines, ... */
+
+#endif /* TESTPAR_H */
diff --git a/testpar/testphdf5.h b/testpar/testphdf5.h
index 283f916..3b251f8 100644
--- a/testpar/testphdf5.h
+++ b/testpar/testphdf5.h
@@ -12,82 +12,21 @@
  * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+/* common definitions used by all parallel hdf5 test programs. */
+
 #ifndef PHDF5TEST_H
 #define PHDF5TEST_H
 
-#include "h5test.h"
+#include "testpar.h"
+
+#ifndef FALSE
+#define FALSE   0
+#endif
 
 #ifndef TRUE
 #define TRUE    1
-#endif  /* !TRUE */
+#endif
 
-#ifndef FALSE
-#define FALSE   (!TRUE)
-#endif  /* !FALSE */
-
-/* Define some handy debugging shorthands, routines, ... */
-/* debugging tools */
-
-#define MESG(x)                                                         \
-	if (VERBOSE_MED) printf("%s\n", x);                                 \
-
-#define VRFY(val, mesg) do {                                            \
-    if (val) {                                                          \
-        if (*mesg != '\0') {                                            \
-            MESG(mesg);                                                 \
-        }                                                               \
-    } else {                                                            \
-        printf("Proc %d: ", mpi_rank);                                  \
-        printf("*** PHDF5 ERROR ***\n");                                \
-        printf("        Assertion (%s) failed at line %4d in %s\n",     \
-               mesg, (int)__LINE__, __FILE__);                          \
-        ++nerrors;                                                      \
-        fflush(stdout);                                                 \
-        if (!VERBOSE_MED) {                                                 \
-            printf("aborting MPI process\n");                           \
-            MPI_Finalize();                                             \
-            exit(nerrors);                                              \
-        }                                                               \
-    }                                                                   \
-} while(0)
-
-/*
- * Checking for information purpose.
- * If val is false, print mesg; else nothing.
- * Either case, no error setting.
- */
-#define INFO(val, mesg) do {                                            \
-    if (val) {                                                          \
-        if (*mesg != '\0') {                                            \
-            MESG(mesg);                                                 \
-        }                                                               \
-    } else {                                                            \
-        printf("Proc %d: ", mpi_rank);                                  \
-        printf("*** PHDF5 REMARK (not an error) ***\n");                \
-        printf("        Condition (%s) failed at line %4d in %s\n",     \
-               mesg, (int)__LINE__, __FILE__);                          \
-        fflush(stdout);                                                 \
-    }                                                                   \
-} while(0)
-
-#define MPI_BANNER(mesg) do {                                           \
-    if (VERBOSE_MED || MAINPROCESS){                                    \
-	printf("--------------------------------\n");                   \
-	printf("Proc %d: ", mpi_rank);                                  \
-	printf("*** %s\n", mesg);                                       \
-	printf("--------------------------------\n");                   \
-    }                                                                   \
-} while(0)
-
-#define MAINPROCESS     (!mpi_rank) /* define process 0 as main process */
-
-#define SYNC(comm) do {                                                 \
-    MPI_BANNER("doing a SYNC");                                         \
-    MPI_Barrier(comm);                                                  \
-    MPI_BANNER("SYNC DONE");                                            \
-} while(0)
-
-/* End of Define some handy debugging shorthands, routines, ... */
 
 /* Constants definitions */
 #define DIM0		600 	/* Default dataset sizes. */
@@ -103,7 +42,6 @@
 #define BYCOL           2       /* divide into blocks of columns */
 #define ZROW            3       /* same as BYCOL except process 0 gets 0 rows */
 #define ZCOL            4       /* same as BYCOL except process 0 gets 0 columns */
-#define MAX_ERR_REPORT  10      /* Maximum number of errors reported */
 
 /* File_Access_type bits */
 #define FACC_DEFAULT    0x0     /* default */
-- 
cgit v0.12