CMake/Tests/Contracts/Trilinos/ValidateBuild.cmake.in
Zack Galbreath 5a4a5841d4 update Trilinos contract test
The old version encountered a compile error on newer versions of GCC.
Update to the latest supported release of Trilinos, remove the version
number from the name of the Contract, and some other minor tweaks to
get the test passing once more.
2013-08-28 15:28:14 -04:00

40 lines
1.2 KiB
CMake

#
# This code validates that the Trilinos build was "successful enough" (since it
# is difficult to detect this from the caller of the experimental_build_test
# dashboard script...)
#
set(binary_dir "@binary_dir@")
message("binary_dir='${binary_dir}'")
# Count *.exe files:
#
file(GLOB_RECURSE exes "${binary_dir}/*.exe")
message(STATUS "exes='${exes}'")
list(LENGTH exes len)
if(len LESS 47)
message(FATAL_ERROR "len='${len}' is less than minimum expected='47' (count of executables)")
endif()
message(STATUS "Found len='${len}' *.exe files")
# Try to find the Teuchos unit tests executable:
#
file(GLOB_RECURSE exe "${binary_dir}/TeuchosCore_UnitTest_UnitTests.exe")
list(LENGTH exe len)
if(NOT len EQUAL 1)
message(FATAL_ERROR "len='${len}' is not the expected='1' (count of TeuchosCore_UnitTest_UnitTests.exe)")
endif()
message(STATUS "Found exe='${exe}'")
# Try to run it:
execute_process(COMMAND ${exe} RESULT_VARIABLE rv)
if(NOT "${rv}" STREQUAL "0")
message(FATAL_ERROR "rv='${rv}' is not the expected='0' (result of running TeuchosCore_UnitTest_UnitTests.exe)")
endif()
message(STATUS "Ran exe='${exe}' rv='${rv}'")
message(STATUS "All Trilinos build validation tests pass.")