8ddf39bd91
Deduplicate Insp/Unreal/Anope builds ( #77 )
2021-07-07 21:05:14 +02:00
9b18d68707
Merge pull request #76 from ergochat/master
...
update draft/register -> draft/account-registration
2021-07-07 13:58:40 -04:00
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
a29b7c5631
update draft/register -> draft/account-registration
2021-07-07 09:04:22 -04:00
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
54a911c2f5
Revert "Kill controlled processes immediately"
...
This reverts commit e8dde0e9892b0cf7bad6e0e1c16d5331a7c6a7ec.
Actually, this breaks Limnoria's STS tests, I need to investigate this
later.
2021-07-07 12:44:10 +02:00
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
08a74096d0
test_cap: Fix random failure.
2021-07-04 22:44:18 +02:00
450a413036
Fix random failure (again)
2021-07-04 20:11:35 +02:00
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
92a73ad4a5
Use pytest parametrization instead of ad-hoc method generation
2021-07-04 17:06:37 +02:00
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
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
61974e6d0c
Enable mute extban tests on Ergo
2021-07-04 09:55:46 +02:00
4932d410e2
fix chathistory spec violation in INVALID_TARGET
...
https://github.com/ergochat/ergo/issues/1731
2021-07-04 09:51:04 +02:00
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
63f4130ab5
Unreal: Add support for Atheme
2021-07-03 11:15:34 +02:00
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
d74b0e74c6
Merge pull request #62 from ProgVal/unreal
...
Add Unreal controller
2021-07-03 09:54:22 +02:00
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
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
3fafc76baa
fix comment
2021-07-02 22:25:45 +02:00
42225a68b7
test_buffering: improve log readability
2021-07-02 22:25:07 +02:00
a1040a4553
Minor bug fixes
2021-07-02 21:48:12 +02:00
f83f2a4edf
Make all tests pass with Unreal (minus service tests)
2021-07-02 21:41:35 +02:00
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
2972706ca6
Add a 'services' mark, to allow disabling tests that depend on them.
2021-07-01 17:17:59 +02:00
26a0245a6a
Add tests for the draft bot mode.
2021-07-01 16:44:48 +02:00
cccb937068
Merge pull request #59 from ergochat/master
...
merge in a new ergo regression test
2021-06-28 01:48:18 -04:00
50cd718871
explicitly request sasl cap in new test
2021-06-28 00:23:26 -04:00
342ffcbdbe
enable run_services for new test
2021-06-28 00:18:39 -04:00
3d2399f62e
Run Atheme with Charybdis, to enable tests depending on SASL
2021-06-27 21:19:34 +02:00
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
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
7ee3c562d1
Run Atheme with InspIRCd, to enable tests depending on SASL
2021-06-27 16:45:43 +02:00
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
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
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
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
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
65b479c609
add regression test for ergochat/ergo#1696
2021-06-27 04:41:30 -04:00
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
eef07da56a
cases: Stop ignoring the 'msg' parameter in assert* methods
2021-06-27 00:23:21 +02:00
60e6c013b2
Fix mypy error
2021-06-26 22:11:47 +02:00
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
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
50b36f281d
ergo: remove additional-nick-limit
2021-06-18 18:43:45 -04:00
7be29ad801
rename Oragono to Ergo
2021-05-27 00:07:32 -04:00
6bdfdf58b2
first pass at renaming oragono to ergo
2021-05-26 16:02:22 -04:00
db0c64fa30
remove draft/resume-0.5 tests
2021-05-19 08:49:49 +02:00