summaryrefslogtreecommitdiffstats
path: root/test/h5test.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-03-18 12:04:39 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-03-18 12:04:39 (GMT)
commitcd2534d9bad3151c5fda97c3a0f910e78f43a2df (patch)
treef61735fa772958866d1539c3536cf85edae6ae8b /test/h5test.h
parent40f7c0d321c1f86b315944d70be0cc63f5cd5d94 (diff)
downloadhdf5-cd2534d9bad3151c5fda97c3a0f910e78f43a2df.zip
hdf5-cd2534d9bad3151c5fda97c3a0f910e78f43a2df.tar.gz
hdf5-cd2534d9bad3151c5fda97c3a0f910e78f43a2df.tar.bz2
[svn-r18418] Description:
Centralize common code for srcdir lookups. Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & prod Linux/32 2.6 (jam)
Diffstat (limited to 'test/h5test.h')
-rw-r--r--test/h5test.h55
1 files changed, 54 insertions, 1 deletions
diff --git a/test/h5test.h b/test/h5test.h
index ed538cf..4ada6c5 100644
--- a/test/h5test.h
+++ b/test/h5test.h
@@ -24,7 +24,6 @@
#include "hdf5.h"
#include "H5private.h"
-#include "H5srcdir.h"
#ifdef H5_STDC_HEADERS
# include <signal.h>
@@ -143,6 +142,60 @@ extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */
#define DBL_REL_EQUAL(X,Y,M) (fabs((Y-X)/X)<M)
#define LDBL_REL_EQUAL(X,Y,M) (fabsl((Y-X)/X)<M)
+/* =================================== */
+/* Support for srcdir queries in tests */
+/* =================================== */
+#include "H5srcdir.h"
+
+/* Buffer to construct path in and return pointer to */
+static char srcdir_path[1024] = "";
+
+/* Buffer to construct file in and return pointer to */
+static char srcdir_testpath[1024] = "";
+
+/* Append the test file name to the srcdir path and return the whole string */
+static const char *H5_get_srcdir_filename(const char *filename)
+{
+ const char *srcdir = HDgetenv("srcdir");
+
+ /* Check for using the srcdir from configure time */
+ if(NULL == srcdir)
+ srcdir = config_srcdir;
+
+ /* Build path to test file */
+ if((HDstrlen(srcdir) + HDstrlen(filename) + 2) < sizeof(srcdir_testpath)) {
+ HDstrcpy(srcdir_testpath, srcdir);
+ HDstrcat(srcdir_testpath, "/");
+ HDstrcat(srcdir_testpath, filename);
+ return(srcdir_testpath);
+ } /* end if */
+ else
+ return(NULL);
+}
+
+/* Just return the srcdir path */
+static const char *H5_get_srcdir(void)
+{
+ const char *srcdir = HDgetenv("srcdir");
+
+ /* Check for using the srcdir from configure time */
+ if(NULL == srcdir)
+ srcdir = config_srcdir;
+
+ /* Build path to all test files */
+ if((HDstrlen(srcdir) + 2) < sizeof(srcdir_path)) {
+ HDstrcpy(srcdir_path, srcdir);
+ HDstrcat(srcdir_path, "/");
+ return(srcdir_path);
+ } /* end if */
+ else
+ return(NULL);
+}
+
+/* ========================================== */
+/* End of support for srcdir queries in tests */
+/* ========================================== */
+
#ifdef __cplusplus
extern "C" {
#endif