summaryrefslogtreecommitdiffstats
path: root/test/testhdf5.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-01-10 01:41:13 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-01-10 01:41:13 (GMT)
commit987f5d5e4de41c02b682464fa8e94252553ed57c (patch)
tree2bf74eb88dee718490af7b7dda0e585b0d1b8a95 /test/testhdf5.h
parent12dca9ab3c362fc190feb330232bec4bd552df3c (diff)
downloadhdf5-987f5d5e4de41c02b682464fa8e94252553ed57c.zip
hdf5-987f5d5e4de41c02b682464fa8e94252553ed57c.tar.gz
hdf5-987f5d5e4de41c02b682464fa8e94252553ed57c.tar.bz2
[svn-r8048] Purpose:
Code cleanup & reorganization Description: Move further in the testing framework cleanup, eliminating all the global variables (moving them into testframe.c as static variables) from the testing framework code and moving it into the libh5test.a. Platforms tested: FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel h5committested
Diffstat (limited to 'test/testhdf5.h')
-rw-r--r--test/testhdf5.h115
1 files changed, 54 insertions, 61 deletions
diff --git a/test/testhdf5.h b/test/testhdf5.h
index 156aa78..5a12cc1 100644
--- a/test/testhdf5.h
+++ b/test/testhdf5.h
@@ -29,159 +29,142 @@
/* Include generic testing header also */
#include "h5test.h"
-#ifdef HDF5_TEST_MASTER
-/* Global variables */
-int num_errs = 0;
-int Verbosity = 4; /* Default Verbosity is Low */
-#else /* HDF5_TEST_MASTER */
-extern int num_errs;
-extern int Verbosity;
-#endif /* HDF5_TEST_MASTER */
-
/* Use %ld to print the value because long should cover most cases. */
/* Used to make certain a return value _is_not_ a value */
#ifdef H5_WANT_H5_V1_6_COMPAT
#define CHECK(ret, val, where) do { \
- if (Verbosity>9) print_func(" Call to routine: %15s at line %4d " \
+ if (GetTestVerbosity()>9) print_func(" Call to routine: %15s at line %4d " \
"in %s returned %ld \n", \
where, (int)__LINE__, __FILE__, \
(long)(ret)); \
- if ((ret) == (val)) { \
- print_func("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
- "in %s\n", where, (long)(ret), (int)__LINE__, __FILE__); \
- num_errs++; \
+ if ((ret) == (val)) { \
+ TestErrPrintf("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
+ "in %s\n", where, (long)(ret), (int)__LINE__, __FILE__); \
H5Eprint (stdout); \
} \
} while(0)
#define CHECK_I(ret,where) { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s returned %ld\n", \
(where), (int)__LINE__, __FILE__, (long)(ret)); \
} \
if ((ret)<0) { \
- print_func ("*** UNEXPECTED RETURN from %s is %ld line %4d in %s\n", \
+ TestErrPrintf ("*** UNEXPECTED RETURN from %s is %ld line %4d in %s\n", \
(where), (long)(ret), (int)__LINE__, __FILE__); \
H5Eprint (stdout); \
- num_errs++; \
} \
}
#define CHECK_PTR(ret,where) { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s returned %p\n", \
(where), (int)__LINE__, __FILE__, (ret)); \
} \
if (!(ret)) { \
- print_func ("*** UNEXPECTED RETURN from %s is NULL line %4d in %s\n", \
+ TestErrPrintf ("*** UNEXPECTED RETURN from %s is NULL line %4d in %s\n", \
(where), (int)__LINE__, __FILE__); \
H5Eprint (stdout); \
- num_errs++; \
} \
}
/* Used to make certain a return value _is_ a value */
#define VERIFY(x, val, where) do { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s had value " \
- "%ld \n", (where), (int)__LINE__, __FILE__, (long)(x)); \
+ "%ld \n", (where), (int)__LINE__, __FILE__, (long)(x)); \
} \
if ((x) != (val)) { \
- print_func("*** UNEXPECTED VALUE from %s should be %ld, but is %ld at line %4d " \
- "in %s\n", (where), (long)(val), (long)(x), (int)__LINE__, __FILE__); \
+ TestErrPrintf("*** UNEXPECTED VALUE from %s should be %ld, but is %ld at line %4d " \
+ "in %s\n", (where), (long)(val), (long)(x), (int)__LINE__, __FILE__); \
H5Eprint (stdout); \
- num_errs++; \
} \
} while(0)
/* Used to document process through a test and to check for errors */
#define RESULT(ret,func) do { \
- if (Verbosity>8) { \
+ if (GetTestVerbosity()>8) { \
print_func(" Call to routine: %15s at line %4d in %s returned " \
- "%ld\n", func, (int)__LINE__, __FILE__, (long)(ret)); \
+ "%ld\n", func, (int)__LINE__, __FILE__, (long)(ret)); \
} \
- if (Verbosity>9) HEEprint(stdout); \
- if ((ret) == FAIL) { \
- print_func("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
- "in %s\n", func, (long)(ret), (int)__LINE__, __FILE__); \
+ if (GetTestVerbosity()>9) \
+ H5Eprint(stdout); \
+ if ((ret) == FAIL) { \
+ TestErrPrintf("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
+ "in %s\n", func, (long)(ret), (int)__LINE__, __FILE__); \
H5Eprint (stdout); \
- num_errs++; \
} \
} while(0)
#else
#define CHECK(ret, val, where) do { \
- if (Verbosity>9) print_func(" Call to routine: %15s at line %4d " \
+ if (GetTestVerbosity()>9) print_func(" Call to routine: %15s at line %4d " \
"in %s returned %ld \n", \
where, (int)__LINE__, __FILE__, \
(long)(ret)); \
- if ((ret) == (val)) { \
- print_func("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
- "in %s\n", where, (long)(ret), (int)__LINE__, __FILE__); \
- num_errs++; \
- H5Eprint (H5E_DEFAULT, stdout); \
+ if ((ret) == (val)) { \
+ TestErrPrintf("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
+ "in %s\n", where, (long)(ret), (int)__LINE__, __FILE__); \
+ H5Eprint (H5E_DEFAULT, stdout); \
} \
} while(0)
#define CHECK_I(ret,where) { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s returned %ld\n", \
(where), (int)__LINE__, __FILE__, (long)(ret)); \
} \
if ((ret)<0) { \
- print_func ("*** UNEXPECTED RETURN from %s is %ld line %4d in %s\n", \
+ TestErrPrintf ("*** UNEXPECTED RETURN from %s is %ld line %4d in %s\n", \
(where), (long)(ret), (int)__LINE__, __FILE__); \
- H5Eprint (H5E_DEFAULT, stdout); \
- num_errs++; \
+ H5Eprint (H5E_DEFAULT, stdout); \
} \
}
#define CHECK_PTR(ret,where) { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s returned %p\n", \
(where), (int)__LINE__, __FILE__, (ret)); \
} \
if (!(ret)) { \
- print_func ("*** UNEXPECTED RETURN from %s is NULL line %4d in %s\n", \
+ TestErrPrintf ("*** UNEXPECTED RETURN from %s is NULL line %4d in %s\n", \
(where), (int)__LINE__, __FILE__); \
- H5Eprint (H5E_DEFAULT, stdout); \
- num_errs++; \
+ H5Eprint (H5E_DEFAULT, stdout); \
} \
}
/* Used to make certain a return value _is_ a value */
#define VERIFY(x, val, where) do { \
- if (Verbosity>9) { \
+ if (GetTestVerbosity()>9) { \
print_func(" Call to routine: %15s at line %4d in %s had value " \
- "%ld \n", (where), (int)__LINE__, __FILE__, (long)(x)); \
+ "%ld \n", (where), (int)__LINE__, __FILE__, (long)(x)); \
} \
if ((x) != (val)) { \
- print_func("*** UNEXPECTED VALUE from %s should be %ld, but is %ld at line %4d " \
- "in %s\n", (where), (long)(val), (long)(x), (int)__LINE__, __FILE__); \
- H5Eprint (H5E_DEFAULT, stdout); \
- num_errs++; \
+ TestErrPrintf("*** UNEXPECTED VALUE from %s should be %ld, but is %ld at line %4d " \
+ "in %s\n", (where), (long)(val), (long)(x), (int)__LINE__, __FILE__); \
+ H5Eprint (H5E_DEFAULT, stdout); \
} \
} while(0)
/* Used to document process through a test and to check for errors */
#define RESULT(ret,func) do { \
- if (Verbosity>8) { \
+ if (GetTestVerbosity()>8) { \
print_func(" Call to routine: %15s at line %4d in %s returned " \
- "%ld\n", func, (int)__LINE__, __FILE__, (long)(ret)); \
+ "%ld\n", func, (int)__LINE__, __FILE__, (long)(ret)); \
} \
- if (Verbosity>9) H5Eprint(H5E_DEFAULT, stdout); \
- if ((ret) == FAIL) { \
- print_func("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
- "in %s\n", func, (long)(ret), (int)__LINE__, __FILE__); \
- H5Eprint (H5E_DEFAULT, stdout); \
- num_errs++; \
+ if (GetTestVerbosity()>9) \
+ H5Eprint(H5E_DEFAULT, stdout); \
+ if ((ret) == FAIL) { \
+ TestErrPrintf("*** UNEXPECTED RETURN from %s is %ld at line %4d " \
+ "in %s\n", func, (long)(ret), (int)__LINE__, __FILE__); \
+ H5Eprint (H5E_DEFAULT, stdout); \
} \
} while(0)
#endif /* H5_WANT_H5_V1_6_COMPAT */
/* Used to document process through a test */
-#define MESSAGE(V,A) {if (Verbosity>(V)) print_func A;}
+#define MESSAGE(V,A) {if (GetTestVerbosity()>(V)) print_func A;}
/* definitions for command strings */
#define VERBOSITY_STR "Verbosity"
@@ -189,6 +172,10 @@ extern int Verbosity;
#define TEST_STR "Test"
#define CLEAN_STR "Cleanup"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Routines for operating on the list of tests (for the "all in one" tests) */
H5TEST_DLL void TestUsage(void);
H5TEST_DLL void AddTest(const char *TheName, void (*TheCall) (void),
@@ -199,6 +186,9 @@ H5TEST_DLL void PerformTests(void);
H5TEST_DLL void TestSummary(void);
H5TEST_DLL void TestCleanup(void);
H5TEST_DLL void TestInit(void);
+H5TEST_DLL int GetTestVerbosity(void);
+H5TEST_DLL int GetTestNumErrs(void);
+H5TEST_DLL int TestErrPrintf(const char *format, ...);
/* Prototypes for the test routines */
void test_metadata(void);
@@ -238,4 +228,7 @@ void cleanup_genprop(void);
void cleanup_configure(void);
void cleanup_misc(void);
+#ifdef __cplusplus
+}
+#endif
#endif /* TESTHDF5_H */