Commit Graph

764 Commits

Author SHA1 Message Date
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
Valentin Lorentz 2bd5093df9 Remove strip_first_param argument, it's unused. 2021-02-24 18:19:29 +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 932e9ade5a sopel: Create ~/.sopel/ if it does not exist 2021-02-24 13:49:14 +01:00
Shivaram Lingamneni 2ef4689004 restore print statement when waiting 2021-02-22 21:55:15 +01:00
Shivaram Lingamneni 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
Shivaram Lingamneni 10edb9dd9d fix LUSERS tests to work with oragono 2021-02-22 20:21:39 +01:00
Shivaram Lingamneni c2ed9ca79f update makefile 2021-02-22 20:21:39 +01:00
Valentin Lorentz 4ac891382e make pyxmpp2-scram an optional dependency. 2021-02-22 19:44:41 +01:00
Valentin Lorentz ca93caa69d Make the dependency on ecdsa optional 2021-02-22 19:44:41 +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 34ed62fd85 Merge branch 'cherry-picking' ('Cherry pick commits from my old branch of irctest' GH-17) 2021-02-22 18:44:41 +01:00
Valentin Lorentz e9a2bdd008 Fix merges 2021-02-22 18:33:42 +01:00
Valentin Lorentz 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
Valentin Lorentz e45a1fb9db limnoria: add support for STS. 2021-02-21 23:18:55 +01:00
Valentin Lorentz 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
Valentin Lorentz ff54d9cfd6 Temporarily disabling sts on Limnoria until it's released. 2021-02-21 22:05:15 +01:00
Valentin Lorentz 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
Valentin Lorentz 373c705247 Add STS tests. 2021-02-21 22:05:15 +01:00
Valentin Lorentz 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
Valentin Lorentz 4ded96fbba Fix LUSER tests to pass with Charybdis. 2021-02-21 21:50:24 +01:00
Valentin Lorentz 9f68f12b3a Document how to call the pytest command 2021-02-21 21:50:12 +01:00
Valentin Lorentz 85d14f3e12 Install oragono in ~/go/bin and update $PATH instructions. 2021-02-21 21:50:12 +01:00
Valentin Lorentz 81d5715465 Update the README with instructions for Oragono + pytest 2021-02-21 21:50:12 +01:00
Valentin Lorentz 13be312366 Restore the original irctest README. 2021-02-21 21:50:12 +01:00
Valentin Lorentz 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
Valentin Lorentz efa5b5eb3b client_tests/test_sasl: Update to work with newer versions of Sopel 2021-02-20 10:53:23 +01:00
Valentin Lorentz fe694487c7 Better handling of connections closed by clients. 2021-02-20 10:43:00 +01:00
Valentin Lorentz c4a9592156 Fix Sopel tests; broken by 9b2a6a063c. 2021-02-20 10:42:37 +01:00
Valentin Lorentz 3d7a539d06 Fix some tests to pass with inspircd 2021-02-20 09:53:30 +01:00
Valentin Lorentz 3932a40d74 Fix client tests broken by a14ebf9ec2. 2021-02-19 23:00:00 +01:00
Valentin Lorentz 0dfe0de549 Fix client tests broken by 020564bdcb. 2021-02-19 22:57:59 +01:00
Valentin Lorentz c9c08c7f6f client_mock: Write client name in 'waiting...' message 2021-02-19 22:25:41 +01:00
Valentin Lorentz 684c889304 Fix testWhoisUser to pass with inspircd. 2021-02-19 19:22:00 +01:00
Valentin Lorentz c9dbba985c Fix crash when sendLine() is called with bytes and --show-io is given. 2021-02-19 19:19:58 +01:00
Valentin Lorentz fe0d65f7c8 Fix oragono tests broken by 9b2a6a063c. 2021-02-19 19:19:37 +01:00
Shivaram Lingamneni 8d427c80c8 fix stall on failed channel join 2021-02-18 19:35:11 +01:00
Valentin Lorentz a74f893942 Fix IRCv3 tests to not fail with Charybdis. 2021-02-17 21:35:36 +01:00
Valentin Lorentz 75dafa47fe testWhoisUser: use a shorter username, so it doesn't get truncated
eg. charybdis limits it to 10 characters
2021-02-17 10:45:52 +01:00