2013-12-01 23:55:24 +00:00
|
|
|
|
|
|
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/..")
|
|
|
|
|
|
|
|
if (APPLE)
|
|
|
|
set(HELPER_SHARED_SOURCES ../StlSymbolsLeopard.cpp)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
# Create helper binaries for unit tests
|
|
|
|
add_executable(oldapp
|
|
|
|
old_app.cpp
|
|
|
|
${HELPER_SHARED_SOURCES}
|
|
|
|
)
|
|
|
|
add_executable(newapp
|
|
|
|
new_app.cpp
|
|
|
|
${HELPER_SHARED_SOURCES}
|
|
|
|
)
|
|
|
|
|
|
|
|
# Install data files required by unit tests
|
|
|
|
set(TEST_FILES
|
|
|
|
file_list.xml
|
|
|
|
v2_file_list.xml
|
|
|
|
test-update.rb
|
|
|
|
)
|
|
|
|
|
|
|
|
foreach(TEST_FILE ${TEST_FILES})
|
|
|
|
execute_process(
|
|
|
|
COMMAND
|
|
|
|
"${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${TEST_FILE}" "${CMAKE_CURRENT_BINARY_DIR}"
|
|
|
|
)
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
# Add unit test binaries
|
|
|
|
macro(ADD_UPDATER_TEST CLASS)
|
|
|
|
set(TEST_TARGET updater_${CLASS})
|
|
|
|
add_executable(${TEST_TARGET} ${CLASS}.cpp)
|
|
|
|
target_link_libraries(${TEST_TARGET} updatershared)
|
2013-12-14 13:17:59 +00:00
|
|
|
add_test(NAME ${TEST_TARGET} COMMAND ${TEST_TARGET})
|
2013-12-01 23:55:24 +00:00
|
|
|
if (APPLE)
|
|
|
|
set_target_properties(${TEST_TARGET} PROPERTIES LINK_FLAGS "-framework Security -framework Cocoa")
|
|
|
|
endif()
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
add_updater_test(TestUpdateScript)
|
|
|
|
add_updater_test(TestUpdaterOptions)
|
|
|
|
add_updater_test(TestFileUtils)
|
|
|
|
|
|
|
|
# Add updater that that performs a complete update install
|
|
|
|
# and checks the result
|
|
|
|
find_program(RUBY_BIN ruby)
|
|
|
|
add_test(updater_TestUpdateInstall ${RUBY_BIN} test-update.rb)
|
|
|
|
|