* silent.py tests for channels with mode +s appearing in LIST only when the user is connected to that channel
* Added assertions for exact content of lines with command RPL_LIST and checks for exact number of RPL_LIST replies
* fix linter errors
* only validate the first two parameters of RPL_LIST
* rename to secret channel test, add citation
* ignore ngircd pseudo-channel
* attempt to fix charybdis/solanum and ircu issues
* review fixes
Co-authored-by: William Rehwinkel <willrehwinkel@gmail.com>
* Add tests for WALLOPS
* Add perms on plexus/hybrid, skip on ergo, laxer matching for ircu2
* Fix again for irc2 and ircu2
* Servers MAY send WALLOPS only to operators.
* Add testWhoisNumerics, to check Modern exhaustively covers known numerics
* ircu2: Workaround for server name in testWhoisNumerics.
* testWhoisUser: Work around ircu2 restrictions on nick and username
* testWhoisNumerics: Add variant with authenticated user
* testWhoisNumerics: Add support for RPL_AWAY and RPL_WHOISSPECIAL
* testWhoisNumerics: Add variant where the WHOIS sender opers up first
* testWhoisUser: Also test with targets
* inspircd: Fix oper configuration
* Fix RPL_WHOISACTUALLY matching for Unreal.
* Add exhaustive testing of INVITE.
Only tested with Modern, because no one implements the RFC syntax.
* Mark testInviteUnopped* as strict tests.
* Exclude testInviteInviteOnlyModern on Plexus4
* Add test for ERR_USERONCHANNEL.
* Fix Hybrid support + enable it on CI
* Can't make Hybrid linking work on Github CI
because the reverse DNS is 'cpu-pool.com' for some reason, and I don't
want to hardcode it, so I give up.
* Add Anope controller, and use it with inspircd and unreal
* Build Anope before running it, duh
* Fix Anope build script
* Consistently use ascii casemapping instead of rfc1459
* Skip failing test with Anope
* Remove some 'Ergo' marks
These are not ergo-specific specs
* Make chathistory test less Ergo-specific
Although they can only run on Ergo for now, as Unreal has a couple
of minor bugs that prevents them from passing.
* Fix synchronization issue
(NickServ sets MODE +r, which is unexpected caught by the next
self.assertMessageMatch call)
A future commit will need Chary and its subclasses to use SASL,
but ircd-seven has a different config to use SASL.
And ircd-seven is not used anymore AFAICT, and won't be getting any updates,
so I don't want to bother.
It makes the inheritence less messy and avoids a mypy hack.
This will also allow configuring which service package an ircd controller
uses, instead of hardcoding it in the inheritence DAG.