From 088cf81bcb8dc029733977b69a19b0d580f73b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Fr=C3=B3es=20Franco?= Date: Sat, 30 May 2026 14:40:37 -0300 Subject: [PATCH] Group keymap harnesses under development/tests/ Move the four keymap-harness files (test-keymaps.sh/.lua and the Vim counterparts) into a development/tests/ subfolder so they sit apart from the interactive dev launchers. REPO_ROOT now climbs two levels, and the internal source paths, CI invocations, and ONBOARDING tree are updated. Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/ci.yaml | 4 ++-- development/ONBOARDING.md | 11 ++++++----- development/{ => tests}/test-keymaps-vim.sh | 8 ++++---- development/{ => tests}/test-keymaps-vim.vim | 4 ++-- development/{ => tests}/test-keymaps.lua | 2 +- development/{ => tests}/test-keymaps.sh | 6 +++--- 6 files changed, 18 insertions(+), 17 deletions(-) rename development/{ => tests}/test-keymaps-vim.sh (86%) rename development/{ => tests}/test-keymaps-vim.vim (98%) rename development/{ => tests}/test-keymaps.lua (99%) rename development/{ => tests}/test-keymaps.sh (91%) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 6064e0e..b7df8e4 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -93,6 +93,6 @@ jobs: sudo apt-get install -y --no-install-recommends vim vim --version | head -1 - name: run Neovim keymap harness - run: ./development/test-keymaps.sh + run: ./development/tests/test-keymaps.sh - name: run Vim keymap harness - run: ./development/test-keymaps-vim.sh + run: ./development/tests/test-keymaps-vim.sh diff --git a/development/ONBOARDING.md b/development/ONBOARDING.md index 12738eb..04560ec 100644 --- a/development/ONBOARDING.md +++ b/development/ONBOARDING.md @@ -74,11 +74,12 @@ nuwiki/ │ ├── start-nvim.sh # Launch Neovim against a scratch wiki │ ├── start-vim.sh # Launch Vim against a scratch wiki │ ├── test-personal-wiki.sh # Launch Vim against your real wiki -│ ├── test-keymaps.sh # Neovim keymap harness (CI) -│ ├── test-keymaps.lua -│ ├── test-keymaps-vim.sh # Vim keymap harness (CI) -│ ├── test-keymaps-vim.vim -│ └── syntax-diag.vim # Dump highlighting state for debugging +│ ├── syntax-diag.vim # Dump highlighting state for debugging +│ └── tests/ # Editor keymap/command harnesses (run in CI) +│ ├── test-keymaps.sh # Neovim keymap harness +│ ├── test-keymaps.lua +│ ├── test-keymaps-vim.sh # Vim keymap harness +│ └── test-keymaps-vim.vim │ └── .gitea/ └── workflows/ diff --git a/development/test-keymaps-vim.sh b/development/tests/test-keymaps-vim.sh similarity index 86% rename from development/test-keymaps-vim.sh rename to development/tests/test-keymaps-vim.sh index 6180ee2..b816ad5 100755 --- a/development/test-keymaps-vim.sh +++ b/development/tests/test-keymaps-vim.sh @@ -1,16 +1,16 @@ #!/usr/bin/env bash # -# development/test-keymaps-vim.sh — Vim counterpart of test-keymaps.sh. +# development/tests/test-keymaps-vim.sh — Vim counterpart of test-keymaps.sh. # # Pure-VimL portion only. The LSP-roundtrip keymaps (``, # `=`, `-`, …) talk to the server via vim-lsp's timer-driven async # layer, which doesn't fire reliably inside `vim -e -s`. Those have -# Neovim coverage in development/test-keymaps.lua, exercising the same +# Neovim coverage in development/tests/test-keymaps.lua, exercising the same # Lua command layer + server binary. set -euo pipefail -REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" TMP="$(mktemp -d -t nuwiki-keymap-vim-test-XXXXXX)" trap 'rm -rf "$TMP"' EXIT @@ -47,7 +47,7 @@ log "running harness…" # `"$TMP/vim.log" 2>&1 || true if [[ ! -f "$RESULTS" ]]; then diff --git a/development/test-keymaps-vim.vim b/development/tests/test-keymaps-vim.vim similarity index 98% rename from development/test-keymaps-vim.vim rename to development/tests/test-keymaps-vim.vim index d14aa4a..3832fea 100644 --- a/development/test-keymaps-vim.vim +++ b/development/tests/test-keymaps-vim.vim @@ -1,4 +1,4 @@ -" development/test-keymaps-vim.vim — driven by development/test-keymaps-vim.sh. +" development/tests/test-keymaps-vim.vim — driven by development/tests/test-keymaps-vim.sh. " " Pure-VimL keymap regression suite. Plain Vim's LSP path " (vim-lsp + async.vim) talks to the server via timers, which won't @@ -6,7 +6,7 @@ " are restricted to the bindings whose RHS is implemented entirely in " VimL (header/link nav, `o`/`O` bullet continuation, the wrap step " of ``). LSP-roundtrip bindings (``, `=`, `-`, …) get -" their coverage from the Neovim harness in development/test-keymaps.lua +" their coverage from the Neovim harness in development/tests/test-keymaps.lua " — same Lua codepath, same server. let s:results = [] diff --git a/development/test-keymaps.lua b/development/tests/test-keymaps.lua similarity index 99% rename from development/test-keymaps.lua rename to development/tests/test-keymaps.lua index ef4c18c..9b0089a 100644 --- a/development/test-keymaps.lua +++ b/development/tests/test-keymaps.lua @@ -1,4 +1,4 @@ --- development/test-keymaps.lua — driven by development/test-keymaps.sh. +-- development/tests/test-keymaps.lua — driven by development/tests/test-keymaps.sh. -- -- Headless Neovim harness for the buffer-local keymaps registered by -- `ftplugin/vimwiki.vim` + `lua/nuwiki/keymaps.lua`. Each case sets up diff --git a/development/test-keymaps.sh b/development/tests/test-keymaps.sh similarity index 91% rename from development/test-keymaps.sh rename to development/tests/test-keymaps.sh index eb7e253..72b115a 100755 --- a/development/test-keymaps.sh +++ b/development/tests/test-keymaps.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # -# development/test-keymaps.sh — drive development/test-keymaps.lua under +# development/tests/test-keymaps.sh — drive development/tests/test-keymaps.lua under # headless Neovim and report pass/fail per buffer-local keymap. # # The Lua harness needs a real LSP attachment (most keymaps dispatch @@ -14,7 +14,7 @@ set -euo pipefail -REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" TMP="$(mktemp -d -t nuwiki-keymap-test-XXXXXX)" trap 'rm -rf "$TMP"' EXIT @@ -53,7 +53,7 @@ log "running harness…" # stalling CI runners indefinitely. NUWIKI_KEYMAP_RESULTS="$RESULTS" \ timeout 60 nvim --clean -u "$INIT" --headless "$TMP/wiki/index.wiki" \ - -c "luafile $REPO_ROOT/development/test-keymaps.lua" \ + -c "luafile $REPO_ROOT/development/tests/test-keymaps.lua" \ >"$TMP/nvim.log" 2>&1 || true if [[ ! -f "$RESULTS" ]]; then