Commit Graph

678 Commits

Author SHA1 Message Date
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
Valentin Lorentz ed2b75534e Exclude server/client tests when running selftests. 2021-07-04 17:06:37 +02:00
Valentin Lorentz 829cfbf404 README: Update introduction 2021-07-04 15:33:51 +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
Shivaram Lingamneni 0b17fc8460
Merge pull request #69 from ProgVal/ergo-extban
Enable mute extban tests on Ergo
2021-07-04 04:27:03 -04: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 9581ca0cf3 Skip services tests on Insp4.
Atheme doesn't support it yet.
2021-07-03 20:34:36 +02:00
Valentin Lorentz 8288e36469 Allow triggering crons manually 2021-07-03 19:35:36 +02:00
Valentin Lorentz 76eaef39b8 Bump stable versions 2021-07-03 16:38:39 +02:00
Valentin Lorentz f420b6cb0a Add version flavor to workflow name 2021-07-03 16:20:26 +02:00
Val Lorentz 26fe83d2c6
Add workflows triggered by crons to run on the latest development versions (#66) 2021-07-03 16:15:04 +02:00
Val Lorentz d7d6f0c521
Generate .github/workflows/ from a single compact file (#65)
It's easier to read and maintain
2021-07-03 14:50:00 +02:00
Valentin Lorentz e17234c911 Update READMEs for Unreal. 2021-07-03 11:58:10 +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 4be59a77ed .github/workflows/unrealircd.yml: Actually run the tests 2021-07-03 09:39:51 +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 5674bb030a uh, openssl doesn't like my echo when running on GH Actions 2021-07-02 21:53:44 +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 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