aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2023-05-21 20:57:39 +0200
committerGitHub <noreply@github.com>2023-05-21 20:57:39 +0200
commit8b8e60728486e1fbb308bee2961175be355e550a (patch)
tree878a80ccf7a2453d16b4030aacd1f60fe503cb41 /test
parent384a3bc308c95c9511eff1b85cd55357bdaedd9e (diff)
downloadrneovim-8b8e60728486e1fbb308bee2961175be355e550a.tar.gz
rneovim-8b8e60728486e1fbb308bee2961175be355e550a.tar.bz2
rneovim-8b8e60728486e1fbb308bee2961175be355e550a.zip
build: move luarocks and rocks installation to main build
This will ensure luacheck and busted are only installed when they're actually needed. This cuts total build time by over 50%. Closes https://github.com/neovim/neovim/issues/22797.
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt10
-rw-r--r--test/busted_runner.lua13
2 files changed, 13 insertions, 10 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 38d881dbbc..ef1497febc 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -20,12 +20,14 @@ if(LUA_HAS_FFI)
-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 test_deps)
else()
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
endif()
@@ -41,7 +43,7 @@ add_custom_target(functionaltest
-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 DEPS_INSTALL_DIR=${DEPS_INSTALL_DIR}
-D TEST_TYPE=functional
-D CIRRUS_CI=$ENV{CIRRUS_CI}
-D CI_BUILD=${CI_BUILD}
@@ -56,6 +58,7 @@ add_custom_target(benchmark
-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}
@@ -70,9 +73,14 @@ add_custom_target(functionaltest-lua
-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_dependencies(functionaltest test_deps)
+add_dependencies(benchmark test_deps)
+add_dependencies(functionaltest-lua test_deps)
diff --git a/test/busted_runner.lua b/test/busted_runner.lua
index 62d1e611e7..5604790069 100644
--- a/test/busted_runner.lua
+++ b/test/busted_runner.lua
@@ -1,12 +1,7 @@
local platform = vim.loop.os_uname()
-if platform and platform.sysname:lower():find'windows' then
- local deps_prefix = os.getenv 'DEPS_PREFIX'
- if deps_prefix ~= nil and deps_prefix ~= "" then
- package.path = deps_prefix.."/share/lua/5.1/?.lua;"..deps_prefix.."/share/lua/5.1/?/init.lua;"..package.path
- package.path = deps_prefix.."/bin/lua/?.lua;"..deps_prefix.."/bin/lua/?/init.lua;"..package.path
- package.cpath = deps_prefix.."/lib/lua/5.1/?.dll;"..package.cpath;
- package.cpath = deps_prefix.."/bin/?.dll;"..deps_prefix.."/bin/loadall.dll;"..package.cpath;
- end
-end
+local deps_install_dir = os.getenv 'DEPS_INSTALL_DIR'
+local suffix = (platform and platform.sysname:lower():find'windows') and '.dll' or '.so'
+package.path = deps_install_dir.."/share/lua/5.1/?.lua;"..deps_install_dir.."/share/lua/5.1/?/init.lua;"..package.path
+package.cpath = deps_install_dir.."/lib/lua/5.1/?"..suffix..";"..package.cpath;
require 'busted.runner'({ standalone = false })