build: added plenary test runner

This commit is contained in:
Folke Lemaitre 2022-11-28 07:31:13 +01:00
parent 08f4804916
commit f51eb0d957
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
3 changed files with 37 additions and 0 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
tt.lua tt.lua
.tests
doc/tags

32
tests/init.lua Normal file
View File

@ -0,0 +1,32 @@
local M = {}
function M.root(root)
local f = debug.getinfo(1, "S").source:sub(2)
return vim.fn.fnamemodify(f, ":p:h:h") .. "/" .. (root or "")
end
---@param plugin string
function M.load(plugin)
local name = plugin:match(".*/(.*)")
local package_root = M.root(".tests/site/pack/deps/start/")
if not vim.loop.fs_stat(package_root .. name) then
print("Installing " .. plugin)
vim.fn.mkdir(package_root, "p")
vim.fn.system({
"git",
"clone",
"--depth=1",
"https://github.com/" .. plugin .. ".git",
package_root .. "/" .. name,
})
end
end
function M.setup()
vim.cmd([[set runtimepath=$VIMRUNTIME]])
vim.opt.runtimepath:append(M.root())
vim.opt.packpath = { M.root(".tests/site") }
M.load("nvim-lua/plenary.nvim")
end
M.setup()

3
tests/run Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/init.lua', sequential = true}"