Limnoria/test
Clark Boylan 67a39a3adb
Fix joins to many channels (#1473)
* Fix joins to many channels

If you have enough channels that the 512 byte message limit on the JOIN
message is hit then limnoria was losing the channel that put it over the
limit and not including it in the next JOIN message. This resulted in
losing one channel for every JOIN message that pushed us over 512 bytes.

We fix this by generating the JOIN message immediately after resetting
the channels list to ensure we include the channel that pushed us over
the limit. Then the next time through our JOIN msg construction we'll
add subsequent channels without forgetting the one that pushed us over.

* Add test for channel join lists

This adds a test for the issue that is fixed in the previous commit. We
ensure that when JOINs are split over multiple messages we JOIN to all
channels that were part of the input list and don't forget any of them.
2021-06-14 23:15:43 +02:00
..
__init__.py Fix core tests for Python 3 (actually imported + fixes). 2013-08-10 15:18:04 +02:00
test_callbacks.py irclib: Fix overhead computation by using the real target computation algo 2021-06-08 21:56:08 +02:00
test_commands.py Replace failUnless/failIf with assertTrue/assertFalse. 2020-01-26 11:14:18 +01:00
test_conf.py Fix joins to many channels (#1473) 2021-06-14 23:15:43 +02:00
test_drivers.py When getting STS policy over insecure connection, reuse the exact same IP address 2021-01-11 23:22:21 +01:00
test_dynamicScope.py Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
test_firewall.py Remove need for 2to3. 2015-08-11 16:50:23 +02:00
test_format.py Replace failUnless/failIf with assertTrue/assertFalse. 2020-01-26 11:14:18 +01:00
test_i18n.py Add a decorator to retry tests that fail often. 2015-08-11 17:13:27 +02:00
test_ircdb.py Fix various issues with STS handling. 2020-05-01 19:46:19 +02:00
test_irclib.py Add tests + fix bugs 2021-04-01 20:10:17 +02:00
test_ircmsgs.py Fix non-deterministic test on python <= 3.6 2020-05-02 00:06:55 +02:00
test_ircutils.py Store ignored hostmasks in Expiring HostmaskSet to prevent their pattern cache from expiring too soon 2021-05-30 19:35:05 +02:00
test_misc.py Plugin: accept author name in 'contributors' command 2019-11-16 11:41:13 -08:00
test_plugin_create.py test_plugin_create: skip if supybot-plugin-create is not installed 2018-06-25 14:04:45 -07:00
test_plugin.py Add plugin load case-insensitivity test. 2020-05-08 11:58:12 +02:00
test_plugins.py ChannelLogger + Karka + all DB plugins: Sanitize channel names when used in filenames. 2019-09-06 20:42:13 +02:00
test_registry.py registry: forbid direct access to Regexp.setValue. 2020-09-15 09:59:08 +02:00
test_schedule.py test: Mock calls to time.sleep() 2019-12-15 20:20:42 +01:00
test_standardSubstitute.py Replace failUnless/failIf with assertTrue/assertFalse. 2020-01-26 11:14:18 +01:00
test_utils.py Switch names of TimeoutDict and ExpiringDict. 2020-05-10 08:42:25 +02:00
test_yn.py tests: Use internal mock from Python 3.3+ if available 2015-04-26 22:49:02 -07:00
test.py Use __import__() instead of exec(). 2012-08-05 10:22:15 +02:00