Add CTest support

This commit is contained in:
Luis Diaz Mas 2021-05-13 23:02:58 +02:00 committed by Luis Díaz Más
parent 4aa5566cf6
commit e87424b5e0
4 changed files with 14 additions and 26 deletions

View File

@ -100,35 +100,21 @@ add_custom_target(version_test
)
if( EXIV2_BUILD_SAMPLES )
##
# tests
if( EXIV2_BUILD_UNIT_TESTS )
add_custom_target(tests
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/unit_test.py
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/version_test.py
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
)
else()
add_custom_target(tests
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/version_test.py
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
)
endif()
add_custom_target(python_tests
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
add_test(NAME bashTests
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests
COMMAND env EXIV2_BINDIR=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} python3 runner.py bash_tests/testcases.py --verbose
)
add_custom_target(bash_tests
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
add_test(NAME versionTests
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests
COMMAND env EXIV2_BINDIR=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} python3 runner.py bash_tests/version_test.py
)
add_test(NAME pythonTests
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests
COMMAND env EXIV2_BINDIR=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} python3 runner.py
)
add_subdirectory( samples )
get_directory_property(SAMPLES DIRECTORY samples DEFINITION APPLICATIONS)
add_dependencies(tests exiv2lib exiv2 ${SAMPLES})
endif()
if( EXIV2_ENABLE_NLS )

View File

@ -6,6 +6,7 @@ include(CheckFunctionExists)
include(GenerateExportHeader)
include(CMakeDependentOption)
include(cmake/JoinPaths.cmake)
include(CTest)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)

View File

@ -40,7 +40,6 @@ foreach(entry ${SAMPLES})
set_target_properties(${target} PROPERTIES
COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS})
list(APPEND APPLICATIONS ${target})
add_test( ${target}_test ${target} )
target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h
if ( NOT ${target} MATCHES ".*test.*") # don't install tests
install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -50,3 +50,5 @@ set_target_properties(unit_tests PROPERTIES
if (MSVC)
set_target_properties(unit_tests PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
add_test(NAME unit_tests COMMAND unit_tests)