aboutsummaryrefslogtreecommitdiff
path: root/tests/test-slack-config-commands.el
Commit message (Collapse)AuthorAgeFilesLines
* test: make subr mocks variadic for native-comp, add arity meta-testCraig Jennings2026-06-211-2/+2
| | | | | | | | 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.
* test(slack-config): cover credentials, start/stop, reactions, notify, kill-allCraig Jennings2026-05-141-0/+251
Sibling `test-slack-config-reactions.el` covered the post-command-hook safety advice and the empty-buffer guard. This batch covers the rest: - `cj/slack--get-credential`: string secret, function secret, missing entry. - `cj/slack-start`: errors when token / cookie missing, registers + starts when both present. - `cj/slack-stop`: calls `slack-ws-close` + messages. - `cj/slack--reaction-candidates`: includes the (Other...) escape hatch. - `cj/slack-select-reaction`: emoji-name return for a curated pick, delegation to `slack-message-reaction-input` for Other. - `cj/slack-notify`: fires for IMs (not self), skips self-messages and non-IM non-mentions. - `cj/slack-test-notify`: fires the notify pipeline directly. - `cj/slack-mark-read-and-bury`: marks via the latest-ts + buries; outside slack, just buries. - `cj/slack-close-all-buffers`: closes buffers with `slack-current-buffer` local, leaves non-slack buffers alone. The close-all assertions check identity (the 2 slack buffers killed, the non-slack one preserved) instead of an exact total -- ERT-internal buffers leaking into `(buffer-list)` from earlier tests would otherwise inflate the count, and `cl-letf` over the `buffer-list` subr is unreliable under native-comp.