[svn-r19782] Fix CMake testing for links_env test which requires an environment variable at test run-time. Modified runTest.cmake file to allow optional ENV_VAR and ENV_VALUE to be passed. runTest.cmake requires a reference file, added links_env.out to testfiles folder.
Also updated root CMakeLists.txt to output a message when unsopported options are configured with the PARALLEL option. CMake will still generate files. Tested: windows and local linux
This commit is contained in:
@@ -649,6 +649,10 @@ ENDIF (WIN32 AND NOT CYGWIN)
|
||||
IF (WIN32 AND NOT CYGWIN)
|
||||
OPTION (HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF)
|
||||
IF (HDF5_ENABLE_THREADSAFE)
|
||||
# check for unsupported options
|
||||
IF (HDF5_ENABLE_PARALLEL)
|
||||
MESSAGE (FATAL " **** Parallel and Threadsafe options are mutually exclusive **** ")
|
||||
ENDIF (HDF5_ENABLE_PARALLEL)
|
||||
SET (H5_HAVE_WIN_THREADS 1)
|
||||
SET (H5_HAVE_THREADSAFE 1)
|
||||
ENDIF (HDF5_ENABLE_THREADSAFE)
|
||||
@@ -759,6 +763,10 @@ ENDIF (EXISTS "${HDF5_SOURCE_DIR}/examples" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}
|
||||
IF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
|
||||
OPTION (HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" OFF)
|
||||
IF (HDF5_BUILD_CPP_LIB)
|
||||
# check for unsupported options
|
||||
IF (HDF5_ENABLE_PARALLEL)
|
||||
MESSAGE (FATAL " **** Parallel and C++ options are mutually exclusive **** ")
|
||||
ENDIF (HDF5_ENABLE_PARALLEL)
|
||||
ADD_SUBDIRECTORY (${HDF5_SOURCE_DIR}/c++ ${PROJECT_BINARY_DIR}/c++)
|
||||
ENDIF (HDF5_BUILD_CPP_LIB)
|
||||
ENDIF (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
|
||||
|
||||
1
MANIFEST
1
MANIFEST
@@ -954,6 +954,7 @@
|
||||
./test/testfiles/err_compat_2
|
||||
./test/testfiles/error_test_1
|
||||
./test/testfiles/error_test_2
|
||||
./test/testfiles/links_env.out
|
||||
|
||||
./testpar/COPYING
|
||||
./testpar/Makefile.am
|
||||
|
||||
@@ -28,6 +28,10 @@ SET (ERROR_APPEND 1)
|
||||
|
||||
MESSAGE (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
|
||||
|
||||
IF (TEST_ENV_VAR)
|
||||
SET (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}")
|
||||
ENDIF (TEST_ENV_VAR)
|
||||
|
||||
# run the test program, capture the stdout/stderr and the result var
|
||||
EXECUTE_PROCESS (
|
||||
COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
|
||||
|
||||
@@ -55,16 +55,17 @@ SET (HDF5_REFERENCE_FILES
|
||||
err_compat_2
|
||||
error_test_1
|
||||
error_test_2
|
||||
links_env.out
|
||||
)
|
||||
|
||||
FOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
SET (dest "${PROJECT_BINARY_DIR}/testfiles/${ref_file}")
|
||||
SET (dest "${PROJECT_BINARY_DIR}/${ref_file}")
|
||||
#MESSAGE (STATUS " Copying ${h5_file}")
|
||||
ADD_CUSTOM_COMMAND (
|
||||
TARGET ${HDF5_TEST_LIB_TARGET}
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
|
||||
COMMAND ${XLATE_UTILITY}
|
||||
ARGS ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest} -l3
|
||||
)
|
||||
ENDFOREACH (ref_file ${HDF5_REFERENCE_FILES})
|
||||
|
||||
@@ -287,7 +288,7 @@ SET (H5_TESTS
|
||||
err_compat
|
||||
tcheck_version
|
||||
testmeta
|
||||
links_env
|
||||
#links_env
|
||||
)
|
||||
|
||||
FOREACH (test ${H5_TESTS})
|
||||
@@ -338,6 +339,40 @@ TARGET_LINK_LIBRARIES (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
|
||||
ADD_TEST (NAME ttsafe COMMAND $<TARGET_FILE:ttsafe>)
|
||||
|
||||
#-- Adding test for error_test
|
||||
#ADD_EXECUTABLE (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
|
||||
#H5_NAMING (error_test)
|
||||
#TARGET_WIN_PROPERTIES (error_test)
|
||||
#TARGET_LINK_LIBRARIES (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
#
|
||||
#ADD_TEST (NAME error_test COMMAND "${CMAKE_COMMAND}"
|
||||
# -D "TEST_PROGRAM=$<TARGET_FILE:error_test>"
|
||||
# -D "TEST_ARGS:STRING="
|
||||
# -D "TEST_EXPECT=0"
|
||||
# -D "TEST_OUTPUT=error_test.txt"
|
||||
# -D "TEST_REFERENCE=error_test1"
|
||||
# -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
# -P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
#)
|
||||
|
||||
#-- Adding test for links_env
|
||||
ADD_EXECUTABLE (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
|
||||
H5_NAMING (links_env)
|
||||
TARGET_WIN_PROPERTIES (links_env)
|
||||
TARGET_LINK_LIBRARIES (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
|
||||
|
||||
ADD_TEST (NAME links_env COMMAND "${CMAKE_COMMAND}"
|
||||
-D "TEST_PROGRAM=$<TARGET_FILE:links_env>"
|
||||
-D "TEST_ARGS:STRING="
|
||||
-D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
|
||||
-D "TEST_ENV_VALUE:STRING=.:tmp"
|
||||
-D "TEST_EXPECT=0"
|
||||
-D "TEST_OUTPUT=links_env.txt"
|
||||
-D "TEST_REFERENCE=links_env.out"
|
||||
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
|
||||
-P "${HDF5_RESOURCES_DIR}/runTest.cmake"
|
||||
)
|
||||
|
||||
IF (HDF5_TEST_VFD)
|
||||
|
||||
SET (VFD_LIST
|
||||
|
||||
6
test/testfiles/links_env.out
Normal file
6
test/testfiles/links_env.out
Normal file
@@ -0,0 +1,6 @@
|
||||
#############################
|
||||
Expected output for links_env
|
||||
#############################
|
||||
Testing external links via environment variable PASSED
|
||||
Testing external links via environment variable (w/new group format) PASSED
|
||||
All external Link (HDF5_EXT_PREFIX) tests passed.
|
||||
Reference in New Issue
Block a user