mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
Generate a lua module to help pass build-related settings.
This allows us to avoid hard-coding paths and using environment variables to communicate key information to unit tests, which fits with the overall goal of making sure that folks driving CMake directly can continue to do out-of-tree builds.
This commit is contained in:
11
test/config/paths.lua.in
Normal file
11
test/config/paths.lua.in
Normal file
@@ -0,0 +1,11 @@
|
||||
local module = {}
|
||||
|
||||
module.include_paths = {}
|
||||
for p in ("${TEST_INCLUDE_DIRS}" .. ";"):gmatch("[^;]+") do
|
||||
table.insert(module.include_paths, p)
|
||||
end
|
||||
|
||||
module.test_include_path = "${CMAKE_BINARY_DIR}/test/includes/post"
|
||||
module.test_libnvim_path = "${TEST_LIBNVIM_PATH}"
|
||||
|
||||
return module
|
||||
@@ -3,24 +3,14 @@ lpeg = require 'lpeg'
|
||||
formatc = require 'test.unit.formatc'
|
||||
Set = require 'test.unit.set'
|
||||
Preprocess = require 'test.unit.preprocess'
|
||||
Paths = require 'test.config.paths'
|
||||
|
||||
-- add some standard header locations
|
||||
-- TODO(aktau, jszakmeister): optionally pass more header locations via env
|
||||
Preprocess.add_to_include_path('./src')
|
||||
Preprocess.add_to_include_path('./.deps/usr/include')
|
||||
Preprocess.add_to_include_path('./build/config')
|
||||
|
||||
if ffi.abi('32bit')
|
||||
Preprocess.add_to_include_path('/opt/neovim-deps/32/include')
|
||||
else
|
||||
Preprocess.add_to_include_path('/opt/neovim-deps/include')
|
||||
for i,p in ipairs(Paths.include_paths)
|
||||
Preprocess.add_to_include_path(p)
|
||||
|
||||
-- load neovim shared library
|
||||
testlib = os.getenv 'NVIM_TEST_LIB'
|
||||
unless testlib
|
||||
testlib = './build/src/libnvim-test.so'
|
||||
|
||||
libnvim = ffi.load testlib
|
||||
libnvim = ffi.load Paths.test_libnvim_path
|
||||
|
||||
trim = (s) ->
|
||||
s\match'^%s*(.*%S)' or ''
|
||||
@@ -91,12 +81,8 @@ cimport = (...) ->
|
||||
|
||||
return libnvim
|
||||
|
||||
testinc = os.getenv 'TEST_INCLUDES'
|
||||
unless testinc
|
||||
testinc = './build/test/includes/post'
|
||||
|
||||
cppimport = (path) ->
|
||||
return cimport testinc .. '/' .. path
|
||||
return cimport Paths.test_include_path .. '/' .. path
|
||||
|
||||
cimport './src/types.h'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user