diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-05-21 20:57:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-21 20:57:39 +0200 |
commit | 8b8e60728486e1fbb308bee2961175be355e550a (patch) | |
tree | 878a80ccf7a2453d16b4030aacd1f60fe503cb41 /test | |
parent | 384a3bc308c95c9511eff1b85cd55357bdaedd9e (diff) | |
download | rneovim-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.txt | 10 | ||||
-rw-r--r-- | test/busted_runner.lua | 13 |
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 }) |