home · contact · privacy
To tests' FakeIrcConnection, add connecting timeout if port > 10000 (and auto-decreme...
authorChristian Heller <c.heller@plomlompom.de>
Thu, 2 Oct 2025 20:59:58 +0000 (22:59 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Thu, 2 Oct 2025 20:59:58 +0000 (22:59 +0200)
src/ircplom/testing.py

index fca3765b176a6437ec90e6a12b87c7ccc6468eba..7e9a0a34b6b72659652b19dc6ddd17bff0cc4ecc 100644 (file)
@@ -2,6 +2,7 @@
 from contextlib import contextmanager
 from queue import SimpleQueue, Empty as QueueEmpty
 from pathlib import Path
+#from time import sleep
 from typing import Callable, Generator, Iterator, Optional
 from ircplom.events import Event, Loop, QueueMixin
 from ircplom.client import IrcConnection, IrcConnSetup
@@ -12,6 +13,7 @@ from ircplom.tui_base import TerminalInterface, TuiEvent
 
 
 PATH_TESTS = Path('tests')
+_FAKE_TIMEOUT_PORTS_BEYOND = 10000
 
 
 class TestTerminal(QueueMixin, TerminalInterface):
@@ -65,7 +67,8 @@ class _FakeIrcConnection(IrcConnection):
         self._q_server_msgs.put(msg)
 
     def _set_up_socket(self, hostname: str, port: int) -> None:
-        pass
+        if port > _FAKE_TIMEOUT_PORTS_BEYOND:
+            raise IrcConnTimeoutException('FAKE TESTING TIMEOUT')
 
     def close(self) -> None:
         self._recv_loop.stop()
@@ -95,6 +98,11 @@ class _FakeIrcConnection(IrcConnection):
 class _TestClientKnowingTui(ClientKnowingTui):
     _cls_conn = _FakeIrcConnection
 
+    def connect(self) -> None:
+        super().connect()
+        if self.db.port > _FAKE_TIMEOUT_PORTS_BEYOND:
+            self.db.port = self.db.port - 1
+
 
 _CHAR_ANCHOR = '|'
 _CHAR_COMMENT = '#'