Commit Graph

604 Commits

Author SHA1 Message Date
Valentin Lorentz 3f231403ba Use assertMessageMatch whenever possible, and generalize listMatch to accept regexps
it's stricter this way + hopefully more readable and better error msgs
2021-02-28 23:22:31 +01:00
Valentin Lorentz e012c5248b Move list_match to its own module, and prepare generalizing AnyStr 2021-02-28 23:22:31 +01:00
Valentin Lorentz b8867cf4a2 Use a new 'magic' class AnyStr instead of Ellipsis for pattern-matching messages. 2021-02-28 20:44:31 +01:00
Valentin Lorentz 1fbd51c0b5 Rename assertMessageEqual to assertMessageMatch
it describes the function better
2021-02-28 20:44:31 +01: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 1c1b8214a0 normalize_namreply_params: Fix typo in function call 2021-02-28 18:45:13 +01:00
Valentin Lorentz 04ae1dcba1 echo_message: run black 2021-02-28 11:59:25 +01:00
Valentin Lorentz 00ff27f277 resume: rename bar/baz to observer/mainnick to improve readability 2021-02-28 11:31:56 +01:00
Valentin Lorentz 6125381598 fix typo in spec name 2021-02-28 10:00:24 +01:00
Valentin Lorentz daa182bcd2 Make testDirectMessageEcho not Oragono-specific 2021-02-28 09:57:37 +01:00
Valentin Lorentz f7be6cf016 Make all remaining tests not Oragono-specific when relevant. 2021-02-28 09:57:16 +01:00
Valentin Lorentz 6b6b86415d Make testKeyValidation not Oragono-specific. 2021-02-28 09:43:08 +01:00
Valentin Lorentz 28ecfc4608 testStatusmsgFromOp: Fix interleaved events causing the test to be flaky. 2021-02-28 09:41:44 +01:00
Valentin Lorentz 96a8d1f7ff Make MuteExtban not Oragono-specific. 2021-02-28 09:24:47 +01:00
Valentin Lorentz 8cefc57e61 cases: Get rid of the subcommand/subparams nonsense
Tt was specific to the CAP command but pretended to be generic.

Instead, allow matching on the params argument using Ellipsis.
2021-02-28 08:59:48 +01:00
Valentin Lorentz 70fcc15e00 statusmsg: Make tests non Oragono-specific. 2021-02-28 08:57:39 +01:00
Valentin Lorentz da9567b612 Add BanMode tests. 2021-02-28 08:56:20 +01:00
Valentin Lorentz 51d0ce4483 Remove getIsupport(), it's redundant with server_support 2021-02-27 16:00:28 +01:00
Valentin Lorentz 22eb8d4369 inspircd: Enable all modules for caps/commands that we can test
Instead of skipping these tests.
2021-02-27 15:34:59 +01:00
Valentin Lorentz 06972fc1c4 Add Solanum 2021-02-27 15:34:59 +01:00
Valentin Lorentz 72eee6114f Add ircd-seven 2021-02-27 15:23:33 +01:00
Valentin Lorentz 407fe663d1 Add Solanum 2021-02-27 15:23:33 +01:00
Valentin Lorentz 4d50c3eabc Rewrite PART tests to actually follow the RFCs. 2021-02-27 14:27:22 +01:00
Valentin Lorentz 309a0e45e7 assertMessageEqual: fix error msg 2021-02-27 14:14:08 +01:00
Valentin Lorentz 0352a83a73 Change IRCv3 marks to reference capabilities instead of v3.1 / v3.2 2021-02-27 12:59:28 +01:00
Valentin Lorentz 5ab2fa709e Fix testNickReleaseUnregistered on inspircd
PING is not valid before registration.
2021-02-27 10:33:57 +01:00
Valentin Lorentz b405a94c34 Patch InspIRCd to make tests run faster 2021-02-27 00:32:36 +01:00
Valentin Lorentz de243b38eb Fix testCapRemovalByClient for Charybdis 2021-02-26 21:26:25 +01:00
Valentin Lorentz ae09b99d0e Overload the < <= > >= comparison assertion methods. 2021-02-26 21:06:17 +01:00
Valentin Lorentz 0a1ccfec24 Fix assertMessageEqual to actually raise the exception 2021-02-26 21:05:01 +01:00
Valentin Lorentz 8f17f85d16 workflows: exclude testNoticeNonexistentChannel on InspIRCd
Reported at https://github.com/inspircd/inspircd/issues/1849
2021-02-26 19:16:50 +01:00
Valentin Lorentz 592929366a workflows: Follow the 'irctest_stable' branch of Oragono
It should follow releases, with quick hotfixes for irctest when needed.
2021-02-26 19:16:50 +01:00
Valentin Lorentz 21ce72a141 workflows: Add Sopel 2021-02-26 19:16:50 +01:00
Valentin Lorentz fe0adbaca4 workflows: Add Limnoria 2021-02-26 19:16:50 +01:00
Valentin Lorentz d6537548c6 workflows: Add inspircd 2021-02-26 19:16:50 +01:00
Valentin Lorentz 4de76ba1b2 workflows: add charybdis 2021-02-26 19:16:50 +01:00
Valentin Lorentz b78eb9fd44 workflows: enable cache, remove matrix 2021-02-26 19:16:50 +01:00
Valentin Lorentz 64735adf86 workflows: First attempt, with Oragono 2021-02-26 19:16:50 +01:00
Valentin Lorentz e6ca463dce Make testCapRemovalByClient not specific to Oragono 2021-02-26 19:16:24 +01:00
Valentin Lorentz ff67739c67 Add _IrcTestCase.messageDiffers to allow matching messages without using assertions. 2021-02-26 19:16:24 +01:00
Valentin Lorentz 9301321813 Write complete CONTRIBUTING.md.
It's opinionated, but I think we can agree on it.

Not all existing tests follow the rules written here, but let's
try to follow them for new tests.
2021-02-25 23:47:01 +01:00
Valentin Lorentz 05e75782c9 testNoticeNonexistentChannel: also quote RFC 1459 2021-02-24 19:46:36 +01:00
Valentin Lorentz c90141bc61 Use a dedicated 'deprecated' mark instead of add '-deprecated' for each spec
Also rename `@cases.SpecificationSelector.requiredBySpecification("xxx")`
to `@cases.mark_specifications("xxx")` because it's shorter and looks
like pytest's own syntax
2021-02-24 19:19:35 +01:00
Valentin Lorentz 2a1324fc94 lusers: Fix tests to allow missing optional args
According to https://defs.ircdocs.horse/defs/numerics.html , they are not mandatory;
and InspIRCd doesn't return them.
2021-02-24 19:07:22 +01:00
Valentin Lorentz f92b0e2889 lusers: Assert GlobalInvisible and GlobalVisible are lower or equal to the total 2021-02-24 19:07:22 +01:00
Valentin Lorentz fb04da39cc lusers: deduplicate assertions 2021-02-24 19:07:22 +01:00
Valentin Lorentz 0cf2726f78 away_notify: Better errors 2021-02-24 18:59:45 +01:00
Valentin Lorentz 79399e5c99 account_tag: Fix/proofread assertions. 2021-02-24 18:55:30 +01:00