aboutsummaryrefslogtreecommitdiff
path: root/test/run_tests.zig
Commit message (Collapse)AuthorAge
* test: fix $NVIM_LOG_FILE from environment being overwritten (#41420)zeertzjq2026-08-22
| | | | | Instead of setting it in the test runner (which runs in an Nvim instance that already has a log file), make run_tests.zig set a $NVIM_LOG_FILE fallback path like what RunTests.cmake does.
* refactor(test): unify XDG path handling (cmake vs zig)bfredl2026-07-06
| | | | fixes #40381
* fix(build.zig): do not depend on b.install_path on configure timebfredl2026-06-04
| | | | | | | | | | | | | | This is in preparation of zig 0.17 where b.install_path is no longer known inside `pub fn build()`. Builds which should hardcode a runtime path into the binary has to specify it. We could use a nlua0 helper to encode the install path at build time but I think this is cleaner anyway. (like currently the appimage still encodes a temporary build path which is nonsensical, it is better to just include none) Similarily b.args will not be available anymore (there will just be an opaque pass-through)
* build(zig): run oldtests in zig builds with new lua runnerbfredl2026-06-02
| | | | | | | | | | | | | | | | | The new lua based runner replaces Makefile, runnvim.sh and runnvim.vim As it happens, we run a `--headless` nvim inside a `:terminal` layer, this is pointless. Also there is still a lot remnants for oldesttests, but we don't have any except for test1.in which just checks the environment for following, nonexistant oldesttests. so just skip that. For now, the actual vimscript code which runs in vim-under-test is completely unchanged. On macos, luajit is finally working with the latest ziglua master. Also fix some minor bugs regarding locales, such as incorrect HAVE_WORKING_LIBINTL checks
* test: run Lua harness with nvim -lLewis Russell2026-05-13
| | | | | | | | | | | | | | | | | | Problem: The Lua test harness still ran through standalone -ll mode, so tests depended on the low-level Lua path instead of the regular Nvim Lua environment. That also meant os.exit() coverage had to carry an ASAN workaround because Lua's raw process exit skipped Nvim teardown and let LeakSanitizer interfere with the observed exit code. Solution: Run the harness and related fixtures with nvim -l. Patch os.exit() in the main Lua state to exit through getout(), so scripts observe normal Nvim shutdown while standalone -ll remains available for generator-style scripts. As a consequence, the startup test can assert os.exit() without disabling leak detection. AI-assisted: Codex
* fix(build): more changes to make zig 0.16.0 workbfredl2026-04-21
|
* test: replace busted with local harnessLewis Russell2026-04-15
| | | | | | | | | | | | | | | | | | | Replace the busted-based Lua test runner with a repo-local harness. The new harness runs spec files directly under `nvim -ll`, ships its own reporter and lightweight `luassert` shim, and keeps the helper/preload flow used by the functional and unit test suites. Keep the file boundary model shallow and busted-like by restoring `_G`, `package.loaded`, `package.preload`, `arg`, and the process environment between files, without carrying extra reset APIs or custom assertion machinery. Update the build and test entrypoints to use the new runner, add black-box coverage for the harness itself, and drop the bundled busted/luacheck dependency path. AI-assisted: Codex
* test: set NVIM_TEST in zig build #38281Justin M. Keyes2026-03-13
| | | | | | | | | | | | | Problem: Noise in zig CI logs: WRN 2026-03-13T03:12:58.742 ui/c/T140.75243.0 tui_handle_term_mode:239: TUI: terminal mode 69 detected, state 2 WRN 2026-03-13T03:12:58.743 ui/c/T140.75243.0 tui_handle_term_mode:226: TUI: terminal mode 2026 unavailable, state 0 WRN 2026-03-13T03:12:58.743 ui/c/T140.75243.0 tui_handle_term_mode:226: TUI: terminal mode 2027 unavailable, state 0 Solution: Set NVIM_TEST. Followup to d6bee7e407442112ee9008ea35d6fe73dbb3eaaf
* feat(build): make build.zig run unittestsbfredl2025-05-24
|
* feat(build): build.zig MVP: build and run functionaltests on linuxbfredl2025-05-02
NEW BUILD SYSTEM! This is a MVP implementation which supports building the "nvim" binary, including cross-compilation for some targets. As an example, you can build a aarch64-macos binary from an x86-64-linux-gnu host, or vice versa Add CI target for build.zig currently for functionaltests on linux x86_64 only Follow up items: - praxis for version and dependency bumping - windows 💀 - full integration of libintl and gettext (or a desicion not to) - update help and API metadata files - installation into a $PREFIX - more tests and linters