Skip to content

chore(test): replace unit-style specs with e2e integration tests#498

Merged
s1n7ax merged 2 commits into
mainfrom
gh-497-e2e-integration-tests
Jun 12, 2026
Merged

chore(test): replace unit-style specs with e2e integration tests#498
s1n7ax merged 2 commits into
mainfrom
gh-497-e2e-integration-tests

Conversation

@s1n7ax

@s1n7ax s1n7ax commented Jun 12, 2026

Copy link
Copy Markdown
Member

Summary

  • Removes the old specs (lsp/capabilities/jdtls_extensions) that only verified LSP attach against an empty buffer
  • Adds tests/specs/integration_spec.lua: launches real Neovim + JDTLS against a Maven fixture project (tests/fixtures/demo, copied to a temp dir at runtime so root markers resolve to the fixture instead of this repo) and exercises plugin features end-to-end: jdtls/spring-boot attach, extension bundling, project import, dap config registration, diagnostics publish/clear, built-in runner (run/toggle logs/stop), test runner (class/method/all), report viewer, profile UI and runtime switching
  • Test infra fixes: absolute rtp paths in test-config.lua (specs :cd away from repo root), explicit plugin/java.lua sourcing (plenary child runs --noplugin), 10 min plenary timeout, fail-fast: false + job timeout in CI

Built-in runner tests are skipped on Windows (runner joins classpath with :, which is broken on Windows — pre-existing issue, out of scope here).

Closes #497

Test plan

  • make tests green locally (14/14)
  • CI green on ubuntu/macos/windows × stable/nightly

Old specs only checked LSP attach/capabilities against an empty buffer.
New integration_spec runs against a real Maven fixture project (copied
to a temp dir so root markers resolve correctly) and exercises plugin
features end-to-end: jdtls attach, extension bundling, project import,
dap config, diagnostics, built-in runner, test runner, report viewer,
profile UI and runtime switching.

Closes #497
…pwsh

vim.fn.system() with a command string is parsed by &shell; nvim nightly
on Windows defaults &shell to pwsh, breaking cmd.exe-style quoting.
Pass argv lists so no shell is involved.
@s1n7ax s1n7ax merged commit f36a376 into main Jun 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace unit-style specs with end-to-end integration tests

1 participant