From 3af10f97b8ca7a0d41e7ee0052939db0fd111b36 Mon Sep 17 00:00:00 2001 From: Aaron Sullivan Date: Sun, 15 Dec 2024 14:57:08 -0800 Subject: [PATCH] Add github action for running tests --- .github/workflows/test.yml | 39 ++++++++++++++++++++++++++++++++++ Makefile | 6 ++---- lua/treewalker/util.lua | 6 ------ tests/minimal_init.lua | 7 ------ tests/treewalker/util_spec.lua | 13 ------------ 5 files changed, 41 insertions(+), 30 deletions(-) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..ad95f48 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,39 @@ +name: Run Tests + +on: + push: + branches: [ "*" ] + pull_request: + branches: [ main ] + +jobs: + test: + + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Install Make Dependencies + run: | + sudo apt-get update + sudo apt-get install libtool-bin autoconf automake cmake g++ pkg-config unzip gettext curl -y + + - name: Install Neovim + run: | + sudo snap install nvim --classic + + - name: Install Plenary + run: | + git clone https://github.com/nvim-lua/plenary.nvim.git + mkdir -p .local/share/nvim/lazy/ + mv plenary.nvim .local/share/nvim/lazy/ + + - name: Run Tests + env: + XDG_CONFIG_HOME: ${{ github.workspace }}/.config + XDG_DATA_HOME: ${{ github.workspace }}/.local/share + XDG_STATE_HOME: ${{ github.workspace }}/.local/state + XDG_CACHE_HOME: ${{ github.workspace }}/.cache + run: make test diff --git a/Makefile b/Makefile index fe134cd..3d8fa51 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,6 @@ TESTS_DIR=tests .PHONY: test -# TODO I want test to contain a lua-language-server pass - test_nvim: @nvim \ --headless \ @@ -13,7 +11,7 @@ test_nvim: -c "PlenaryBustedDirectory ${TESTS_DIR} { minimal_init = '${TESTS_INIT}' }" test: - -$(MAKE) test_nvim || exit 1 + $(MAKE) test_nvim test-watch: - nodemon -e lua -x "$(MAKE) test" + nodemon -e lua -x "$(MAKE) test || exit 1" diff --git a/lua/treewalker/util.lua b/lua/treewalker/util.lua index 5a9b25f..75110e9 100644 --- a/lua/treewalker/util.lua +++ b/lua/treewalker/util.lua @@ -98,12 +98,6 @@ M.guid = function() end) end ----@param env_key string ----@return boolean -M.has_env_var = function(env_key) - return type(os.getenv(env_key)) ~= type(nil) -end - ---reverse an array table ---@param t table M.reverse = function (t) diff --git a/tests/minimal_init.lua b/tests/minimal_init.lua index 1117c70..c8be46f 100644 --- a/tests/minimal_init.lua +++ b/tests/minimal_init.lua @@ -2,13 +2,6 @@ local lazypath = vim.fn.stdpath("data") .. "/lazy" vim.notify = print vim.opt.rtp:append(".") vim.opt.rtp:append(lazypath .. "/plenary.nvim") -vim.opt.rtp:append(lazypath .. "/nui.nvim") -vim.opt.rtp:append(lazypath .. "/telescope.nvim") --- vim.opt.rtp:append(lazypath .. "/nvim-nio") - --- -- Get all our normal plugins into the test env --- local suite = os.getenv("SUITE") --- vim.opt.rtp:append(suite .. "nvim") vim.opt.swapfile = false diff --git a/tests/treewalker/util_spec.lua b/tests/treewalker/util_spec.lua index 0e569ad..163941b 100644 --- a/tests/treewalker/util_spec.lua +++ b/tests/treewalker/util_spec.lua @@ -91,19 +91,6 @@ describe("util", function() end) end) - describe("ensure_env_var", function() - it("returns true", function() - -- always set - local res = util.has_env_var("SHELL") - assert.is_true(res) - end) - - it("returns false", function() - local res = util.has_env_var("IM_SUPER_SURE_THIS_ENV_VAR_WONT_BE_SET_FR_FR") - assert.is_false(res) - end) - end) - describe("reverse", function() it("reverses an array table", function() local t = { 1, 2, 3, 4, 5 }