Commit Graph

60 Commits

Author SHA1 Message Date
Val Lorentz df626de5ed
Enable WHOWAS and USERHOST tests on Sable (#273)
It now implements these commands.
2024-05-04 16:15:54 +02:00
Val Lorentz 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
Val Lorentz 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
Val Lorentz 558add5229
whox: Add test for individual chars (#227)
It makes it easier to debug missing params
2023-09-22 22:04:27 +02:00
Val Lorentz 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
Val Lorentz a03e9bb8ea
Add support for The Lounge (#132) 2023-05-29 09:50:31 +02:00
Val Lorentz fd0b050686
Add support for Dlk-Services (#176) 2022-11-14 22:58:30 +01:00
Valentin Lorentz 8a4f254a21 Reduce parallelism on other servers as well 2022-06-18 22:01:36 +02:00
Valentin Lorentz 81dac6f582 bahamut: lower mainloop delay, and reduce parallelism to make tests less flaky 2022-06-18 20:26:53 +02:00
Val Lorentz a39ce7f19b
Merge branch 'master' into elist 2022-04-13 18:57:46 +02:00
Val Lorentz 2bc68a2208
Use xfail instead of deselection for known failures (#155) 2022-04-12 22:36:28 +02:00
Val Lorentz d24f0b4f12
Add support for Nefarious (#151) 2022-04-10 11:37:35 +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
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 b63ead9546
Bump versions used on the CI. (#140) 2022-03-19 21:39:26 +01:00
Val Lorentz 7b38c2be8a
Add tests for WHOWAS. (#138) 2022-03-19 20:20:50 +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
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
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
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 3630a25c11 Add ngircd controller 2021-09-05 17:45:09 +02:00
Valentin Lorentz 8bc9c5b057 Exclude ircu2 and fill in the spec 2021-09-04 20:18:53 +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
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
Valentin Lorentz 57a08a0a57 Deselect testKeyValidation[empty] for ircu2 2021-08-11 22:46:54 +02:00
Valentin Lorentz 9b02222c4c Remove 'test_' prefix for all file names.
It's redundant.
2021-08-11 19:34:33 +02:00
Val Lorentz 56906302b7
Add ircu2/snircd/irc2 controllers + fix tests to support them (#89) 2021-08-10 18:42:37 +02:00
Valentin Lorentz a624bf6db8 Parallelize tests for bahamut, they are very slow. 2021-08-09 23:43:30 +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 42582f430a bahamut wip 2021-08-09 23:41:46 +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
Valentin Lorentz f2c80a2e96 inspircd: Re-enable two tests that were fixed. 2021-08-06 22:18:52 +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
Valentin Lorentz 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
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
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 91efa8b001 Skip flaky test on solanum 2021-07-04 22:51:02 +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
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 76eaef39b8 Bump stable versions 2021-07-03 16:38:39 +02:00
Valentin Lorentz 63f4130ab5 Unreal: Add support for Atheme 2021-07-03 11:15:34 +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