forked from NREL/EnergyPlus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRunCallbackTest.cmake
31 lines (27 loc) · 1.52 KB
/
RunCallbackTest.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Set up for convenience
set(TEST_DIR "tst/api_callback")
set( ENV{DDONLY} y)
# Currently the TestEnergyPlusCallbacks runner does not exit. Give it an idf and supporting files so that it will run.
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${SOURCE_DIR}/testfiles/${IDF_FILE}" "${BINARY_DIR}/${TEST_DIR}/in.idf" )
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${SOURCE_DIR}/weather/${EPW_FILE}" "${BINARY_DIR}/${TEST_DIR}/in.epw" )
execute_process(COMMAND "${CMAKE_COMMAND}" -E copy "${BINARY_DIR}/Products/Energy+.idd" "${BINARY_DIR}/${TEST_DIR}/Energy+.idd" )
# Find and execute the test executable, passing the argument of the directory to run in
if( WIN32 )
set(ECHO_CMD cmd /C echo.)
else()
set(ECHO_CMD "echo")
endif()
find_program(TEST_EXE TestEnergyPlusCallbacks PATHS "${BINARY_DIR}/Products/" "${BINARY_DIR}/Products/Release/" "${BINARY_DIR}/Products/Debug/" )
message( "Executing TestEnergyPlusCallbacks from ${TEST_EXE}" )
message( "Passing run directory as ${TEST_DIR}" )
execute_process(COMMAND ${ECHO_CMD} COMMAND "${TEST_EXE}" "${BINARY_DIR}/${TEST_DIR}")
# Clean up
execute_process(COMMAND "${CMAKE_COMMAND}" -E remove "${BINARY_DIR}/${TEST_DIR}/Energy+.idd" "${BINARY_DIR}/${TEST_DIR}/in.epw")
# Check the outputs and return appropriately
file(READ "${BINARY_DIR}/${TEST_DIR}/eplusout.end" FILE_CONTENT)
string(FIND "${FILE_CONTENT}" "EnergyPlus Completed Successfully" RESULT)
if( RESULT EQUAL 0 )
message("Test Passed")
else()
message("Test Failed")
endif()