summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2022-05-20 17:07:32 (GMT)
committerGitHub <noreply@github.com>2022-05-20 17:07:32 (GMT)
commitc1c4db3c4a0cbef6eceaab2f069e895936fbbe34 (patch)
treef349714138ae4541074586c85038d3a7bcb9be8d /test
parent343d4775674a5595be42acf35dcabcc0954683a1 (diff)
downloadhdf5-c1c4db3c4a0cbef6eceaab2f069e895936fbbe34.zip
hdf5-c1c4db3c4a0cbef6eceaab2f069e895936fbbe34.tar.gz
hdf5-c1c4db3c4a0cbef6eceaab2f069e895936fbbe34.tar.bz2
Change TestExpress #1722 (#1778)
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt8
-rw-r--r--test/CMakeTests.cmake4
-rw-r--r--test/CMakeVFDTests.cmake4
-rw-r--r--test/testframe.c43
4 files changed, 39 insertions, 20 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 3433d64..a2932de 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -29,6 +29,9 @@ if (NOT ONLY_SHARED_LIBS)
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_options(${HDF5_TEST_LIB_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
+ target_compile_definitions(${HDF5_TEST_LIB_TARGET}
+ PRIVATE "H5_TEST_EXPRESS_LEVEL_DEFAULT=${H5_TEST_EXPRESS_LEVEL_DEFAULT}"
+ )
TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} STATIC)
target_link_libraries (${HDF5_TEST_LIB_TARGET}
PUBLIC ${LINK_LIBS} ${HDF5_LIB_TARGET}
@@ -48,7 +51,10 @@ if (BUILD_SHARED_LIBS)
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
target_compile_options(${HDF5_TEST_LIBSH_TARGET} PRIVATE "${HDF5_CMAKE_C_FLAGS}")
- target_compile_definitions(${HDF5_TEST_LIBSH_TARGET} PUBLIC "H5_BUILT_AS_DYNAMIC_LIB")
+ target_compile_definitions(${HDF5_TEST_LIBSH_TARGET}
+ PUBLIC "H5_BUILT_AS_DYNAMIC_LIB"
+ PRIVATE "H5_TEST_EXPRESS_LEVEL_DEFAULT=${H5_TEST_EXPRESS_LEVEL_DEFAULT}"
+ )
TARGET_C_PROPERTIES (${HDF5_TEST_LIBSH_TARGET} SHARED)
target_link_libraries (${HDF5_TEST_LIBSH_TARGET}
PUBLIC ${LINK_LIBS} ${HDF5_LIBSH_TARGET}
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index 21bd20d..fb8ff07 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -306,7 +306,7 @@ if (NOT CYGWIN)
endif ()
set_tests_properties (H5TEST-cache PROPERTIES
FIXTURES_REQUIRED clear_cache
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
set_tests_properties (H5TEST-cache PROPERTIES TIMEOUT ${CTEST_VERY_LONG_TIMEOUT})
@@ -343,7 +343,7 @@ else ()
endif ()
set_tests_properties (H5TEST-flush1 PROPERTIES
FIXTURES_REQUIRED clear_flush
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
if (HDF5_ENABLE_USING_MEMCHECKER)
diff --git a/test/CMakeVFDTests.cmake b/test/CMakeVFDTests.cmake
index 971abeb..166d2ae 100644
--- a/test/CMakeVFDTests.cmake
+++ b/test/CMakeVFDTests.cmake
@@ -128,7 +128,7 @@ add_custom_target(HDF5_VFDTEST_LIB_files ALL COMMENT "Copying files needed by HD
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
set_tests_properties (VFD-${vfdname}-${vfdtest} PROPERTIES
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
endif ()
@@ -183,7 +183,7 @@ add_custom_target(HDF5_VFDTEST_LIB_files ALL COMMENT "Copying files needed by HD
)
set_tests_properties (VFD-${vfdname}-fheap PROPERTIES
TIMEOUT ${CTEST_VERY_LONG_TIMEOUT}
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
endif ()
diff --git a/test/testframe.c b/test/testframe.c
index 016f208..e7b0e1d 100644
--- a/test/testframe.c
+++ b/test/testframe.c
@@ -414,16 +414,20 @@ SetTestVerbosity(int newval)
Values:
0: Exhaustive run
Tests should take as long as necessary
- 1: Full run. Default if HDF5TestExpress is not defined
+ 1: Full run. Default if H5_TEST_EXPRESS_LEVEL_DEFAULT
+ and HDF5TestExpress are not defined
Tests should take no more than 30 minutes
2: Quick run
Tests should take no more than 10 minutes
- 3: Smoke test. Default if HDF5TestExpress is set to a value other than 0-3
+ 3: Smoke test.
+ Default if HDF5TestExpress is set to a value other than 0-3
Tests should take less than 1 minute
Design:
If the environment variable $HDF5TestExpress is defined,
- then test programs should skip some tests so that they
+ or if a default testing level > 1 has been set via
+ H5_TEST_EXPRESS_LEVEL_DEFAULT, then test programs should
+ skip some tests so that they
complete sooner.
Terms:
@@ -443,18 +447,27 @@ GetTestExpress(void)
/* set it here for now. Should be done in something like h5test_init(). */
if (TestExpress == -1) {
- env_val = getenv("HDF5TestExpress");
-
- if (env_val == NULL)
- SetTestExpress(1);
- else if (strcmp(env_val, "0") == 0)
- SetTestExpress(0);
- else if (strcmp(env_val, "1") == 0)
- SetTestExpress(1);
- else if (strcmp(env_val, "2") == 0)
- SetTestExpress(2);
- else
- SetTestExpress(3);
+ int express_val = 1;
+
+ /* Check if a default test express level is defined (e.g., by build system) */
+#ifdef H5_TEST_EXPRESS_LEVEL_DEFAULT
+ express_val = H5_TEST_EXPRESS_LEVEL_DEFAULT;
+#endif
+
+ /* Check if HDF5TestExpress is set to override the default level */
+ env_val = HDgetenv("HDF5TestExpress");
+ if (env_val) {
+ if (HDstrcmp(env_val, "0") == 0)
+ express_val = 0;
+ else if (HDstrcmp(env_val, "1") == 0)
+ express_val = 1;
+ else if (HDstrcmp(env_val, "2") == 0)
+ express_val = 2;
+ else
+ express_val = 3;
+ }
+
+ SetTestExpress(express_val);
}
return (TestExpress);