aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt99
-rw-r--r--test/CMakeLists.txt91
2 files changed, 92 insertions, 98 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 36210bb007..7abbff3471 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -306,10 +306,6 @@ install_helper(
FILES ${CMAKE_SOURCE_DIR}/src/man/nvim.1
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
-#
-# Go down the tree.
-#
-
if(EXISTS "${DEPS_PREFIX}/share/nvim-qt")
option(USE_BUNDLED_NVIMQT "Bundle neovim-qt" ON)
else()
@@ -318,107 +314,14 @@ endif()
add_subdirectory(src/nvim)
add_subdirectory(cmake.config)
-add_subdirectory(test/functional/fixtures) # compile test programs
add_subdirectory(runtime)
-get_directory_property(GENERATED_HELP_TAGS DIRECTORY runtime DEFINITION GENERATED_HELP_TAGS)
+add_subdirectory(test)
if(WIN32 AND USE_BUNDLED_NVIMQT)
install_helper(
FILES ${DEPS_PREFIX}/share/nvim-qt/runtime/plugin/nvim_gui_shim.vim
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim-qt/runtime/plugin)
endif()
-# Setup busted.
-find_program(BUSTED_PRG NAMES busted busted.bat)
-find_program(BUSTED_LUA_PRG busted-lua)
-if(NOT BUSTED_OUTPUT_TYPE)
- set(BUSTED_OUTPUT_TYPE "nvim")
-endif()
-
-# Setup some test-related bits. We do this after going down the tree because we
-# need some of the targets.
-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=${CMAKE_CURRENT_SOURCE_DIR}
- -D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
- -D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
- -D BUILD_DIR=${CMAKE_BINARY_DIR}
- -D TEST_TYPE=unit
- -D CIRRUS_CI=$ENV{CIRRUS_CI}
- -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=${CMAKE_CURRENT_SOURCE_DIR}
- -D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
- -D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
- -D BUILD_DIR=${CMAKE_BINARY_DIR}
- -D TEST_TYPE=functional
- -D CIRRUS_CI=$ENV{CIRRUS_CI}
- -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=${CMAKE_CURRENT_SOURCE_DIR}
- -D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
- -D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
- -D BUILD_DIR=${CMAKE_BINARY_DIR}
- -D TEST_TYPE=benchmark
- -D CIRRUS_CI=$ENV{CIRRUS_CI}
- -P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
- DEPENDS ${BENCHMARK_PREREQS}
- USES_TERMINAL)
- set_target_properties(benchmark PROPERTIES FOLDER test)
-endif()
-
-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=${CMAKE_CURRENT_SOURCE_DIR}
- -D BUSTED_OUTPUT_TYPE=${BUSTED_OUTPUT_TYPE}
- -D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/test
- -D BUILD_DIR=${CMAKE_BINARY_DIR}
- -D TEST_TYPE=functional
- -D CIRRUS_CI=$ENV{CIRRUS_CI}
- -P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
- DEPENDS ${FUNCTIONALTEST_PREREQS}
- USES_TERMINAL)
- set_target_properties(functionaltest-lua PROPERTIES FOLDER test)
-endif()
-
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/cmake/UninstallHelper.cmake)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000000..7e5fb07382
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,91 @@
+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}
+ -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 TEST_TYPE=functional
+ -D CIRRUS_CI=$ENV{CIRRUS_CI}
+ -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}
+ -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}
+ -P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
+ DEPENDS ${FUNCTIONALTEST_PREREQS}
+ USES_TERMINAL)
+ set_target_properties(functionaltest-lua PROPERTIES FOLDER test)
+endif()