mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
f573fcbc0d
Instead use the cmake option, which should act as the definitive source to determine whether we use CI or not.
97 lines
3.4 KiB
CMake
97 lines
3.4 KiB
CMake
add_subdirectory(functional/fixtures) # compile test programs
|
|
get_directory_property(GENERATED_HELP_TAGS DIRECTORY ${PROJECT_SOURCE_DIR}/runtime DEFINITION GENERATED_HELP_TAGS)
|
|
|
|
if(NOT BUSTED_OUTPUT_TYPE)
|
|
set(BUSTED_OUTPUT_TYPE "nvim")
|
|
endif()
|
|
|
|
find_program(BUSTED_PRG NAMES busted busted.bat)
|
|
if(BUSTED_PRG)
|
|
get_target_property(TEST_INCLUDE_DIRS main_lib INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
set(UNITTEST_PREREQS nvim)
|
|
set(FUNCTIONALTEST_PREREQS nvim printenv-test printargs-test shell-test pwsh-test streams-test tty-test ${GENERATED_HELP_TAGS})
|
|
set(BENCHMARK_PREREQS nvim tty-test)
|
|
|
|
check_lua_module(${LUA_PRG} "ffi" LUA_HAS_FFI)
|
|
if(LUA_HAS_FFI)
|
|
add_custom_target(unittest
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-D BUSTED_PRG=${BUSTED_PRG}
|
|
-D LUA_PRG=${LUA_PRG}
|
|
-D NVIM_PRG=$<TARGET_FILE:nvim>
|
|
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
|
|
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
|
|
-D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}
|
|
-D BUILD_DIR=${CMAKE_BINARY_DIR}
|
|
-D TEST_TYPE=unit
|
|
-D CIRRUS_CI=$ENV{CIRRUS_CI}
|
|
-D CI_BUILD=${CI_BUILD}
|
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
|
DEPENDS ${UNITTEST_PREREQS}
|
|
USES_TERMINAL)
|
|
set_target_properties(unittest PROPERTIES FOLDER test)
|
|
else()
|
|
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
|
|
endif()
|
|
|
|
configure_file(
|
|
${CMAKE_SOURCE_DIR}/test/cmakeconfig/paths.lua.in
|
|
${CMAKE_BINARY_DIR}/test/cmakeconfig/paths.lua)
|
|
|
|
add_custom_target(functionaltest
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-D BUSTED_PRG=${BUSTED_PRG}
|
|
-D LUA_PRG=${LUA_PRG}
|
|
-D NVIM_PRG=$<TARGET_FILE:nvim>
|
|
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
|
|
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
|
|
-D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}
|
|
-D BUILD_DIR=${CMAKE_BINARY_DIR}
|
|
-D DEPS_PREFIX=${DEPS_PREFIX}
|
|
-D TEST_TYPE=functional
|
|
-D CIRRUS_CI=$ENV{CIRRUS_CI}
|
|
-D CI_BUILD=${CI_BUILD}
|
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
|
DEPENDS ${FUNCTIONALTEST_PREREQS}
|
|
USES_TERMINAL)
|
|
set_target_properties(functionaltest PROPERTIES FOLDER test)
|
|
|
|
add_custom_target(benchmark
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-D BUSTED_PRG=${BUSTED_PRG}
|
|
-D LUA_PRG=${LUA_PRG}
|
|
-D NVIM_PRG=$<TARGET_FILE:nvim>
|
|
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
|
|
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
|
|
-D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}
|
|
-D BUILD_DIR=${CMAKE_BINARY_DIR}
|
|
-D TEST_TYPE=benchmark
|
|
-D CIRRUS_CI=$ENV{CIRRUS_CI}
|
|
-D CI_BUILD=${CI_BUILD}
|
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
|
DEPENDS ${BENCHMARK_PREREQS}
|
|
USES_TERMINAL)
|
|
set_target_properties(benchmark PROPERTIES FOLDER test)
|
|
endif()
|
|
|
|
find_program(BUSTED_LUA_PRG busted-lua)
|
|
if(BUSTED_LUA_PRG)
|
|
add_custom_target(functionaltest-lua
|
|
COMMAND ${CMAKE_COMMAND}
|
|
-D BUSTED_PRG=${BUSTED_LUA_PRG}
|
|
-D LUA_PRG=${LUA_PRG}
|
|
-D NVIM_PRG=$<TARGET_FILE:nvim>
|
|
-D WORKING_DIR=${PROJECT_SOURCE_DIR}
|
|
-D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
|
|
-D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}
|
|
-D BUILD_DIR=${CMAKE_BINARY_DIR}
|
|
-D TEST_TYPE=functional
|
|
-D CIRRUS_CI=$ENV{CIRRUS_CI}
|
|
-D CI_BUILD=${CI_BUILD}
|
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
|
DEPENDS ${FUNCTIONALTEST_PREREQS}
|
|
USES_TERMINAL)
|
|
set_target_properties(functionaltest-lua PROPERTIES FOLDER test)
|
|
endif()
|