Commit Graph

589 Commits

Author SHA1 Message Date
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 314439787a Don't build with INSPIRCD_DEBUG=3, it prevents m_spanningtree from being loaded
Unable to load m_spanningtree.so: /home/dev-irc/.local/modules/m_spanningtree.so: undefined symbol: _ZN11CommandSave14SavedTimestampE
2021-07-07 11:44:34 +02:00
Valentin Lorentz 7c32d47713 workflows: Disable cache for inspircd + add version flavor to the cache key for others 2021-07-06 21:34:56 +02:00
Valentin Lorentz bfa183e37e workflows: Prevent $PYTEST_ARGS from being overwritten 2021-07-05 22:04:18 +02:00
Valentin Lorentz 853f9c4a8b Speedup inspircd build 2021-07-05 18:57:59 +02:00
Val Lorentz d17cae6a8a Publish unit tests results and variations on each PR (#73)
So it's easier to detect that we accidentally marked a lot of tests
as skipped.

* Try EnricoMi/publish-unit-test-result-action@v1

* Make build job generation more modular

* Unify workflows, so their results can be added together in the report (instead of overwriting each other)
2021-07-04 23:13:28 +02:00
Valentin Lorentz 91efa8b001 Skip flaky test on solanum 2021-07-04 22:51:02 +02:00
Valentin Lorentz 08a74096d0 test_cap: Fix random failure. 2021-07-04 22:44:18 +02:00
Valentin Lorentz 450a413036 Fix random failure (again) 2021-07-04 20:11:35 +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
Valentin Lorentz 92a73ad4a5 Use pytest parametrization instead of ad-hoc method generation 2021-07-04 17:06:37 +02:00
Valentin Lorentz 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
Valentin Lorentz ed2b75534e Exclude server/client tests when running selftests. 2021-07-04 17:06:37 +02:00
Valentin Lorentz 829cfbf404 README: Update introduction 2021-07-04 15:33:51 +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
Shivaram Lingamneni 0b17fc8460
Merge pull request #69 from ProgVal/ergo-extban
Enable mute extban tests on Ergo
2021-07-04 04:27:03 -04:00
Valentin Lorentz 61974e6d0c Enable mute extban tests on Ergo 2021-07-04 09:55:46 +02:00
Shivaram Lingamneni 4932d410e2 fix chathistory spec violation in INVALID_TARGET
https://github.com/ergochat/ergo/issues/1731
2021-07-04 09:51:04 +02:00
Valentin Lorentz 9581ca0cf3 Skip services tests on Insp4.
Atheme doesn't support it yet.
2021-07-03 20:34:36 +02:00
Valentin Lorentz 8288e36469 Allow triggering crons manually 2021-07-03 19:35:36 +02:00
Valentin Lorentz 76eaef39b8 Bump stable versions 2021-07-03 16:38:39 +02:00
Valentin Lorentz f420b6cb0a Add version flavor to workflow name 2021-07-03 16:20:26 +02:00
Val Lorentz 26fe83d2c6
Add workflows triggered by crons to run on the latest development versions (#66) 2021-07-03 16:15:04 +02:00
Val Lorentz d7d6f0c521
Generate .github/workflows/ from a single compact file (#65)
It's easier to read and maintain
2021-07-03 14:50:00 +02:00
Valentin Lorentz e17234c911 Update READMEs for Unreal. 2021-07-03 11:58:10 +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 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
Val Lorentz d74b0e74c6
Merge pull request #62 from ProgVal/unreal
Add Unreal controller
2021-07-03 09:54:22 +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
Valentin Lorentz 4be59a77ed .github/workflows/unrealircd.yml: Actually run the tests 2021-07-03 09:39:51 +02:00
Valentin Lorentz 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
Valentin Lorentz 3fafc76baa fix comment 2021-07-02 22:25:45 +02:00
Valentin Lorentz 42225a68b7 test_buffering: improve log readability 2021-07-02 22:25:07 +02:00
Valentin Lorentz 5674bb030a uh, openssl doesn't like my echo when running on GH Actions 2021-07-02 21:53:44 +02:00
Valentin Lorentz a1040a4553 Minor bug fixes 2021-07-02 21:48:12 +02:00
Valentin Lorentz f83f2a4edf Make all tests pass with Unreal (minus service tests) 2021-07-02 21:41:35 +02:00
Valentin Lorentz 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
Valentin Lorentz cd58d14608 README.md: fix typos 2021-07-01 17:33:58 +02:00
Valentin Lorentz 2972706ca6 Add a 'services' mark, to allow disabling tests that depend on them. 2021-07-01 17:17:59 +02:00
Valentin Lorentz 26a0245a6a Add tests for the draft bot mode. 2021-07-01 16:44:48 +02:00
Valentin Lorentz 98824a4abd Move the complex list of selectors from .github/workflows/* to the Makefile 2021-06-28 20:43:52 +02:00
Shivaram Lingamneni cccb937068
Merge pull request #59 from ergochat/master
merge in a new ergo regression test
2021-06-28 01:48:18 -04:00
Shivaram Lingamneni 50cd718871 explicitly request sasl cap in new test 2021-06-28 00:23:26 -04:00
Shivaram Lingamneni 342ffcbdbe enable run_services for new test 2021-06-28 00:18:39 -04:00
Shivaram Lingamneni e340f86468
Merge pull request #19 from ergochat/issue1696.1
regression test for ergochat/ergo#1696
2021-06-27 16:38:02 -04:00
Valentin Lorentz 3d2399f62e Run Atheme with Charybdis, to enable tests depending on SASL 2021-06-27 21:19:34 +02:00
Valentin Lorentz 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
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