336 Commits

Author SHA1 Message Date
da9567b612 Add BanMode tests. 2021-02-28 08:56:20 +01:00
51d0ce4483 Remove getIsupport(), it's redundant with server_support 2021-02-27 16:00:28 +01:00
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
06972fc1c4 Add Solanum 2021-02-27 15:34:59 +01:00
72eee6114f Add ircd-seven 2021-02-27 15:23:33 +01:00
407fe663d1 Add Solanum 2021-02-27 15:23:33 +01:00
4d50c3eabc Rewrite PART tests to actually follow the RFCs. 2021-02-27 14:27:22 +01:00
309a0e45e7 assertMessageEqual: fix error msg 2021-02-27 14:14:08 +01:00
0352a83a73 Change IRCv3 marks to reference capabilities instead of v3.1 / v3.2 2021-02-27 12:59:28 +01:00
5ab2fa709e Fix testNickReleaseUnregistered on inspircd
PING is not valid before registration.
2021-02-27 10:33:57 +01:00
de243b38eb Fix testCapRemovalByClient for Charybdis 2021-02-26 21:26:25 +01:00
ae09b99d0e Overload the < <= > >= comparison assertion methods. 2021-02-26 21:06:17 +01:00
0a1ccfec24 Fix assertMessageEqual to actually raise the exception 2021-02-26 21:05:01 +01:00
e6ca463dce Make testCapRemovalByClient not specific to Oragono 2021-02-26 19:16:24 +01:00
ff67739c67 Add _IrcTestCase.messageDiffers to allow matching messages without using assertions. 2021-02-26 19:16:24 +01:00
05e75782c9 testNoticeNonexistentChannel: also quote RFC 1459 2021-02-24 19:46:36 +01:00
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
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
f92b0e2889 lusers: Assert GlobalInvisible and GlobalVisible are lower or equal to the total 2021-02-24 19:07:22 +01:00
fb04da39cc lusers: deduplicate assertions 2021-02-24 19:07:22 +01:00
0cf2726f78 away_notify: Better errors 2021-02-24 18:59:45 +01:00
79399e5c99 account_tag: Fix/proofread assertions. 2021-02-24 18:55:30 +01:00
2bd5093df9 Remove strip_first_param argument, it's unused. 2021-02-24 18:19:29 +01:00
8ea7197f76 Crash when a controlled process stopped instead of waiting forever. 2021-02-24 16:18:08 +01:00
932e9ade5a sopel: Create ~/.sopel/ if it does not exist 2021-02-24 13:49:14 +01:00
2ef4689004 restore print statement when waiting 2021-02-22 21:55:15 +01:00
efab101890 remove sleep from read loops
recv() should block as necessary up to the 1-second timeout;
connection failures will break out of the loop with an exception.
There shouldn't be a case where we incur a busy wait.
2021-02-22 21:55:15 +01:00
10edb9dd9d fix LUSERS tests to work with oragono 2021-02-22 20:21:39 +01:00
4ac891382e make pyxmpp2-scram an optional dependency. 2021-02-22 19:44:41 +01:00
ca93caa69d Make the dependency on ecdsa optional 2021-02-22 19:44:41 +01:00
f9d0ec18ff Make flake8 pass, and run it automatically. 2021-02-22 19:42:18 +01:00
836cc5d6d2 Use isort to order imports. 2021-02-22 19:42:18 +01:00
8016e01daf Use Black code style 2021-02-22 19:42:18 +01:00
34ed62fd85 Merge branch 'cherry-picking' ('Cherry pick commits from my old branch of irctest' GH-17) 2021-02-22 18:44:41 +01:00
e9a2bdd008 Fix merges 2021-02-22 18:33:42 +01:00
f0141b0a93 Fix compatibility with return value of SSLSocket.sendall in python >= 3.6.
https://bugs.python.org/issue25951
2021-02-21 23:18:55 +01:00
e45a1fb9db limnoria: add support for STS. 2021-02-21 23:18:55 +01:00
28f1ceb4e6 Fix ecdsa tests to use the same protocol as Atheme.
Which requires not hashing the challenge.
2021-02-21 23:18:55 +01:00
ff54d9cfd6 Temporarily disabling sts on Limnoria until it's released. 2021-02-21 22:05:15 +01:00
b4873fdea4 Ignore return value of sendall; it's not None on py < 3.6.
https://bugs.python.org/issue25951
2021-02-21 22:05:15 +01:00
373c705247 Add STS tests. 2021-02-21 22:05:15 +01:00
68c2dad8d9 For SCRAM, check clients send an empty response at the end.
https://github.com/ircv3/ircv3-specifications/pull/326
2021-02-21 22:05:15 +01:00
4ded96fbba Fix LUSER tests to pass with Charybdis. 2021-02-21 21:50:24 +01:00
85f02c4626 Use pytest as a test runner instead of unit test
'./test <controller> -s spec1 -s spec2' becomes:
'pytest --controller <controller> -k "spec1 or spec2"'

This uses pytest's test selection, which allows finer selection of which tests
to run (for example, it will allow running all tests but those requiring one
feature or combination of features).
It also allows running only a particular test (or set of test) by
filtering on their name or file name.

pytest also shows a much nicer output while testing (grouped by file,
percentage of tests run, manages the verbosity); and it captures all the output
and only shows it if the test fails, which makes --show-io irrelevant.
2021-02-21 18:03:20 +01:00
efa5b5eb3b client_tests/test_sasl: Update to work with newer versions of Sopel 2021-02-20 10:53:23 +01:00
fe694487c7 Better handling of connections closed by clients. 2021-02-20 10:43:00 +01:00
c4a9592156 Fix Sopel tests; broken by 9b2a6a063c811d0f37bebce79cb89662c66d213e. 2021-02-20 10:42:37 +01:00
3d7a539d06 Fix some tests to pass with inspircd 2021-02-20 09:53:30 +01:00
3932a40d74 Fix client tests broken by a14ebf9ec2c40a25db8c4e2bb86246d2a8c75bb7. 2021-02-19 23:00:00 +01:00
0dfe0de549 Fix client tests broken by 020564bdcbcb6586e8d9ed622624db47e0a122d8. 2021-02-19 22:57:59 +01:00