aboutsummaryrefslogtreecommitdiff
path: root/test/CMakeLists.txt
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-11-30 20:35:25 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-11-30 20:35:25 +0000
commit1b7b916b7631ddf73c38e3a0070d64e4636cb2f3 (patch)
treecd08258054db80bb9a11b1061bb091c70b76926a /test/CMakeLists.txt
parenteaa89c11d0f8aefbb512de769c6c82f61a8baca3 (diff)
parent4a8bf24ac690004aedf5540fa440e788459e5e34 (diff)
downloadrneovim-aucmd_textputpost.tar.gz
rneovim-aucmd_textputpost.tar.bz2
rneovim-aucmd_textputpost.zip
Merge remote-tracking branch 'upstream/master' into aucmd_textputpostaucmd_textputpost
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r--test/CMakeLists.txt70
1 files changed, 70 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000000..e9be79edc0
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,70 @@
+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()
+
+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 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_INSTALL_DIR=${DEPS_INSTALL_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)
+ add_dependencies(unittest lua-dev-deps)
+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 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_INSTALL_DIR=${DEPS_INSTALL_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)
+
+add_custom_target(benchmark
+ COMMAND ${CMAKE_COMMAND}
+ -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_INSTALL_DIR=${DEPS_INSTALL_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)
+
+add_dependencies(functionaltest lua-dev-deps)
+add_dependencies(benchmark lua-dev-deps)