>>> py3-transmission-rpc: Building community/py3-transmission-rpc 7.0.3-r2 (using abuild 3.17.0_rc2-r0) started Wed, 06 May 2026 05:17:56 +0000 >>> py3-transmission-rpc: Validating /home/buildozer/aports/community/py3-transmission-rpc/APKBUILD... >>> py3-transmission-rpc: Analyzing dependencies... >>> py3-transmission-rpc: Installing for build: build-base python3 py3-requests py3-typing-extensions py3-poetry-core py3-gpep517 py3-pytest py3-tz py3-yarl transmission-daemon ( 1/65) Installing libbz2 (1.0.8-r6) ( 2/65) Installing libffi (3.5.2-r1) ( 3/65) Installing gdbm (1.26-r0) ( 4/65) Installing xz-libs (5.8.3-r0) ( 5/65) Installing mpdecimal (4.0.1-r0) ( 6/65) Installing libpanelw (6.6_p20260404-r0) ( 7/65) Installing readline (8.3.3-r1) ( 8/65) Installing sqlite-libs (3.53.0-r0) ( 9/65) Installing python3 (3.14.3-r0) (10/65) Installing python3-pycache-pyc0 (3.14.3-r0) (11/65) Installing pyc (3.14.3-r0) (12/65) Installing python3-pyc (3.14.3-r0) (13/65) Installing py3-certifi (2026.2.25-r1) (14/65) Installing py3-certifi-pyc (2026.2.25-r1) (15/65) Installing py3-charset-normalizer (3.4.7-r0) (16/65) Installing py3-charset-normalizer-pyc (3.4.7-r0) (17/65) Installing py3-idna (3.13-r0) (18/65) Installing py3-idna-pyc (3.13-r0) (19/65) Installing py3-urllib3 (2.6.3-r1) (20/65) Installing py3-urllib3-pyc (2.6.3-r1) (21/65) Installing py3-requests (2.33.1-r0) (22/65) Installing py3-requests-pyc (2.33.1-r0) (23/65) Installing py3-typing-extensions (4.15.0-r1) (24/65) Installing py3-typing-extensions-pyc (4.15.0-r1) (25/65) Installing py3-fastjsonschema (2.21.2-r2) (26/65) Installing py3-fastjsonschema-pyc (2.21.2-r2) (27/65) Installing py3-lark-parser (1.2.2-r1) (28/65) Installing py3-lark-parser-pyc (1.2.2-r1) (29/65) Installing py3-parsing (3.3.2-r1) (30/65) Installing py3-parsing-pyc (3.3.2-r1) (31/65) Installing py3-packaging (26.2-r0) (32/65) Installing py3-packaging-pyc (26.2-r0) (33/65) Installing py3-poetry-core (2.3.2-r0) (34/65) Installing py3-poetry-core-pyc (2.3.2-r0) (35/65) Installing py3-installer (1.0.0-r0) (36/65) Installing py3-installer-pyc (1.0.0-r0) (37/65) Installing py3-gpep517 (19-r2) (38/65) Installing py3-gpep517-pyc (19-r2) (39/65) Installing py3-iniconfig (2.3.0-r1) (40/65) Installing py3-iniconfig-pyc (2.3.0-r1) (41/65) Installing py3-pluggy (1.6.0-r1) (42/65) Installing py3-pluggy-pyc (1.6.0-r1) (43/65) Installing py3-py (1.11.0-r5) (44/65) Installing py3-py-pyc (1.11.0-r5) (45/65) Installing py3-pygments (2.20.0-r0) (46/65) Installing py3-pygments-pyc (2.20.0-r0) (47/65) Installing py3-pytest (9.0.3-r0) (48/65) Installing py3-pytest-pyc (9.0.3-r0) (49/65) Installing py3-tz (2025.2-r1) (50/65) Installing py3-tz-pyc (2025.2-r1) (51/65) Installing py3-multidict (6.7.1-r1) (52/65) Installing py3-multidict-pyc (6.7.1-r1) (53/65) Installing py3-expandvars (1.1.2-r3) (54/65) Installing py3-expandvars-pyc (1.1.2-r3) (55/65) Installing py3-propcache (0.4.1-r1) (56/65) Installing py3-propcache-pyc (0.4.1-r1) (57/65) Installing py3-yarl (1.20.0-r2) (58/65) Installing py3-yarl-pyc (1.20.0-r2) (59/65) Installing libdeflate (1.25-r0) (60/65) Installing libevent (2.1.12-r9) (61/65) Installing libintl (1.0-r0) (62/65) Installing miniupnpc (2.3.3-r2) (63/65) Installing transmission-daemon (4.1.1-r1) Executing transmission-daemon-4.1.1-r1.pre-install (64/65) Installing .makedepends-py3-transmission-rpc (20260506.051759) (65/65) Installing transmission-daemon-openrc (4.1.1-r1) Executing busybox-1.37.0-r31.trigger OK: 495.0 MiB in 168 packages >>> py3-transmission-rpc: Cleaning up srcdir >>> py3-transmission-rpc: Cleaning up pkgdir >>> py3-transmission-rpc: Cleaning up tmpdir >>> py3-transmission-rpc: Fetching https://distfiles.alpinelinux.org/distfiles/v3.24/py3-transmission-rpc-7.0.3.tar.gz /var/cache/distfiles/v3.24/py3-transmission-rpc-7.0.3.tar.gz: OK >>> py3-transmission-rpc: Fetching https://distfiles.alpinelinux.org/distfiles/v3.24/py3-transmission-rpc-7.0.3.tar.gz /var/cache/distfiles/v3.24/py3-transmission-rpc-7.0.3.tar.gz: OK >>> py3-transmission-rpc: Unpacking /var/cache/distfiles/v3.24/py3-transmission-rpc-7.0.3.tar.gz... 2026-05-06 05:18:00,682 gpep517 INFO Building wheel via backend poetry.core.masonry.api 2026-05-06 05:18:00,754 poetry.core.masonry.builders.wheel INFO Building wheel 2026-05-06 05:18:00,766 poetry.core.masonry.builders.wheel INFO Built transmission_rpc-7.0.3-py3-none-any.whl 2026-05-06 05:18:00,766 gpep517 INFO The backend produced .dist/transmission_rpc-7.0.3-py3-none-any.whl transmission_rpc-7.0.3-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-9.0.3, pluggy-1.6.0 rootdir: /home/buildozer/aports/community/py3-transmission-rpc/src/transmission-rpc-7.0.3 configfile: pyproject.toml collected 67 items tests/test_client.py ..........F.F.......... [ 34%] tests/test_parse_id.py ............. [ 53%] tests/test_torrent.py .... [ 59%] tests/test_utils.py ........................... [100%] =================================== FAILURES =================================== __________________________ test_real_add_torrent_http __________________________ tr_client = def test_real_add_torrent_http(tr_client: Client): > tr_client.add_torrent(torrent_url) tests/test_client.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transmission_rpc/client.py:418: in add_torrent return next(iter(self._request(RpcMethod.TorrentAdd, kwargs, timeout=timeout).values())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = method = arguments = {'filename': 'https://github.com/trim21/transmission-rpc/raw/v4.1.0/tests/fixtures/iso.torrent'} ids = [], require_ids = False, timeout = None def _request( self, method: RpcMethod, arguments: Optional[Dict[str, Any]] = None, ids: Optional[_TorrentIDs] = None, require_ids: bool = False, timeout: Optional[_Timeout] = None, ) -> dict: """ Send json-rpc request to Transmission using http POST """ if not isinstance(method, str): raise TypeError("request takes method as string") if arguments is None: arguments = {} if not isinstance(arguments, dict): raise TypeError("request takes arguments should be dict") ids = _parse_torrent_ids(ids) if len(ids) > 0: arguments["ids"] = ids elif require_ids: raise ValueError("request require ids") query = {"tag": self._sequence, "method": method, "arguments": arguments} self._sequence += 1 start = time.time() http_data = self._http_query(query, timeout) elapsed = time.time() - start self.logger.info("http request took %.3f s", elapsed) try: data: ResponseData = json.loads(http_data) except ValueError as error: self.logger.exception("Error: %s") self.logger.exception('Request: "%s"', query) self.logger.exception('HTTP data: "%s"', http_data) raise TransmissionError( "failed to parse response as json", method=method, argument=arguments, rawResponse=http_data ) from error self.logger.debug(json.dumps(data, indent=2)) if "result" not in data: raise TransmissionError( "Query failed, response data missing without result.", method=method, argument=arguments, response=data, rawResponse=http_data, ) if data["result"] != "success": > raise TransmissionError( f'Query failed with result "{data["result"]}".', method=method, argument=arguments, response=data, rawResponse=http_data, ) E transmission_rpc.error.TransmissionError: Query failed with result "Couldn't fetch torrent: No Response (0)". transmission_rpc/client.py:260: TransmissionError ------------------------------ Captured log setup ------------------------------ INFO transmission-rpc:client.py:237 http request took 0.002 s INFO transmission-rpc:client.py:237 http request took 0.002 s ------------------------------ Captured log call ------------------------------- INFO transmission-rpc:client.py:237 http request took 0.651 s ---------------------------- Captured log teardown ----------------------------- INFO transmission-rpc:client.py:237 http request took 0.002 s _________________________ test_real_torrent_start_all __________________________ tr_client = fake_hash_factory = . at 0xfffc76ea0a90> def test_real_torrent_start_all(tr_client: Client, fake_hash_factory): > tr_client.add_torrent(torrent_url, paused=True, timeout=10) tests/test_client.py:175: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ transmission_rpc/client.py:418: in add_torrent return next(iter(self._request(RpcMethod.TorrentAdd, kwargs, timeout=timeout).values())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = method = arguments = {'filename': 'https://github.com/trim21/transmission-rpc/raw/v4.1.0/tests/fixtures/iso.torrent', 'paused': True} ids = [], require_ids = False, timeout = 10 def _request( self, method: RpcMethod, arguments: Optional[Dict[str, Any]] = None, ids: Optional[_TorrentIDs] = None, require_ids: bool = False, timeout: Optional[_Timeout] = None, ) -> dict: """ Send json-rpc request to Transmission using http POST """ if not isinstance(method, str): raise TypeError("request takes method as string") if arguments is None: arguments = {} if not isinstance(arguments, dict): raise TypeError("request takes arguments should be dict") ids = _parse_torrent_ids(ids) if len(ids) > 0: arguments["ids"] = ids elif require_ids: raise ValueError("request require ids") query = {"tag": self._sequence, "method": method, "arguments": arguments} self._sequence += 1 start = time.time() http_data = self._http_query(query, timeout) elapsed = time.time() - start self.logger.info("http request took %.3f s", elapsed) try: data: ResponseData = json.loads(http_data) except ValueError as error: self.logger.exception("Error: %s") self.logger.exception('Request: "%s"', query) self.logger.exception('HTTP data: "%s"', http_data) raise TransmissionError( "failed to parse response as json", method=method, argument=arguments, rawResponse=http_data ) from error self.logger.debug(json.dumps(data, indent=2)) if "result" not in data: raise TransmissionError( "Query failed, response data missing without result.", method=method, argument=arguments, response=data, rawResponse=http_data, ) if data["result"] != "success": > raise TransmissionError( f'Query failed with result "{data["result"]}".', method=method, argument=arguments, response=data, rawResponse=http_data, ) E transmission_rpc.error.TransmissionError: Query failed with result "Couldn't fetch torrent: No Response (0)". transmission_rpc/client.py:260: TransmissionError ------------------------------ Captured log setup ------------------------------ INFO transmission-rpc:client.py:237 http request took 0.002 s INFO transmission-rpc:client.py:237 http request took 0.002 s ------------------------------ Captured log call ------------------------------- INFO transmission-rpc:client.py:237 http request took 0.657 s ---------------------------- Captured log teardown ----------------------------- INFO transmission-rpc:client.py:237 http request took 0.002 s =========================== short test summary info ============================ FAILED tests/test_client.py::test_real_add_torrent_http - transmission_rpc.er... FAILED tests/test_client.py::test_real_torrent_start_all - transmission_rpc.e... ========================= 2 failed, 65 passed in 1.83s =========================