summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2010-08-16 21:04:53 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2010-08-16 21:04:53 (GMT)
commit771a850c58b88ffd4f8519573f175dcd0b90a65f (patch)
tree3828774686400fa56b7232b0b8149992f930a441
parent54d5a565f95f83655d8bcccb017da6164860afa7 (diff)
downloadhdf5-771a850c58b88ffd4f8519573f175dcd0b90a65f.zip
hdf5-771a850c58b88ffd4f8519573f175dcd0b90a65f.tar.gz
hdf5-771a850c58b88ffd4f8519573f175dcd0b90a65f.tar.bz2
[svn-r19242] Description:
Add in override for testing timeout alarm to allow "HDF5_ALARM_SECONDS" environment variable to change the timeout value from the default value. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (Too minor to require h5committest)
-rw-r--r--test/h5test.h8
-rw-r--r--test/testframe.c18
2 files changed, 22 insertions, 4 deletions
diff --git a/test/h5test.h b/test/h5test.h
index f984751..70408d9 100644
--- a/test/h5test.h
+++ b/test/h5test.h
@@ -118,11 +118,9 @@ extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */
/*
* Alarm definitions to wait up (terminate) a test that runs too long.
*/
-#define alarm_seconds 1200 /* default is 20 minutes */
-#define ALARM_ON HDalarm(alarm_seconds)
+#define H5_ALARM_SEC 1200 /* default is 20 minutes */
+#define ALARM_ON TestAlarmOn()
#define ALARM_OFF HDalarm(0)
-/* set alarms to N seconds if N > 0, else use default alarm_seconds. */
-#define ALARM_SET(N) HDalarm((N)>0 ? N : alarm_seconds)
/*
* The methods to compare the equality of floating-point values:
@@ -183,6 +181,8 @@ H5TEST_DLL void IncTestNumErrs(void);
H5TEST_DLL const void *GetTestParameters(void);
H5TEST_DLL int TestErrPrintf(const char *format, ...);
H5TEST_DLL void SetTest(const char *testname, int action);
+H5TEST_DLL void TestAlarmOn(void);
+H5TEST_DLL void TestAlarmOff(void);
#ifdef H5_HAVE_FILTER_SZIP
H5TEST_DLL int h5_szip_can_encode(void);
diff --git a/test/testframe.c b/test/testframe.c
index 201f569..082a27f 100644
--- a/test/testframe.c
+++ b/test/testframe.c
@@ -588,3 +588,21 @@ void SetTest(const char *testname, int action)
break;
}
}
+
+
+/*
+ * Enable alarm on test execution, configurable by environment variable
+ */
+void TestAlarmOn(void)
+{
+ char * env_val = HDgetenv("HDF5_ALARM_SECONDS"); /* Alarm environment */
+ unsigned long alarm_sec = H5_ALARM_SEC; /* Number of seconds before alarm goes off */
+
+ /* Get the alarm value from the environment variable, if set */
+ if(env_val != NULL)
+ alarm_sec = (unsigned)HDstrtoul(env_val, (char **)NULL, 10);
+
+ /* Set the number of seconds before alarm goes off */
+ HDalarm((unsigned)alarm_sec);
+}
+