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