61 Commits

Author SHA1 Message Date
d090f5455e Update Sable and enable more test (#293) 2024-10-28 18:15:10 +01:00
df626de5ed Enable WHOWAS and USERHOST tests on Sable (#273)
It now implements these commands.
2024-05-04 16:15:54 +02:00
2ae612c68f Makefile: Add selectors in preparation for Sable adding message-tags support (#264)
Some tests Sable would fail are currently disabled only because Sable does not
support message-tags; but it probably will in the near future.
2024-04-13 14:41:45 +02:00
d88349a403 Sable: Run services tests (#234)
Also add per-test timeout so I could debug why Sable's services test hang
2023-09-24 15:33:36 +02:00
558add5229 whox: Add test for individual chars (#227)
It makes it easier to debug missing params
2023-09-22 22:04:27 +02:00
805635c839 Add Sable (#229)
* [WIP] Add support for Sable

* tweak sable controller

* echo_message: Add missing synchronization for Sable

* update sable

* whois: Simplify test

* WHO: Remove test for oper flag from testWhoChan

So it won't fail on Sable, which hides oper status

* WHO: Skip/xfail tests for Sable as needed

* Skip NakWhole when multi-prefix is not supported

* [WIP] Run Sable on CI

* working-directory is not setable on actions

* this isn't ergo

* this really isn't ergo

* minimize rust install and cache cargo deps

* Need to specify packages to install...

* Phony target

* Give up on 'cargo install', it seems to ignore the cache

* try again to cache the target dir

* This isn't Solanum

* Comment out BaseServicesController

* Parallelize Sable tests

* target is relative...

* sigh

* Fix prefix

* Re-add the other software

* chathistory: Test TOPIC is not sent unless event-playable is enabled

* sable: Dynamically generate certificates

This allows using custom server/services names

* sable: Enable services

* sable: Add support for account registration

Sable doesn't support REGISTER via NickServ

* sable: Lower log verbosity

* Fix lint

* Re-add Sable to CI

* Fix/skip tests on Sable

* Kill sable_services' subprocesses

* Bump Sable to include the labeled-response fix

* Bump Sable to the channel-rename downgrade fix
2023-09-21 09:18:23 +02:00
a03e9bb8ea Add support for The Lounge (#132) 2023-05-29 09:50:31 +02:00
fd0b050686 Add support for Dlk-Services (#176) 2022-11-14 22:58:30 +01:00
8a4f254a21 Reduce parallelism on other servers as well 2022-06-18 22:01:36 +02:00
81dac6f582 bahamut: lower mainloop delay, and reduce parallelism to make tests less flaky 2022-06-18 20:26:53 +02:00
a39ce7f19b Merge branch 'master' into elist 2022-04-13 18:57:46 +02:00
2bc68a2208 Use xfail instead of deselection for known failures (#155) 2022-04-12 22:36:28 +02:00
d24f0b4f12 Add support for Nefarious (#151) 2022-04-10 11:37:35 +02:00
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
af001fad2e Add tests for ELIST 2022-03-27 17:08:46 +02:00
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
f606c075f7 Add tests for error cases of WHOWAS. (#139) 2022-03-19 22:12:25 +01:00
b63ead9546 Bump versions used on the CI. (#140) 2022-03-19 21:39:26 +01:00
7b38c2be8a Add tests for WHOWAS. (#138) 2022-03-19 20:20:50 +01:00
1371979ccd lusers: Add a variant that ircu2 and snircd can pass + add stricter tests (#126) 2022-01-15 00:19:58 +01:00
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
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
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
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
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
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
3630a25c11 Add ngircd controller 2021-09-05 17:45:09 +02:00
8bc9c5b057 Exclude ircu2 and fill in the spec 2021-09-04 20:18:53 +02:00
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
44ce324c7c kick: Exhaustive implementation of the Modern spec + honor TARGMAX in testDoubleKickMessages (#100) 2021-08-26 21:05:23 +02:00
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
57a08a0a57 Deselect testKeyValidation[empty] for ircu2 2021-08-11 22:46:54 +02:00
9b02222c4c Remove 'test_' prefix for all file names.
It's redundant.
2021-08-11 19:34:33 +02:00
56906302b7 Add ircu2/snircd/irc2 controllers + fix tests to support them (#89) 2021-08-10 18:42:37 +02:00
a624bf6db8 Parallelize tests for bahamut, they are very slow. 2021-08-09 23:43:30 +02:00
8744a49073 Make tests pass + update testKeyValidation to match the Modern PR 2021-08-09 23:43:30 +02:00
42582f430a bahamut wip 2021-08-09 23:41:46 +02:00
9de76b6063 basic server test for SCRAM-SHA-256 (#84) 2021-08-08 20:47:42 +02:00
ec386a1fc9 Add Plexus4 (#90) 2021-08-08 20:46:33 +02:00
93a989b746 Test NAMES on invalid/nonexisting channel returns RPL_ENDOFNAMES. 2021-08-08 10:33:28 +02:00
f2c80a2e96 inspircd: Re-enable two tests that were fixed. 2021-08-06 22:18:52 +02:00
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
b0873d04cb Split Unreal/Insp's tests between Atheme and serviceless
it should make the critical path (insp) slightly shorter
2021-07-07 21:30:47 +02: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
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
91efa8b001 Skip flaky test on solanum 2021-07-04 22:51:02 +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
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
76eaef39b8 Bump stable versions 2021-07-03 16:38:39 +02:00
63f4130ab5 Unreal: Add support for Atheme 2021-07-03 11:15:34 +02:00