Commit Graph

627 Commits

Author SHA1 Message Date
Valentin Lorentz 627f0b6415 Try fixing flakyness of Plexus4 and others 2022-05-01 11:56:09 +02:00
Val Lorentz 641bea5f0a
bot_mode: Make draft/ prefix optional (#167)
The spec is ratified.
2022-04-28 20:38:49 +02:00
Valentin Lorentz 8c73ac2b75 patma: Add support for operators in keys
Will be used to match either '@bot' or '@draft/bot'.
2022-04-28 20:12:18 +02:00
Valentin Lorentz 011bdff7e4 Fix ELIST detection 2022-04-26 22:22:36 +02:00
Shivaram Lingamneni c0af9bc0a8 add a regression test for ergochat/ergo#1928
LIST on a nonexistent channel does not get an error response.
2022-04-26 21:46:06 +02:00
Val Lorentz a15025a276
Add tests for JOIN with some invalid channels in the target param (#163) 2022-04-16 12:15:56 +02:00
Val Lorentz a923353ec4
Add test for ban exception mode (+e) (#162) 2022-04-16 08:12:27 +02:00
Val Lorentz 45dd42e682
Replace incorrect uses of NotImplementedByController exception (#161) 2022-04-15 16:01:36 +02:00
Val Lorentz 5122c04826
Add tests for the two invite lists (#149)
* Add tests for the two invite lists

* Add workaround for Hybrid

* Skip testInviteList on ircu2

* Fix merge
2022-04-14 21:28:12 +02:00
Val Lorentz 2cd5fc1dca
dashboard: Add a page for each implementation (#159) 2022-04-14 19:56:06 +02:00
Val Lorentz 778510e021 Bump Unreal to 6.0.3 and remove ELIST workarounds (#158)
Workarounds that are only still needed for Unreal 5 and and Hybrid/Plexus
2022-04-13 20:54:11 +02:00
Val Lorentz 1e01cb3286
Fix CI (#157)
Broken by recent merges
2022-04-13 19:57:16 +02:00
Val Lorentz 83867dad32
testWrongPassword: Add stricter check of the reply's command (#144) 2022-04-13 18:59:34 +02:00
Val Lorentz a39ce7f19b
Merge branch 'master' into elist 2022-04-13 18:57:46 +02:00
Val Lorentz 363b62cc80
Add tests for LINKS (#147) 2022-04-13 18:56:29 +02:00
Val Lorentz 6539ed881a
Add tests for NAMES (#145) 2022-04-13 18:54:42 +02:00
Val Lorentz 3ab31ca4de
Add tests for WHOWAS as specified in modern-irc (#142)
https://github.com/ircdocs/modern-irc/pull/170
2022-04-13 18:52:12 +02:00
Valentin Lorentz 82928bc6fc Sort results 2022-04-12 22:53:50 +02:00
Valentin Lorentz 47db85f026 Fix typo 2022-04-12 22:53:02 +02:00
Val Lorentz 2bc68a2208
Use xfail instead of deselection for known failures (#155) 2022-04-12 22:36:28 +02:00
Valentin Lorentz 10b6f8d6da Remove useless 'OptionalityHelper'. 2022-04-12 18:48:03 +02:00
Valentin Lorentz fc4e31e099 dashboard: Omit irrelevant tests from specific tables 2022-04-12 18:33:52 +02:00
Valentin Lorentz d90264ca9f dashboard: fix pagination 2022-04-12 18:33:02 +02:00
Valentin Lorentz 09c31f428a Format the index as columns when possible
To avoid wasting space.
2022-04-10 15:55:53 +02:00
Valentin Lorentz e92aee012b Fix CI 2022-04-10 15:55:53 +02:00
Valentin Lorentz 358b6c2213 dashboard: Show module and class docstrings 2022-04-10 15:55:27 +02:00
Valentin Lorentz a3f0d42248 Remove Ergo-specific mark on channel-rename 2022-04-10 15:55:27 +02:00
Valentin Lorentz 397509a282 Move CAP tests to the right module 2022-04-10 15:55:27 +02:00
Valentin Lorentz 107af942e9 Add top-level docstrings to all modules
Will be used on the dashboard index in a future commit
2022-04-10 15:55:27 +02:00
Val Lorentz d24f0b4f12
Add support for Nefarious (#151) 2022-04-10 11:37:35 +02:00
Val Lorentz edf3e5904b
Produce a dashboard website after running tests (#152) 2022-04-10 10:40:39 +02:00
Shivaram Lingamneni 3083aeeb24
fix processing of multiline CAP LS 302 output (#153)
connectClient implicitly assumed that the CAP LS 302 output would be
a single registration message. This caused incorrect skipping of some tests
with `skip_if_cap_nak=True`, for example
RegisterEmailVerifiedTestCase.testAfterConnect on Ergo.

Technically there is no need for connectClient to send CAP LS before CAP REQ;
however, this provides additional test coverage for the syntactic correctness
of the CAP LS output in multiple server configurations, so we might as well
keep it.
2022-04-10 08:39:30 +02:00
Val Lorentz 9a19416731
INVITE: Fix misunderstanding of the RFCs (#148)
They make the first argument of numerics implicit, so there is actually
no difference with Modern
2022-03-31 15:53:51 +02:00
Valentin Lorentz af001fad2e Add tests for ELIST 2022-03-27 17:08:46 +02:00
Valentin Lorentz a9a7a2a187 list: Modernize tests a bit 2022-03-27 17:08:40 +02:00
Valentin Lorentz 72a12ff5ce Add support for 'faketime', to avoid long sleeps in upcoming ELIST tests 2022-03-27 17:08:40 +02:00
Valentin Lorentz 3f483243d9 Minor readability improvement 2022-03-27 17:07:29 +02:00
Val Lorentz 491f92ca60
Use proot with unreal, to make it parallelizable (#146) 2022-03-23 21:26:41 +01:00
Valentin Lorentz 7608ea5145 Fix flaky LUSERS tests on Unreal 2022-03-20 22:07:07 +01:00
Val Lorentz 256a8641ec
Add test for multi-target WHOWAS (#141)
* Add test for multi-target WHOWAS

I don't think anyone implements it; let's see

* Skip on Bahamut
2022-03-20 11:36:51 +01:00
Val Lorentz f606c075f7
Add tests for error cases of WHOWAS. (#139) 2022-03-19 22:12:25 +01:00
Val Lorentz 7b38c2be8a
Add tests for WHOWAS. (#138) 2022-03-19 20:20:50 +01:00
Valentin Lorentz c47b057546 Fix inconsistent arg order 2022-03-19 16:53:14 +01:00
Valentin Lorentz 2af62461bc Add test for mismatch on both command and param 2022-03-19 16:34:39 +01:00
Val Lorentz 69c5dca4b9
Add client tests for SASL with non-ASCII passwords (#137) 2022-03-19 16:09:27 +01:00
Val Lorentz ee8f60d6c2
Add test for ISUPPORT PREFIX. (#128) 2022-03-09 20:01:34 +01:00
Valentin Lorentz 8356ace014 Shorten ListRemainder's repr() when possible. 2022-03-05 10:12:09 +01:00
Valentin Lorentz 2a4e71eccd patma: Fix inconsistencies between ANYSTR and AnyOptStr 2022-03-05 10:12:09 +01:00
Valentin Lorentz 66c457f6ce patma: Fix repr() inconsistencies and add tests 2022-03-05 10:12:09 +01:00
Shivaram Lingamneni 7e112359a2
secret channel test (#135)
* 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>
2022-03-04 21:58:05 +01:00
Val Lorentz da005d7d24
Add tests for WHOX. (#131) 2022-02-21 21:43:22 +01:00
Valentin Lorentz 79c65cf248 Generalize ANYSTR to ListRemainder
So it can match specific strings and have a minimum length.
This can be used to match ISUPPORT-like messages.
2022-02-19 11:55:03 +01:00
Valentin Lorentz d34175d6a8 Fix message matching on empty prefix/params/tags/... 2022-02-19 11:54:44 +01:00
Val Lorentz 1371979ccd
lusers: Add a variant that ircu2 and snircd can pass + add stricter tests (#126) 2022-01-15 00:19:58 +01:00
Val Lorentz 88a8f8ad8d
Add tests for INFO (#121)
* Add tests for INFO

* Workaround remote INFO being oper-only on some ircds

* Skip testInfoNosuchserver on Ergo

* info: Mark tests with target as deprecated.
2022-01-10 23:55:42 +01:00
Val Lorentz 255ef1e469
Add tests for the HELP and HELPOP commands (#117)
* Add tests for the HELP and HELPOP commands

* Make testHelpUnknownSubject accept lowercase

* Add support for Hybrid and Plexus4's normalization
2022-01-10 23:55:24 +01:00
Shivaram Lingamneni cac4428cbd
regression test for ergochat/ergo#1898 (#130) 2022-01-10 23:22:46 +01:00
Shivaram Lingamneni 8240cd95cf
regression test for ergochat/ergo#1876 (#125) 2022-01-10 21:35:17 +01:00
Val Lorentz 6c393c4e00
Add tests for WHO (#122)
* Add tests for WHO

* Make the mask in RPL_ENDOFWHO case-insensitive + skip test when there is a space in the mask

* Remove 'o' flag of WHO, it's not consistently implemented

* Skip matches on username and realname (for now?)

* Add workarounds from irc2 and ircu2.

* Add test for 'WHO *'.

* Exclude mask tests in test_who.py for Bahamut
2021-12-23 17:15:10 +01:00
Val Lorentz 05e78802ca
Add support for Unreal 6 (#123)
List of issues we had:
 
* echo wallops missing `!user@host` [wallops: Send a full NUH as prefix in echoed WALLOPS unrealircd/unrealircd#186](https://github.com/unrealircd/unrealircd/pull/186)
* RPL_MONONLINE is (re)sent on nick case change - https://bugs.unrealircd.org/view.php?id=6013
* MONITOR accepts masks - https://bugs.unrealircd.org/view.php?id=6014
* KICK doesn't support multiple channels anymore, despite unchanged TARGMAX - https://bugs.unrealircd.org/view.php?id=6015
2021-12-19 00:45:51 +01:00
Valentin Lorentz 16533de157 Fix invalid nick 2021-12-10 17:14:26 +01:00
Shivaram Lingamneni d29c0035e6 test that ERR_UNKNOWNCOMMAND is labeled
If an invalid command is sent with a valid label, it should receive
ERR_UNKNOWNCOMMAND with a label (comparable to other error responses).
2021-12-03 10:15:32 +01:00
Valentin Lorentz 18befc9e96 inspircd: Increase limit of connections on insp4
There used to be no limit by default, but 460220fbf5 set it to 3.
2021-11-25 20:32:14 +01:00
Val Lorentz 2684e7edb7
Enable services tests for hybrid and plexus on the CI (#120)
* Enable services tests for hybrid and plexus on the CI

* Workaround the broken Github CI's host config
2021-11-20 12:15:07 +01:00
Valentin Lorentz b895539bdd Update links to WHOIS spec. 2021-11-12 22:34:58 +01:00
Valentin Lorentz 39587c3c49 Add testBanList 2021-11-06 09:49:12 +01:00
Valentin Lorentz 3b96b5992c sts: Don't send the port on secure connections 2021-11-06 09:48:05 +01:00
Val Lorentz 5e4ae7c999
Add tests for WALLOPS (#109)
* 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.
2021-09-19 15:33:31 +02:00
Valentin Lorentz 29bfb064e9 rmeove dead code 2021-09-11 00:32:10 +02:00
Shivaram Lingamneni 33f0702c26 fix some tests not being discovered due to their class names
Follow up from #112
2021-09-10 08:46:25 +02:00
Valentin Lorentz 3630a25c11 Add ngircd controller 2021-09-05 17:45:09 +02:00
Val Lorentz 50b253fda8
Fix some mode tests not being collected because of their class name (#112)
* Fix some mode tests not being collected because of their class name

* testBan: Remove unnecessary dependency on echo-message (fixes support for servers without CAP LS)
2021-09-04 21:07:17 +02:00
Val Lorentz 5e33a82af6
Split irctest/server_tests/mode.py into a subpackage
It was getting too big
2021-09-04 20:26:14 +02:00
Valentin Lorentz 8bc9c5b057 Exclude ircu2 and fill in the spec 2021-09-04 20:18:53 +02:00
Valentin Lorentz e03bb4734d Add test testEmptyRealname. 2021-09-04 20:18:53 +02:00
Valentin Lorentz cc3d70c7d3 testQuitErrors: Make it slightly less flaky with solanum? 2021-09-04 20:02:49 +02:00
Valentin Lorentz ff0d795485 Add TARGMAX test 2021-09-04 20:02:20 +02:00
Val Lorentz 23c7c1642b
exhaustive testing of Modern's WHOIS spec (#104)
* 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.
2021-08-29 16:38:38 +02:00
Valentin Lorentz 03a401f911 Add tests for PING and PONG 2021-08-28 18:54:35 +02:00
Valentin Lorentz 15d21f4ee4 Exhaustively test AWAY. 2021-08-28 18:54:13 +02:00
Valentin Lorentz 6106fc3b98 invite & kick: update links to Modern 2021-08-26 21:15:57 +02:00
Val Lorentz 44ce324c7c
kick: Exhaustive implementation of the Modern spec + honor TARGMAX in testDoubleKickMessages (#100) 2021-08-26 21:05:23 +02:00
Val Lorentz a9e6605640
Add exhaustive testing of INVITE. (#87)
* 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.
2021-08-26 21:04:45 +02:00
Shivaram Lingamneni 7e2940d820 add advertise-scram in ergo controller 2021-08-25 18:37:05 -04:00
Valentin Lorentz de66606b4f Fix excessive timeout 2021-08-13 08:58:38 +02:00
Valentin Lorentz 57a08a0a57 Deselect testKeyValidation[empty] for ircu2 2021-08-11 22:46:54 +02:00
Valentin Lorentz 3cca1ce29e testKeyValidation: Add checks for long and empty keys 2021-08-11 22:46:54 +02:00
Valentin Lorentz 3fb8cbc3ff testKeyValidation: Check format of ERR_INVALIDMODEPARAM. 2021-08-11 22:46:54 +02:00
Valentin Lorentz 6641b3245f Split user_commands.py by command
For consistency with channel commands.
2021-08-11 20:46:10 +02:00
Valentin Lorentz 7a8acb44cf Split channel_operations.py by command.
It was messy.
2021-08-11 20:46:10 +02:00
Valentin Lorentz 9b02222c4c Remove 'test_' prefix for all file names.
It's redundant.
2021-08-11 19:34:33 +02:00
Valentin Lorentz fe977cf361 Try to make bahamut tests less flaky 2021-08-11 18:39:29 +02:00
Valentin Lorentz c9911da9b8 testDoubleKickMessages: Also test with a single chan 2021-08-11 18:33:05 +02:00
Val Lorentz 56906302b7
Add ircu2/snircd/irc2 controllers + fix tests to support them (#89) 2021-08-10 18:42:37 +02:00
Val Lorentz 0cf9c37950
Merge pull request #93 from ProgVal/bahamut
Add Bahamut
2021-08-10 18:29:23 +02:00
Valentin Lorentz 42e10c3848 Add an 'external_server' controller 2021-08-10 18:25:35 +02:00
Valentin Lorentz 8744a49073 Make tests pass + update testKeyValidation to match the Modern PR 2021-08-09 23:43:30 +02:00
Valentin Lorentz d130ae89f2 testNickReleaseUnregistered: I don't think RFC1459 requires QUIT to be accepted this early. 2021-08-09 23:43:30 +02:00
Valentin Lorentz dfaec16c47 Some fixes for Bahamut 2021-08-09 23:43:30 +02:00
Valentin Lorentz 42582f430a bahamut wip 2021-08-09 23:41:46 +02:00
Valentin Lorentz c37ed0f218 Unreal: Fix controller name. 2021-08-09 23:41:37 +02:00
Valentin Lorentz 299c915505 'batch' is required for 'labeled-response' to be active according to the spec 2021-08-09 23:41:37 +02:00
Shivaram Lingamneni 9de76b6063
basic server test for SCRAM-SHA-256 (#84) 2021-08-08 20:47:42 +02:00
Val Lorentz ec386a1fc9
Add Plexus4 (#90) 2021-08-08 20:46:33 +02:00
Valentin Lorentz 93a989b746 Test NAMES on invalid/nonexisting channel returns RPL_ENDOFNAMES. 2021-08-08 10:33:28 +02:00
Shivaram Lingamneni 2343930419
Merge pull request #86 from slingamn/hostname_lookup
disable hostname lookup in ergo controller
2021-08-03 17:43:37 -04:00
Shivaram Lingamneni 3289c64199 disable hostname lookup in ergo controller 2021-08-03 16:49:35 -04:00
Shivaram Lingamneni f63de0548a reenable some account-registration tests for Ergo
These were incorrectly being skipped. If `CAP LS 302` precedes
`requestCapabilities`, `requestCapabilities` sees the LS response
instead of the ACK it expects. Then it assumes that the request was
NAK'ed and skips the test.
2021-07-30 19:10:48 +02:00
Valentin Lorentz 59c7252da1 testUnsetTopicResponses: Assert reply to clearing topic is a TOPIC command. 2021-07-11 17:23:00 +02:00
Valentin Lorentz 4fb7ebcd2c testUnsetTopicResponses: Also check the TOPIC command is forwarded when unsetting the topic 2021-07-11 17:13:31 +02:00
Val Lorentz 77272f83fb
Fix Hybrid support + enable it on CI (#82)
* 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.
2021-07-10 16:33:32 +02:00
Val Lorentz 8ddf39bd91
Deduplicate Insp/Unreal/Anope builds (#77) 2021-07-07 21:05:14 +02:00
Shivaram Lingamneni 9b18d68707
Merge pull request #76 from ergochat/master
update draft/register -> draft/account-registration
2021-07-07 13:58:40 -04:00
Val Lorentz a637ae3927
Add Anope controller, and use it with inspircd and unreal (#75)
* 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
2021-07-07 15:06:00 +02:00
Shivaram Lingamneni a29b7c5631 update draft/register -> draft/account-registration 2021-07-07 09:04:22 -04:00
Valentin Lorentz 7e024b9ead Add CLI option --services-controller to allow alternatives to Atheme (none for now)
+ fix some issues with killing services processes
2021-07-07 14:02:47 +02:00
Valentin Lorentz 54a911c2f5 Revert "Kill controlled processes immediately"
This reverts commit e8dde0e989.

Actually, this breaks Limnoria's STS tests, I need to investigate this
later.
2021-07-07 12:44:10 +02:00
Valentin Lorentz e8dde0e989 Kill controlled processes immediately
Also ensures services are always stopped (so far, they were not if
they ignored SIGTERM but the ircd honors SIGTERM)
2021-07-07 12:13:40 +02:00
Valentin Lorentz 08a74096d0 test_cap: Fix random failure. 2021-07-04 22:44:18 +02:00
Valentin Lorentz 450a413036 Fix random failure (again) 2021-07-04 20:11:35 +02:00
Valentin Lorentz 15f9875ae5 chathistory: Parametrize tests by subcommand
This means that:

* if one subcommand implementation is buggy, other subcommands are still tested and
  have a chance to pass
* we can exclude known-buggy subcommands from the Makefile
* when a test failure happens, we get much shorter logs (only logs for
  that subcommand's I/O)
2021-07-04 17:31:18 +02:00
Valentin Lorentz 92a73ad4a5 Use pytest parametrization instead of ad-hoc method generation 2021-07-04 17:06:37 +02:00
Valentin Lorentz 0177c369dd Switch from unittest-style to pytest-style test collection
I was to use parametrization in a future test, but pytest doesn't
support it on unittest-style tests.
2021-07-04 17:06:37 +02:00
Val Lorentz 06f053bf61
Remove some Ergo marks (#70)
* 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)
2021-07-04 15:04:48 +02:00
Valentin Lorentz 61974e6d0c Enable mute extban tests on Ergo 2021-07-04 09:55:46 +02:00
Shivaram Lingamneni 4932d410e2 fix chathistory spec violation in INVALID_TARGET
https://github.com/ergochat/ergo/issues/1731
2021-07-04 09:51:04 +02:00
Valentin Lorentz fc07fa7d96 Don't check for NickServ availability multiple times per test
It's a waste of time.
2021-07-03 11:48:25 +02:00
Valentin Lorentz 63f4130ab5 Unreal: Add support for Atheme 2021-07-03 11:15:34 +02:00
Valentin Lorentz 4271d5d986 test_bot_mode: Fix racey failures
cause by the sent message being processed after the target
user's recv
2021-07-03 09:59:31 +02:00
Val Lorentz d74b0e74c6
Merge pull request #62 from ProgVal/unreal
Add Unreal controller
2021-07-03 09:54:22 +02:00
Valentin Lorentz 83152bdc24 unreal: deselect tests depending on +draft/react
Unreal won't support them 1st-party:
https://github.com/unrealircd/unrealircd/pull/149
2021-07-03 09:40:49 +02:00
Valentin Lorentz c4d19d44e8 test_labeled_responses: Actually check 'label' tags aren't relayed
The existing assertion's comment said it checked the label wasn't
relayed, but the code actually let any tag through.
2021-07-03 09:31:51 +02:00
Valentin Lorentz 3fafc76baa fix comment 2021-07-02 22:25:45 +02:00
Valentin Lorentz 42225a68b7 test_buffering: improve log readability 2021-07-02 22:25:07 +02:00
Valentin Lorentz a1040a4553 Minor bug fixes 2021-07-02 21:48:12 +02:00
Valentin Lorentz f83f2a4edf Make all tests pass with Unreal (minus service tests) 2021-07-02 21:41:35 +02:00
Valentin Lorentz 2d2e788275 Start adding support for Unreal
Not all tests pass yet, Unreal uses the protocol in ways we did not anticipate.
2021-07-01 23:10:37 +02:00
Valentin Lorentz 2972706ca6 Add a 'services' mark, to allow disabling tests that depend on them. 2021-07-01 17:17:59 +02:00
Valentin Lorentz 26a0245a6a Add tests for the draft bot mode. 2021-07-01 16:44:48 +02:00
Shivaram Lingamneni cccb937068
Merge pull request #59 from ergochat/master
merge in a new ergo regression test
2021-06-28 01:48:18 -04:00
Shivaram Lingamneni 50cd718871 explicitly request sasl cap in new test 2021-06-28 00:23:26 -04:00
Shivaram Lingamneni 342ffcbdbe enable run_services for new test 2021-06-28 00:18:39 -04:00
Valentin Lorentz 3d2399f62e Run Atheme with Charybdis, to enable tests depending on SASL 2021-06-27 21:19:34 +02:00
Valentin Lorentz 76db5758e9 Remove ircd-seven
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.
2021-06-27 21:19:34 +02:00
Valentin Lorentz c5037e8ec9 Make AthemeController a collaborator instead of a mixin
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.
2021-06-27 16:45:43 +02:00
Valentin Lorentz 7ee3c562d1 Run Atheme with InspIRCd, to enable tests depending on SASL 2021-06-27 16:45:43 +02:00
Valentin Lorentz 48eeeb7312 Always request the 'sasl' cap before using AUTHENTICATE
InspIRCd ignores AUTHENTICATE when the cap is not negotiated.
2021-06-27 14:38:54 +02:00
Valentin Lorentz 7ac4d7f80f Use `getRegistrationMessage()` when relevant
It's an alias for
`filter_pred=lambda m: m.command != "NOTICE", synchronize=False`
2021-06-27 14:38:54 +02:00
Valentin Lorentz b3d775f0d6 getMessages: Raise an error when forgetting to synchronize=False
Instead of hanging forever.

Hopefully there shouldn't be any false positive.
2021-06-27 14:38:54 +02:00
Valentin Lorentz cc8b9748a7 Always request the 'sasl' cap before using AUTHENTICATE
It's required by InspIRCd.

This commit also adds a check so we don't forget it when testing
locally only with Ergo.
2021-06-27 14:38:54 +02:00