Skip to content

test(integration): assert operator-permission denial (ERR_CHANOPRIVSN…#7

Merged
vjan-nie merged 1 commit into
mainfrom
test/operator-denial
Jul 8, 2026
Merged

test(integration): assert operator-permission denial (ERR_CHANOPRIVSN…#7
vjan-nie merged 1 commit into
mainfrom
test/operator-denial

Conversation

@vjan-nie

@vjan-nie vjan-nie commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

What

Adds 6 characterization tests for channel-operator permission denial
(ERR_CHANOPRIVSNEEDED / 482): KICK, MODE(+t), TOPIC(+t), INVITE(+i) denied for
a non-op member; plus the other side — TOPIC/INVITE allowed when the channel
isn't +t/+i. Closes the sheet's scored operator section (0–5) coverage gap.

Why it's safe

Pure coverage — no production change (audit found the denials already correct).
Diff touches only tests/test_integration.cpp and tests/COVERAGE.md (row E 🔴→✅).

Verification

  • suite 145/145; the 6 new tests 60/60 under --gtest_repeat=10 (no flakiness)
  • make mandatory / full: clean, -Wall -Wextra -Werror -std=c++98
  • adversarial review: APPROVE (independently re-ran; confirmed 482-by-permission,
    not 442-in-disguise; refactor(server): stop branching on errno after accept/recv/send #5 can't false-green even if the gate broke)

…EEDED)

Covers the sheet's scored operator section: a non-operator member is denied
KICK / MODE / TOPIC(+t) / INVITE(+i) with 482, and — the other side — may
still set TOPIC / INVITE when the channel isn't +t / +i. Pure coverage: the
denials already worked (audit found no bug); these lock the behavior in.
COVERAGE.md row E: red -> green. Suite 145/145.
@vjan-nie
vjan-nie merged commit 0aeb90c into main Jul 8, 2026
2 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.

1 participant