Commit Graph

56 Commits

Author SHA1 Message Date
Valentin Lorentz e6d54db9ce Fix chkNS on recent hybrid
Since e66f61f8a0
(which is itself a fix for 79c4eb8d75),
Hybrid sends this numeric right after the MOTD
2024-03-17 10:12:55 +01:00
Val Lorentz 81094a308b
Remove Ergo-specific configuration from draft/account-registration (#239) 2023-09-24 13:26:32 +02:00
Val Lorentz 00663f15ec
Fix a bunch of synchronization heuristics to work with Sable (#236) 2023-09-24 08:47:22 +02:00
Val Lorentz 36901c1433
Fix lock on the set of used ports (#235)
pytest-xdist (well, execnet) re-loads modules after forking, so each process
had its own lock, making the lock useless.

Co-authored-by: Shivaram Lingamneni <slingamn@cs.stanford.edu>
2023-09-24 08:47:00 +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
Valentin Lorentz e38f29befa Log unexpected exit codes 2023-07-22 22:12:44 +02:00
Val Lorentz ddb37d6c3f
Use real metadata keys (#194) 2023-04-15 23:04:24 +02:00
Val Lorentz 418b526033
Prevent random port collisions between controllers (#191)
This happens from time to time on the CI and is pretty annoying
2023-04-04 22:01:20 +02:00
Valentin Lorentz 29e4c2bbdb Hardcode DH parameters
openssl version in ubuntu 22.04 forbids moduli smaller than 512,
which would take longer to generate.
2022-11-18 18:57:51 +01:00
Val Lorentz fd0b050686
Add support for Dlk-Services (#176) 2022-11-14 22:58:30 +01:00
Valentin Lorentz 507f5b7426 Use pathlib to work with temporary config dirs 2022-09-10 14:17:19 +02:00
Valentin Lorentz 601f49a9ef Fix infinite loop when server is slow (eg. Bahamut) 2022-06-27 20:53:50 +02:00
Valentin Lorentz 72a12ff5ce Add support for 'faketime', to avoid long sleeps in upcoming ELIST tests 2022-03-27 17:08:40 +02:00
Valentin Lorentz fe977cf361 Try to make bahamut tests less flaky 2021-08-11 18:39:29 +02:00
Val Lorentz 56906302b7
Add ircu2/snircd/irc2 controllers + fix tests to support them (#89) 2021-08-10 18:42:37 +02:00
Val Lorentz 0cf9c37950
Merge pull request #93 from ProgVal/bahamut
Add Bahamut
2021-08-10 18:29:23 +02:00
Valentin Lorentz 42e10c3848 Add an 'external_server' controller 2021-08-10 18:25:35 +02:00
Valentin Lorentz dfaec16c47 Some fixes for Bahamut 2021-08-09 23:43:30 +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 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 54a911c2f5 Revert "Kill controlled processes immediately"
This reverts commit e8dde0e989.

Actually, this breaks Limnoria's STS tests, I need to investigate this
later.
2021-07-07 12:44:10 +02:00
Valentin Lorentz 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
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 f83f2a4edf Make all tests pass with Unreal (minus service tests) 2021-07-02 21:41:35 +02:00
Valentin Lorentz 3d2399f62e Run Atheme with Charybdis, to enable tests depending on SASL 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
Shivaram Lingamneni 7be29ad801 rename Oragono to Ergo 2021-05-27 00:07:32 -04:00
Valentin Lorentz 62a87b5957 type-annotate all functions outside the tests themselves. 2021-02-28 18:45:13 +01:00
Valentin Lorentz ac2a37362c Use dataclasses instead of dicts/namedtuples 2021-02-28 18:45:13 +01:00
Valentin Lorentz 12da7e1e3b Enable mypy, and do the minimal changes to make it pass 2021-02-28 18:45:13 +01:00
Valentin Lorentz 8ea7197f76 Crash when a controlled process stopped instead of waiting forever. 2021-02-24 16:18:08 +01:00
Valentin Lorentz f9d0ec18ff Make flake8 pass, and run it automatically. 2021-02-22 19:42:18 +01:00
Valentin Lorentz 836cc5d6d2 Use isort to order imports. 2021-02-22 19:42:18 +01:00
Valentin Lorentz 8016e01daf Use Black code style 2021-02-22 19:42:18 +01:00
Valentin Lorentz 373c705247 Add STS tests. 2021-02-21 22:05:15 +01:00
Valentin Lorentz 4ded96fbba Fix LUSER tests to pass with Charybdis. 2021-02-21 21:50:24 +01:00
Valentin Lorentz 9b2a6a063c Don't pass a 'config' argument to the controller, only Oragono had it.
Instead, annotate tests with the optional features they may need from the IRCd.
2021-02-15 23:29:10 +01:00
Shivaram Lingamneni 1614c5a888 speed up oragono tests by reducing the port wait interval 2020-09-14 04:41:08 -04:00
Shivaram Lingamneni d7c231ba9e remove psutil 2020-09-13 06:47:50 -04:00
Daniel Oaks e39f7be14c Make openssl binary configurable, for OSX 2017-11-02 00:07:06 +00:00
Valentin Lorentz e2583a67ca Add STARTTLS tests. 2015-12-25 15:45:06 +01:00
Valentin Lorentz d3617b7012 Make port wait lazy. This way, we don't want for the server to start if the test is skipped immediately. 2015-12-23 01:54:10 +01:00
Valentin Lorentz 53f916991f Add METADATA tests. 2015-12-22 22:33:23 +01:00
Valentin Lorentz ef8adc7ede Rename irctest.optionality to irctest.runner, and clean code a bit. 2015-12-22 18:54:06 +01:00
Valentin Lorentz 3b196ce445 Add test testKickSendsMessages. 2015-12-22 01:56:01 +01:00
Valentin Lorentz 38569f013f Add PLAIN test for servers. 2015-12-20 16:15:25 +01:00
Valentin Lorentz 7169952a1f Merge pull request #6 from DanielOaks/auto-server-start-wait
Automatically wait for server to start when connecting
2015-12-20 13:51:14 +01:00
Valentin Lorentz 900f18492c Add docstrings. 2015-12-20 13:47:30 +01:00