Commit Graph

502 Commits

Author SHA1 Message Date
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 cd58d14608 README.md: fix typos 2021-07-01 17:33:58 +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
Valentin Lorentz 98824a4abd Move the complex list of selectors from .github/workflows/* to the Makefile 2021-06-28 20:43:52 +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
Shivaram Lingamneni e340f86468
Merge pull request #19 from ergochat/issue1696.1
regression test for ergochat/ergo#1696
2021-06-27 16:38:02 -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
Valentin Lorentz 829edddeb8 Remove some Ergo-specific assumptions.
We need to remove them before we can start running these tests
on Inspircd.
2021-06-27 14:38:54 +02:00
Shivaram Lingamneni 65b479c609 add regression test for ergochat/ergo#1696 2021-06-27 04:41:30 -04:00
Valentin Lorentz 6458586179 Make find_hostname_and_port its own function
So it can be used to generate multiple ports, which will be needed
to link services.
2021-06-27 00:27:48 +02:00
Valentin Lorentz eef07da56a cases: Stop ignoring the 'msg' parameter in assert* methods 2021-06-27 00:23:21 +02:00
Valentin Lorentz 60e6c013b2 Fix mypy error 2021-06-26 22:11:47 +02:00
Valentin Lorentz 14ee59ca84 mypy: silence import warnings 2021-06-26 20:34:01 +02:00
Valentin Lorentz a29e46c17a Add test for account tag on INVITE messages.
This will catch issues like https://github.com/solanum-ircd/solanum/issues/166
(when we have registration support for solanum)
2021-06-26 18:44:55 +02:00
Valentin Lorentz 6f68a0d601 Hide irrelevant frames on pytest failures
It makes failures easier to read, by showing only the relevant tests
instead of the helper functions.

https://doc.pytest.org/en/latest/example/simple.html#writing-well-integrated-assertion-helpers
2021-06-26 18:37:44 +02:00
Shivaram Lingamneni 50b36f281d ergo: remove additional-nick-limit 2021-06-18 18:43:45 -04:00
Shivaram Lingamneni a7d7436929
Merge pull request #54 from ergochat/ergo
rename Oragono to Ergo
2021-05-28 17:38:56 -04:00
Shivaram Lingamneni c3b7663e06 fix ergochat/ergo repository name 2021-05-27 10:17:28 -04:00
Shivaram Lingamneni 7be29ad801 rename Oragono to Ergo 2021-05-27 00:07:32 -04:00
Shivaram Lingamneni 6bdfdf58b2 first pass at renaming oragono to ergo 2021-05-26 16:02:22 -04:00
Shivaram Lingamneni db0c64fa30 remove draft/resume-0.5 tests 2021-05-19 08:49:49 +02:00
Shivaram Lingamneni 729b7cb8d8 regression test for oragono/oragono#1642 2021-05-05 22:08:22 +02:00
Valentin Lorentz 322cb7ae26 Skip testQuitErrors on charybdis, it's also very flaky 2021-04-18 09:21:50 +02:00
Valentin Lorentz 277f383e02 Skip testQuitErrors on ircd-seven, it's very flaky 2021-04-18 09:21:50 +02:00
Valentin Lorentz cfe0b0d3dd Add test for message matching commands
+ fix a bug in tested code
+ change conftest.py to allow missing --controller arg (which is
  an UI improvement, as it allows using 'pytest --help' now)
2021-04-18 09:21:27 +02:00
Shivaram Lingamneni 498b67ae96 Remove CHATHISTORY * and znc.in/playback *self
CHATHISTORY * is being removed here:

https://github.com/ircv3/ircv3-specifications/pull/450

znc.in/playback *self was an Oragono extension that didn't catch on:

https://github.com/oragono/oragono/issues/1205
2021-04-17 23:26:06 +02:00
Valentin Lorentz 1846794466 Remove warning about Sopel
https://github.com/sopel-irc/sopel/issues/946 seems to be fixed
2021-04-17 22:28:58 +02:00
Valentin Lorentz 5e622a34d3 test_buffering: add support for ERR_INPUTTOOLONG 2021-03-05 20:29:44 +01:00
Valentin Lorentz 4d2976c7e6 Use TCP_NODELAY on the socket, it may be better to make test_buffering relevant 2021-03-05 20:21:48 +01:00
Valentin Lorentz c58c238875 Add a set of buffering/truncation test cases.
Also checks for UTF8ONLY
2021-03-05 19:30:30 +01:00
Shivaram Lingamneni a0bceabf80 fix the build by upgrading go 2021-03-05 19:30:15 +01:00
Shivaram Lingamneni 100b53fb18 test for Oragono disallowing truncation 2021-03-05 19:30:15 +01:00
Valentin Lorentz 6d74a06327 always negotiate batch with labeled-response, it's required by the spec 2021-03-04 17:38:50 +01:00
Shivaram Lingamneni 5b82b9b3d2
Merge pull request #46 from slingamn/inputtoolong.1
allow ERR_INPUTTOOLONG if a PRIVMSG cannot be relayed
2021-03-03 17:11:36 -05:00
Shivaram Lingamneni 0f2445c1eb review fixes 2021-03-03 14:37:03 -05:00
Shivaram Lingamneni 74f40ad23d allow ERR_INPUTTOOLONG if a PRIVMSG cannot be relayed 2021-03-03 13:57:11 -05:00
Valentin Lorentz 1e0de7aefb assertMessageMatch: Add pattern-matching on tags, and start using it. 2021-03-01 21:59:50 +01:00
Valentin Lorentz 3c2db1531a register: Update error name to COMPLETE_CONNECTION_REQUIRED to follow the spec 2021-02-28 23:34:23 +01:00
Valentin Lorentz 3f231403ba Use assertMessageMatch whenever possible, and generalize listMatch to accept regexps
it's stricter this way + hopefully more readable and better error msgs
2021-02-28 23:22:31 +01:00
Valentin Lorentz e012c5248b Move list_match to its own module, and prepare generalizing AnyStr 2021-02-28 23:22:31 +01:00