aboutsummaryrefslogtreecommitdiff
path: root/tests/test-prog-go-commands.el
Commit message (Collapse)AuthorAgeFilesLines
* test: make subr mocks variadic for native-comp, add arity meta-testCraig Jennings2026-06-211-4/+4
| | | | | | | | Re-enabling native-comp surfaced a suite-wide fragility. When a test redefines a C primitive (or a native-compiled function), native-comp routes native callers through a trampoline that calls the mock with the primitive's maximum arity. A fixed-arity mock narrower than the primitive then throws wrong-number-of-arguments, intermittently, as the eln-cache fills. I swept every arity-narrow subr mock to append &rest _ (188 sites, preserving any named args the body uses), and added tests/test-meta-subr-mock-arity.el, which fails make test on any subr mock too narrow for the primitive's arity. The rule isn't "never mock a subr". The suite mocks message and completing-read freely. It's "a subr mock must accept the primitive's arity." Background, the three failure modes, and the research are in docs/native-comp-subr-mocking.org.
* fix(prog): keep electric-pair and line-number setup buffer-localCraig Jennings2026-06-151-5/+5
| | | | | | - Go/C/shell setup hooks called the global electric-pair-mode, so one prog buffer turned pairing on in org and text everywhere. Use electric-pair-local-mode. - prog-general set display-line-numbers-type inside the hook, after the mode turned on, so the first prog buffer of a session got absolute numbers. Set the type and width at top level instead. - Updated the go/c tests to stub the local mode.
* test(prog-go): cover go-setup, staticcheck, debug, keybindingsCraig Jennings2026-05-141-0/+144
Same shape as the prog-python and prog-webdev setup tests: company-mode + electric-pair-mode + LSP gating + buffer-local preferences. New tests cover: - `cj/go-setup`: tab-width 4, standard-indent 4, indent-tabs-mode t (Go convention); company-mode + electric-pair-mode both fire; LSP starts when gopls is on PATH, skips otherwise. - `cj/go-staticcheck`: runs `compile` with `./...` when staticcheck is on disk; messages and skips compile otherwise. - `cj/go-debug`: starts `gud-gdb` with `dlv debug` when delve is on PATH; messages otherwise. - `cj/go-mode-keybindings`: wires `C-; f` -> gofmt, `S-<f5>` -> staticcheck, `S-<f6>` -> debug. External modes and process primitives are stubbed.