0s autopkgtest [16:52:31]: starting date and time: 2026-02-08 16:52:31+0000 0s autopkgtest [16:52:31]: git checkout: 508d4a25 a-v-ssh wait_for_ssh: demote "ssh connection failed" to a debug message 0s autopkgtest [16:52:31]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.v5syrzgr/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:python-dlt,src:dlt-daemon --apt-upgrade python-dlt --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=python-dlt/2.18.10.1-3.1 dlt-daemon/2.18.11-5' -- lxd -r lxd-armhf-10.145.243.46 lxd-armhf-10.145.243.46:autopkgtest/ubuntu/resolute/armhf 25s autopkgtest [16:52:56]: testbed dpkg architecture: armhf 27s autopkgtest [16:52:58]: testbed apt version: 3.1.15 31s autopkgtest [16:53:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 33s autopkgtest [16:53:04]: testbed release detected to be: None 41s autopkgtest [16:53:12]: updating testbed package index (apt update) 43s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 43s Get:2 http://ftpmaster.internal/ubuntu resolute InRelease [124 kB] 43s Get:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease [124 kB] 43s Get:4 http://ftpmaster.internal/ubuntu resolute-security InRelease [124 kB] 43s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [164 kB] 43s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1508 kB] 44s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [28.9 kB] 44s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main armhf Packages [229 kB] 44s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf Packages [1299 kB] 44s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse armhf Packages [6672 B] 44s Get:11 http://ftpmaster.internal/ubuntu resolute/universe Sources [21.3 MB] 46s Get:12 http://ftpmaster.internal/ubuntu resolute/main Sources [1407 kB] 46s Get:13 http://ftpmaster.internal/ubuntu resolute/multiverse Sources [311 kB] 46s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf Packages [1378 kB] 46s Get:15 http://ftpmaster.internal/ubuntu resolute/universe armhf Packages [14.9 MB] 46s Get:16 http://ftpmaster.internal/ubuntu resolute/multiverse armhf Packages [177 kB] 49s Fetched 43.2 MB in 7s (6540 kB/s) 50s Reading package lists... 56s autopkgtest [16:53:27]: upgrading testbed (apt dist-upgrade and autopurge) 58s Reading package lists... 58s Building dependency tree... 58s Reading state information... 59s Calculating upgrade... 59s The following packages will be upgraded: 59s ethtool libbsd0 libgdbm-compat4t64 libgdbm6t64 libidn2-0 59s libnetfilter-conntrack3 libusb-1.0-0 libwrap0 libxau6 libxkbcommon0 59s shared-mime-info ubuntu-minimal ubuntu-standard 59s 13 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s Need to get 1252 kB of archives. 59s After this operation, 2328 kB disk space will be freed. 59s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libbsd0 armhf 0.12.2-2build2 [36.8 kB] 60s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf ethtool armhf 1:6.15-3build1 [298 kB] 60s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf libidn2-0 armhf 2.3.8-4build1 [97.6 kB] 60s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf shared-mime-info armhf 2.4-5build3 [469 kB] 60s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf ubuntu-minimal armhf 1.564 [13.3 kB] 60s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf libgdbm6t64 armhf 1.26-1build1 [32.2 kB] 60s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf libnetfilter-conntrack3 armhf 1.1.1-1 [39.2 kB] 60s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libusb-1.0-0 armhf 2:1.0.29-2build1 [50.2 kB] 60s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf libxau6 armhf 1:1.0.11-1build2 [6652 B] 60s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libxkbcommon0 armhf 1.13.1-1 [144 kB] 60s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf ubuntu-standard armhf 1.564 [13.3 kB] 60s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libgdbm-compat4t64 armhf 1.26-1build1 [6372 B] 60s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libwrap0 armhf 7.6.q-36build2 [46.0 kB] 60s Fetched 1252 kB in 1s (1947 kB/s) 61s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 68753 files and directories currently installed.) 61s Preparing to unpack .../libbsd0_0.12.2-2build2_armhf.deb ... 61s Unpacking libbsd0:armhf (0.12.2-2build2) over (0.12.2-2build1) ... 61s Setting up libbsd0:armhf (0.12.2-2build2) ... 61s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 68753 files and directories currently installed.) 61s Preparing to unpack .../00-ethtool_1%3a6.15-3build1_armhf.deb ... 61s Unpacking ethtool (1:6.15-3build1) over (1:6.15-3) ... 61s Preparing to unpack .../01-libidn2-0_2.3.8-4build1_armhf.deb ... 61s Unpacking libidn2-0:armhf (2.3.8-4build1) over (2.3.8-4) ... 61s Preparing to unpack .../02-shared-mime-info_2.4-5build3_armhf.deb ... 61s Unpacking shared-mime-info (2.4-5build3) over (2.4-5build2) ... 61s Preparing to unpack .../03-ubuntu-minimal_1.564_armhf.deb ... 61s Unpacking ubuntu-minimal (1.564) over (1.563) ... 61s Preparing to unpack .../04-libgdbm6t64_1.26-1build1_armhf.deb ... 61s Unpacking libgdbm6t64:armhf (1.26-1build1) over (1.26-1) ... 61s Preparing to unpack .../05-libnetfilter-conntrack3_1.1.1-1_armhf.deb ... 61s Unpacking libnetfilter-conntrack3:armhf (1.1.1-1) over (1.1.0-1build1) ... 61s Preparing to unpack .../06-libusb-1.0-0_2%3a1.0.29-2build1_armhf.deb ... 61s Unpacking libusb-1.0-0:armhf (2:1.0.29-2build1) over (2:1.0.29-2) ... 61s Preparing to unpack .../07-libxau6_1%3a1.0.11-1build2_armhf.deb ... 61s Unpacking libxau6:armhf (1:1.0.11-1build2) over (1:1.0.11-1build1) ... 61s Preparing to unpack .../08-libxkbcommon0_1.13.1-1_armhf.deb ... 61s Unpacking libxkbcommon0:armhf (1.13.1-1) over (1.12.3-1) ... 61s Preparing to unpack .../09-ubuntu-standard_1.564_armhf.deb ... 61s Unpacking ubuntu-standard (1.564) over (1.563) ... 61s Preparing to unpack .../10-libgdbm-compat4t64_1.26-1build1_armhf.deb ... 61s Unpacking libgdbm-compat4t64:armhf (1.26-1build1) over (1.26-1) ... 61s Preparing to unpack .../11-libwrap0_7.6.q-36build2_armhf.deb ... 61s Unpacking libwrap0:armhf (7.6.q-36build2) over (7.6.q-36build1) ... 61s Setting up libxau6:armhf (1:1.0.11-1build2) ... 61s Setting up libgdbm6t64:armhf (1.26-1build1) ... 61s Setting up ubuntu-minimal (1.564) ... 61s Setting up libgdbm-compat4t64:armhf (1.26-1build1) ... 61s Setting up libidn2-0:armhf (2.3.8-4build1) ... 61s Setting up ubuntu-standard (1.564) ... 61s Setting up libwrap0:armhf (7.6.q-36build2) ... 61s Setting up shared-mime-info (2.4-5build3) ... 62s Setting up libnetfilter-conntrack3:armhf (1.1.1-1) ... 62s Setting up libusb-1.0-0:armhf (2:1.0.29-2build1) ... 62s Setting up ethtool (1:6.15-3build1) ... 62s Setting up libxkbcommon0:armhf (1.13.1-1) ... 62s Processing triggers for man-db (2.13.1-1build1) ... 63s Processing triggers for libc-bin (2.42-2ubuntu4) ... 65s Reading package lists... 66s Building dependency tree... 66s Reading state information... 66s Solving dependencies... 67s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 69s autopkgtest [16:53:40]: rebooting testbed after setup commands that affected boot 109s autopkgtest [16:54:20]: testbed running kernel: Linux 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:00:09 UTC 2 134s autopkgtest [16:54:45]: @@@@@@@@@@@@@@@@@@@@ apt-source python-dlt 144s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed/universe python-dlt 2.18.10.1-3.1 (dsc) [2479 B] 144s Get:2 http://ftpmaster.internal/ubuntu resolute-proposed/universe python-dlt 2.18.10.1-3.1 (tar) [63.7 kB] 144s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/universe python-dlt 2.18.10.1-3.1 (diff) [4608 B] 145s gpgv: Signature made Sun Feb 8 01:00:28 2026 UTC 145s gpgv: using RSA key 374D8CE4DB96E9CBD4C0972A606D084E4683C079 145s gpgv: Can't check signature: No public key 145s dpkg-source: warning: cannot verify inline signature for ./python-dlt_2.18.10.1-3.1.dsc: no acceptable signature found 145s autopkgtest [16:54:56]: testing package python-dlt version 2.18.10.1-3.1 147s autopkgtest [16:54:58]: build not needed 149s autopkgtest [16:55:00]: test pybuild-autopkgtest: preparing testbed 151s Reading package lists... 152s Building dependency tree... 152s Reading state information... 152s Solving dependencies... 153s The following NEW packages will be installed: 153s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 153s cpp-15-arm-linux-gnueabihf cpp-arm-linux-gnueabihf debhelper debugedit 153s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-15 153s g++-15-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-15 153s gcc-15-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 153s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 153s libdebhelper-perl libdlt2 libdw1t64 libfile-stripnondeterminism-perl 153s libgcc-15-dev libgomp1 libisl23 libmpc3 libpython3.14-minimal 153s libpython3.14-stdlib libstdc++-15-dev libtool libubsan1 linux-libc-dev m4 153s po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject pycodestyle 153s pylint python3-all python3-astroid python3-build python3-dill python3-dlt 154s python3-iniconfig python3-installer python3-isort python3-logilab-common 154s python3-mccabe python3-mypy-extensions python3-parameterized 154s python3-platformdirs python3-pluggy python3-pycodestyle 154s python3-pyproject-hooks python3-pytest python3-setuptools-scm 154s python3-tomlkit python3-wheel python3.14 python3.14-minimal rpcsvc-proto 154s 0 upgraded, 74 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 66.0 MB of archives. 154s After this operation, 198 MB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-minimal armhf 3.14.2-1 [905 kB] 154s Get:2 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14-minimal armhf 3.14.2-1 [2155 kB] 154s Get:3 http://ftpmaster.internal/ubuntu resolute/main armhf m4 armhf 1.4.21-1 [214 kB] 154s Get:4 http://ftpmaster.internal/ubuntu resolute/main armhf autoconf all 2.72-3.1ubuntu2 [384 kB] 154s Get:5 http://ftpmaster.internal/ubuntu resolute/main armhf autotools-dev all 20240727.1build1 [43.4 kB] 154s Get:6 http://ftpmaster.internal/ubuntu resolute/main armhf automake all 1:1.18.1-3build1 [582 kB] 154s Get:7 http://ftpmaster.internal/ubuntu resolute/main armhf autopoint all 0.23.2-1 [620 kB] 154s Get:8 http://ftpmaster.internal/ubuntu resolute/main armhf libc-dev-bin armhf 2.42-2ubuntu4 [21.8 kB] 154s Get:9 http://ftpmaster.internal/ubuntu resolute/main armhf linux-libc-dev armhf 6.19.0-3.3 [1804 kB] 154s Get:10 http://ftpmaster.internal/ubuntu resolute/main armhf libcrypt-dev armhf 1:4.5.1-1 [128 kB] 154s Get:11 http://ftpmaster.internal/ubuntu resolute/main armhf rpcsvc-proto armhf 1.4.3-1build1 [62.6 kB] 154s Get:12 http://ftpmaster.internal/ubuntu resolute/main armhf libc6-dev armhf 2.42-2ubuntu4 [1416 kB] 155s Get:13 http://ftpmaster.internal/ubuntu resolute/main armhf libisl23 armhf 0.27-1build1 [553 kB] 155s Get:14 http://ftpmaster.internal/ubuntu resolute/main armhf libmpc3 armhf 1.3.1-2 [47.0 kB] 155s Get:15 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [10.1 MB] 155s Get:16 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-15 armhf 15.2.0-12ubuntu1 [1032 B] 155s Get:17 http://ftpmaster.internal/ubuntu resolute/main armhf cpp-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [5756 B] 155s Get:18 http://ftpmaster.internal/ubuntu resolute/main armhf cpp armhf 4:15.2.0-4ubuntu1 [22.4 kB] 155s Get:19 http://ftpmaster.internal/ubuntu resolute/main armhf libcc1-0 armhf 15.2.0-12ubuntu1 [43.5 kB] 155s Get:20 http://ftpmaster.internal/ubuntu resolute/main armhf libgomp1 armhf 15.2.0-12ubuntu1 [129 kB] 155s Get:21 http://ftpmaster.internal/ubuntu resolute/main armhf libasan8 armhf 15.2.0-12ubuntu1 [2949 kB] 155s Get:22 http://ftpmaster.internal/ubuntu resolute/main armhf libubsan1 armhf 15.2.0-12ubuntu1 [1187 kB] 155s Get:23 http://ftpmaster.internal/ubuntu resolute/main armhf libgcc-15-dev armhf 15.2.0-12ubuntu1 [898 kB] 155s Get:24 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [19.5 MB] 156s Get:25 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-15 armhf 15.2.0-12ubuntu1 [499 kB] 156s Get:26 http://ftpmaster.internal/ubuntu resolute/main armhf gcc-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [1220 B] 156s Get:27 http://ftpmaster.internal/ubuntu resolute/main armhf gcc armhf 4:15.2.0-4ubuntu1 [5022 B] 156s Get:28 http://ftpmaster.internal/ubuntu resolute/main armhf libstdc++-15-dev armhf 15.2.0-12ubuntu1 [2638 kB] 156s Get:29 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15-arm-linux-gnueabihf armhf 15.2.0-12ubuntu1 [11.4 MB] 157s Get:30 http://ftpmaster.internal/ubuntu resolute/main armhf g++-15 armhf 15.2.0-12ubuntu1 [25.3 kB] 157s Get:31 http://ftpmaster.internal/ubuntu resolute/main armhf g++-arm-linux-gnueabihf armhf 4:15.2.0-4ubuntu1 [968 B] 157s Get:32 http://ftpmaster.internal/ubuntu resolute/main armhf g++ armhf 4:15.2.0-4ubuntu1 [1086 B] 157s Get:33 http://ftpmaster.internal/ubuntu resolute/main armhf build-essential armhf 12.12ubuntu2 [5256 B] 157s Get:34 http://ftpmaster.internal/ubuntu resolute/main armhf libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 157s Get:35 http://ftpmaster.internal/ubuntu resolute/main armhf libtool all 2.5.4-9 [169 kB] 157s Get:36 http://ftpmaster.internal/ubuntu resolute/main armhf dh-autoreconf all 21+nmu1 [11.9 kB] 157s Get:37 http://ftpmaster.internal/ubuntu resolute/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 157s Get:38 http://ftpmaster.internal/ubuntu resolute/main armhf libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 157s Get:39 http://ftpmaster.internal/ubuntu resolute/main armhf dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 157s Get:40 http://ftpmaster.internal/ubuntu resolute/main armhf libdw1t64 armhf 0.194-1 [254 kB] 157s Get:41 http://ftpmaster.internal/ubuntu resolute/main armhf debugedit armhf 1:5.2-3build1 [49.0 kB] 157s Get:42 http://ftpmaster.internal/ubuntu resolute/main armhf dwz armhf 0.16-2build1 [114 kB] 157s Get:43 http://ftpmaster.internal/ubuntu resolute/main armhf gettext armhf 0.23.2-1 [1059 kB] 157s Get:44 http://ftpmaster.internal/ubuntu resolute/main armhf intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 157s Get:45 http://ftpmaster.internal/ubuntu resolute/main armhf po-debconf all 1.0.22 [215 kB] 157s Get:46 http://ftpmaster.internal/ubuntu resolute/main armhf debhelper all 13.28ubuntu1 [916 kB] 157s Get:47 http://ftpmaster.internal/ubuntu resolute/universe armhf dh-python all 7.20260125 [122 kB] 157s Get:48 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf libdlt2 armhf 2.18.11-5 [133 kB] 157s Get:49 http://ftpmaster.internal/ubuntu resolute/main armhf libpython3.14-stdlib armhf 3.14.2-1 [2270 kB] 157s Get:50 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-autopkgtest all 7.20260125 [1744 B] 157s Get:51 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 157s Get:52 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-wheel all 0.46.1-2 [22.1 kB] 157s Get:53 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-build all 1.2.2-5 [30.9 kB] 157s Get:54 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 157s Get:55 http://ftpmaster.internal/ubuntu resolute/universe armhf pybuild-plugin-pyproject all 7.20260125 [1712 B] 157s Get:56 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pycodestyle all 2.12.1-2 [30.2 kB] 157s Get:57 http://ftpmaster.internal/ubuntu resolute/universe armhf pycodestyle all 2.12.1-2 [5248 B] 157s Get:58 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-astroid all 4.0.2-1ubuntu1 [172 kB] 157s Get:59 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-isort all 7.0.0-1 [59.7 kB] 157s Get:60 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-mypy-extensions all 1.1.0-1 [6716 B] 157s Get:61 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-logilab-common all 2.1.0-1build1 [95.9 kB] 157s Get:62 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-dill all 0.4.0-1 [84.8 kB] 157s Get:63 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-mccabe all 0.7.0-1build1 [8926 B] 157s Get:64 http://ftpmaster.internal/ubuntu resolute/main armhf python3-platformdirs all 4.5.1-1 [17.1 kB] 157s Get:65 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-tomlkit all 0.13.3-2 [39.1 kB] 157s Get:66 http://ftpmaster.internal/ubuntu resolute/universe armhf pylint all 4.0.4-1 [346 kB] 157s Get:67 http://ftpmaster.internal/ubuntu resolute/main armhf python3.14 armhf 3.14.2-1 [816 kB] 157s Get:68 http://ftpmaster.internal/ubuntu resolute/main armhf python3-all armhf 3.13.9-3 [890 B] 157s Get:69 http://ftpmaster.internal/ubuntu resolute-proposed/universe armhf python3-dlt all 2.18.10.1-3.1 [37.7 kB] 157s Get:70 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-iniconfig all 2.1.0-2 [6962 B] 157s Get:71 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-parameterized all 0.9.0-2ubuntu1 [20.2 kB] 157s Get:72 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pluggy all 1.6.0-2 [21.1 kB] 157s Get:73 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-pytest all 9.0.2-2 [277 kB] 157s Get:74 http://ftpmaster.internal/ubuntu resolute/universe armhf python3-setuptools-scm all 9.2.2-1 [46.2 kB] 158s Fetched 66.0 MB in 4s (18.0 MB/s) 158s Selecting previously unselected package libpython3.14-minimal:armhf. 158s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 68670 files and directories currently installed.) 158s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_armhf.deb ... 158s Unpacking libpython3.14-minimal:armhf (3.14.2-1) ... 158s Selecting previously unselected package python3.14-minimal. 158s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_armhf.deb ... 158s Unpacking python3.14-minimal (3.14.2-1) ... 158s Selecting previously unselected package m4. 158s Preparing to unpack .../02-m4_1.4.21-1_armhf.deb ... 158s Unpacking m4 (1.4.21-1) ... 158s Selecting previously unselected package autoconf. 158s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu2_all.deb ... 158s Unpacking autoconf (2.72-3.1ubuntu2) ... 158s Selecting previously unselected package autotools-dev. 158s Preparing to unpack .../04-autotools-dev_20240727.1build1_all.deb ... 158s Unpacking autotools-dev (20240727.1build1) ... 158s Selecting previously unselected package automake. 158s Preparing to unpack .../05-automake_1%3a1.18.1-3build1_all.deb ... 158s Unpacking automake (1:1.18.1-3build1) ... 158s Selecting previously unselected package autopoint. 158s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 158s Unpacking autopoint (0.23.2-1) ... 158s Selecting previously unselected package libc-dev-bin. 158s Preparing to unpack .../07-libc-dev-bin_2.42-2ubuntu4_armhf.deb ... 158s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 158s Selecting previously unselected package linux-libc-dev:armhf. 158s Preparing to unpack .../08-linux-libc-dev_6.19.0-3.3_armhf.deb ... 158s Unpacking linux-libc-dev:armhf (6.19.0-3.3) ... 159s Selecting previously unselected package libcrypt-dev:armhf. 159s Preparing to unpack .../09-libcrypt-dev_1%3a4.5.1-1_armhf.deb ... 159s Unpacking libcrypt-dev:armhf (1:4.5.1-1) ... 159s Selecting previously unselected package rpcsvc-proto. 159s Preparing to unpack .../10-rpcsvc-proto_1.4.3-1build1_armhf.deb ... 159s Unpacking rpcsvc-proto (1.4.3-1build1) ... 159s Selecting previously unselected package libc6-dev:armhf. 159s Preparing to unpack .../11-libc6-dev_2.42-2ubuntu4_armhf.deb ... 159s Unpacking libc6-dev:armhf (2.42-2ubuntu4) ... 159s Selecting previously unselected package libisl23:armhf. 159s Preparing to unpack .../12-libisl23_0.27-1build1_armhf.deb ... 159s Unpacking libisl23:armhf (0.27-1build1) ... 159s Selecting previously unselected package libmpc3:armhf. 159s Preparing to unpack .../13-libmpc3_1.3.1-2_armhf.deb ... 159s Unpacking libmpc3:armhf (1.3.1-2) ... 159s Selecting previously unselected package cpp-15-arm-linux-gnueabihf. 159s Preparing to unpack .../14-cpp-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 159s Unpacking cpp-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 159s Selecting previously unselected package cpp-15. 159s Preparing to unpack .../15-cpp-15_15.2.0-12ubuntu1_armhf.deb ... 159s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 159s Selecting previously unselected package cpp-arm-linux-gnueabihf. 159s Preparing to unpack .../16-cpp-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 159s Unpacking cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 159s Selecting previously unselected package cpp. 159s Preparing to unpack .../17-cpp_4%3a15.2.0-4ubuntu1_armhf.deb ... 159s Unpacking cpp (4:15.2.0-4ubuntu1) ... 160s Selecting previously unselected package libcc1-0:armhf. 160s Preparing to unpack .../18-libcc1-0_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking libcc1-0:armhf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package libgomp1:armhf. 160s Preparing to unpack .../19-libgomp1_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking libgomp1:armhf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package libasan8:armhf. 160s Preparing to unpack .../20-libasan8_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking libasan8:armhf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package libubsan1:armhf. 160s Preparing to unpack .../21-libubsan1_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking libubsan1:armhf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package libgcc-15-dev:armhf. 160s Preparing to unpack .../22-libgcc-15-dev_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking libgcc-15-dev:armhf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package gcc-15-arm-linux-gnueabihf. 160s Preparing to unpack .../23-gcc-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking gcc-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 160s Selecting previously unselected package gcc-15. 160s Preparing to unpack .../24-gcc-15_15.2.0-12ubuntu1_armhf.deb ... 160s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package gcc-arm-linux-gnueabihf. 161s Preparing to unpack .../25-gcc-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 161s Unpacking gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package gcc. 161s Preparing to unpack .../26-gcc_4%3a15.2.0-4ubuntu1_armhf.deb ... 161s Unpacking gcc (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package libstdc++-15-dev:armhf. 161s Preparing to unpack .../27-libstdc++-15-dev_15.2.0-12ubuntu1_armhf.deb ... 161s Unpacking libstdc++-15-dev:armhf (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-15-arm-linux-gnueabihf. 161s Preparing to unpack .../28-g++-15-arm-linux-gnueabihf_15.2.0-12ubuntu1_armhf.deb ... 161s Unpacking g++-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-15. 161s Preparing to unpack .../29-g++-15_15.2.0-12ubuntu1_armhf.deb ... 161s Unpacking g++-15 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-arm-linux-gnueabihf. 161s Preparing to unpack .../30-g++-arm-linux-gnueabihf_4%3a15.2.0-4ubuntu1_armhf.deb ... 161s Unpacking g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package g++. 162s Preparing to unpack .../31-g++_4%3a15.2.0-4ubuntu1_armhf.deb ... 162s Unpacking g++ (4:15.2.0-4ubuntu1) ... 162s Selecting previously unselected package build-essential. 162s Preparing to unpack .../32-build-essential_12.12ubuntu2_armhf.deb ... 162s Unpacking build-essential (12.12ubuntu2) ... 162s Selecting previously unselected package libdebhelper-perl. 162s Preparing to unpack .../33-libdebhelper-perl_13.28ubuntu1_all.deb ... 162s Unpacking libdebhelper-perl (13.28ubuntu1) ... 162s Selecting previously unselected package libtool. 162s Preparing to unpack .../34-libtool_2.5.4-9_all.deb ... 162s Unpacking libtool (2.5.4-9) ... 162s Selecting previously unselected package dh-autoreconf. 162s Preparing to unpack .../35-dh-autoreconf_21+nmu1_all.deb ... 162s Unpacking dh-autoreconf (21+nmu1) ... 162s Selecting previously unselected package libarchive-zip-perl. 162s Preparing to unpack .../36-libarchive-zip-perl_1.68-1_all.deb ... 162s Unpacking libarchive-zip-perl (1.68-1) ... 162s Selecting previously unselected package libfile-stripnondeterminism-perl. 162s Preparing to unpack .../37-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 162s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 162s Selecting previously unselected package dh-strip-nondeterminism. 162s Preparing to unpack .../38-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 162s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 162s Selecting previously unselected package libdw1t64:armhf. 162s Preparing to unpack .../39-libdw1t64_0.194-1_armhf.deb ... 162s Unpacking libdw1t64:armhf (0.194-1) ... 162s Selecting previously unselected package debugedit. 162s Preparing to unpack .../40-debugedit_1%3a5.2-3build1_armhf.deb ... 162s Unpacking debugedit (1:5.2-3build1) ... 162s Selecting previously unselected package dwz. 162s Preparing to unpack .../41-dwz_0.16-2build1_armhf.deb ... 162s Unpacking dwz (0.16-2build1) ... 162s Selecting previously unselected package gettext. 162s Preparing to unpack .../42-gettext_0.23.2-1_armhf.deb ... 162s Unpacking gettext (0.23.2-1) ... 162s Selecting previously unselected package intltool-debian. 162s Preparing to unpack .../43-intltool-debian_0.35.0+20060710.6build1_all.deb ... 162s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 162s Selecting previously unselected package po-debconf. 162s Preparing to unpack .../44-po-debconf_1.0.22_all.deb ... 162s Unpacking po-debconf (1.0.22) ... 162s Selecting previously unselected package debhelper. 162s Preparing to unpack .../45-debhelper_13.28ubuntu1_all.deb ... 162s Unpacking debhelper (13.28ubuntu1) ... 162s Selecting previously unselected package dh-python. 162s Preparing to unpack .../46-dh-python_7.20260125_all.deb ... 162s Unpacking dh-python (7.20260125) ... 163s Selecting previously unselected package libdlt2:armhf. 163s Preparing to unpack .../47-libdlt2_2.18.11-5_armhf.deb ... 163s Unpacking libdlt2:armhf (2.18.11-5) ... 163s Selecting previously unselected package libpython3.14-stdlib:armhf. 163s Preparing to unpack .../48-libpython3.14-stdlib_3.14.2-1_armhf.deb ... 163s Unpacking libpython3.14-stdlib:armhf (3.14.2-1) ... 163s Selecting previously unselected package pybuild-plugin-autopkgtest. 163s Preparing to unpack .../49-pybuild-plugin-autopkgtest_7.20260125_all.deb ... 163s Unpacking pybuild-plugin-autopkgtest (7.20260125) ... 163s Selecting previously unselected package python3-pyproject-hooks. 163s Preparing to unpack .../50-python3-pyproject-hooks_1.2.0-1_all.deb ... 163s Unpacking python3-pyproject-hooks (1.2.0-1) ... 163s Selecting previously unselected package python3-wheel. 163s Preparing to unpack .../51-python3-wheel_0.46.1-2_all.deb ... 163s Unpacking python3-wheel (0.46.1-2) ... 163s Selecting previously unselected package python3-build. 163s Preparing to unpack .../52-python3-build_1.2.2-5_all.deb ... 163s Unpacking python3-build (1.2.2-5) ... 163s Selecting previously unselected package python3-installer. 163s Preparing to unpack .../53-python3-installer_0.7.0+dfsg1-3_all.deb ... 163s Unpacking python3-installer (0.7.0+dfsg1-3) ... 163s Selecting previously unselected package pybuild-plugin-pyproject. 163s Preparing to unpack .../54-pybuild-plugin-pyproject_7.20260125_all.deb ... 163s Unpacking pybuild-plugin-pyproject (7.20260125) ... 163s Selecting previously unselected package python3-pycodestyle. 163s Preparing to unpack .../55-python3-pycodestyle_2.12.1-2_all.deb ... 163s Unpacking python3-pycodestyle (2.12.1-2) ... 163s Selecting previously unselected package pycodestyle. 163s Preparing to unpack .../56-pycodestyle_2.12.1-2_all.deb ... 163s Unpacking pycodestyle (2.12.1-2) ... 163s Selecting previously unselected package python3-astroid. 163s Preparing to unpack .../57-python3-astroid_4.0.2-1ubuntu1_all.deb ... 163s Unpacking python3-astroid (4.0.2-1ubuntu1) ... 163s Selecting previously unselected package python3-isort. 163s Preparing to unpack .../58-python3-isort_7.0.0-1_all.deb ... 163s Unpacking python3-isort (7.0.0-1) ... 163s Selecting previously unselected package python3-mypy-extensions. 163s Preparing to unpack .../59-python3-mypy-extensions_1.1.0-1_all.deb ... 163s Unpacking python3-mypy-extensions (1.1.0-1) ... 163s Selecting previously unselected package python3-logilab-common. 163s Preparing to unpack .../60-python3-logilab-common_2.1.0-1build1_all.deb ... 163s Unpacking python3-logilab-common (2.1.0-1build1) ... 163s Selecting previously unselected package python3-dill. 163s Preparing to unpack .../61-python3-dill_0.4.0-1_all.deb ... 163s Unpacking python3-dill (0.4.0-1) ... 163s Selecting previously unselected package python3-mccabe. 163s Preparing to unpack .../62-python3-mccabe_0.7.0-1build1_all.deb ... 163s Unpacking python3-mccabe (0.7.0-1build1) ... 163s Selecting previously unselected package python3-platformdirs. 164s Preparing to unpack .../63-python3-platformdirs_4.5.1-1_all.deb ... 164s Unpacking python3-platformdirs (4.5.1-1) ... 164s Selecting previously unselected package python3-tomlkit. 164s Preparing to unpack .../64-python3-tomlkit_0.13.3-2_all.deb ... 164s Unpacking python3-tomlkit (0.13.3-2) ... 164s Selecting previously unselected package pylint. 164s Preparing to unpack .../65-pylint_4.0.4-1_all.deb ... 164s Unpacking pylint (4.0.4-1) ... 164s Selecting previously unselected package python3.14. 164s Preparing to unpack .../66-python3.14_3.14.2-1_armhf.deb ... 164s Unpacking python3.14 (3.14.2-1) ... 164s Selecting previously unselected package python3-all. 164s Preparing to unpack .../67-python3-all_3.13.9-3_armhf.deb ... 164s Unpacking python3-all (3.13.9-3) ... 164s Selecting previously unselected package python3-dlt. 164s Preparing to unpack .../68-python3-dlt_2.18.10.1-3.1_all.deb ... 164s Unpacking python3-dlt (2.18.10.1-3.1) ... 164s Selecting previously unselected package python3-iniconfig. 164s Preparing to unpack .../69-python3-iniconfig_2.1.0-2_all.deb ... 164s Unpacking python3-iniconfig (2.1.0-2) ... 164s Selecting previously unselected package python3-parameterized. 164s Preparing to unpack .../70-python3-parameterized_0.9.0-2ubuntu1_all.deb ... 164s Unpacking python3-parameterized (0.9.0-2ubuntu1) ... 164s Selecting previously unselected package python3-pluggy. 164s Preparing to unpack .../71-python3-pluggy_1.6.0-2_all.deb ... 164s Unpacking python3-pluggy (1.6.0-2) ... 164s Selecting previously unselected package python3-pytest. 164s Preparing to unpack .../72-python3-pytest_9.0.2-2_all.deb ... 164s Unpacking python3-pytest (9.0.2-2) ... 164s Selecting previously unselected package python3-setuptools-scm. 164s Preparing to unpack .../73-python3-setuptools-scm_9.2.2-1_all.deb ... 164s Unpacking python3-setuptools-scm (9.2.2-1) ... 164s Setting up dh-python (7.20260125) ... 164s Setting up python3-iniconfig (2.1.0-2) ... 165s Setting up python3-parameterized (0.9.0-2ubuntu1) ... 165s Setting up libarchive-zip-perl (1.68-1) ... 165s Setting up python3-mypy-extensions (1.1.0-1) ... 165s Setting up libdebhelper-perl (13.28ubuntu1) ... 165s Setting up libpython3.14-minimal:armhf (3.14.2-1) ... 165s Setting up linux-libc-dev:armhf (6.19.0-3.3) ... 165s Setting up m4 (1.4.21-1) ... 165s Setting up libgomp1:armhf (15.2.0-12ubuntu1) ... 165s Setting up python3-wheel (0.46.1-2) ... 166s Setting up python3-setuptools-scm (9.2.2-1) ... 166s Setting up python3-platformdirs (4.5.1-1) ... 166s Setting up libdw1t64:armhf (0.194-1) ... 166s Setting up python3-pycodestyle (2.12.1-2) ... 167s Setting up autotools-dev (20240727.1build1) ... 167s Setting up rpcsvc-proto (1.4.3-1build1) ... 167s Setting up python3-pyproject-hooks (1.2.0-1) ... 167s Setting up python3-dill (0.4.0-1) ... 167s Setting up libmpc3:armhf (1.3.1-2) ... 167s Setting up autopoint (0.23.2-1) ... 167s Setting up python3-installer (0.7.0+dfsg1-3) ... 168s Setting up autoconf (2.72-3.1ubuntu2) ... 168s Setting up python3-isort (7.0.0-1) ... 168s Setting up python3-pluggy (1.6.0-2) ... 168s Setting up libubsan1:armhf (15.2.0-12ubuntu1) ... 168s Setting up dwz (0.16-2build1) ... 168s Setting up libdlt2:armhf (2.18.11-5) ... 168s Setting up python3-astroid (4.0.2-1ubuntu1) ... 169s Setting up libcrypt-dev:armhf (1:4.5.1-1) ... 169s Setting up libasan8:armhf (15.2.0-12ubuntu1) ... 169s Setting up debugedit (1:5.2-3build1) ... 169s Setting up python3-mccabe (0.7.0-1build1) ... 169s Setting up libisl23:armhf (0.27-1build1) ... 169s Setting up python3-build (1.2.2-5) ... 170s Setting up libc-dev-bin (2.42-2ubuntu4) ... 170s Setting up python3-tomlkit (0.13.3-2) ... 170s Setting up cpp-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 170s Setting up python3.14-minimal (3.14.2-1) ... 171s Setting up libcc1-0:armhf (15.2.0-12ubuntu1) ... 171s Setting up cpp-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 171s Setting up pycodestyle (2.12.1-2) ... 171s Setting up automake (1:1.18.1-3build1) ... 171s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 171s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 171s Setting up gettext (0.23.2-1) ... 171s Setting up libgcc-15-dev:armhf (15.2.0-12ubuntu1) ... 171s Setting up gcc-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 171s Setting up python3-logilab-common (2.1.0-1build1) ... 172s Setting up libpython3.14-stdlib:armhf (3.14.2-1) ... 172s Setting up pybuild-plugin-pyproject (7.20260125) ... 172s Setting up python3-pytest (9.0.2-2) ... 172s Setting up intltool-debian (0.35.0+20060710.6build1) ... 172s Setting up python3-dlt (2.18.10.1-3.1) ... 173s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 173s Setting up cpp-15 (15.2.0-12ubuntu1) ... 173s Setting up cpp (4:15.2.0-4ubuntu1) ... 173s Setting up libc6-dev:armhf (2.42-2ubuntu4) ... 173s Setting up python3.14 (3.14.2-1) ... 174s Setting up pylint (4.0.4-1) ... 175s Setting up gcc-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 175s Setting up po-debconf (1.0.22) ... 175s Setting up python3-all (3.13.9-3) ... 175s Setting up gcc-15 (15.2.0-12ubuntu1) ... 175s Setting up libstdc++-15-dev:armhf (15.2.0-12ubuntu1) ... 175s Setting up libtool (2.5.4-9) ... 175s Setting up g++-15-arm-linux-gnueabihf (15.2.0-12ubuntu1) ... 175s Setting up gcc (4:15.2.0-4ubuntu1) ... 175s Setting up dh-autoreconf (21+nmu1) ... 175s Setting up g++-15 (15.2.0-12ubuntu1) ... 175s Setting up g++-arm-linux-gnueabihf (4:15.2.0-4ubuntu1) ... 175s Setting up debhelper (13.28ubuntu1) ... 175s Setting up g++ (4:15.2.0-4ubuntu1) ... 175s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 175s Setting up build-essential (12.12ubuntu2) ... 175s Setting up pybuild-plugin-autopkgtest (7.20260125) ... 175s Processing triggers for man-db (2.13.1-1build1) ... 176s Processing triggers for install-info (7.2-5) ... 177s Processing triggers for libc-bin (2.42-2ubuntu4) ... 177s Processing triggers for systemd (259-1ubuntu3) ... 184s autopkgtest [16:55:35]: test pybuild-autopkgtest: pybuild-autopkgtest 184s autopkgtest [16:55:35]: test pybuild-autopkgtest: [----------------------- 188s pybuild-autopkgtest 189s I: pybuild base:384: cd /tmp/autopkgtest.wlIq1w/autopkgtest_tmp/build; python3.14 -m pytest -k 'not test_sizeof' 189s ============================= test session starts ============================== 189s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 189s rootdir: /tmp/autopkgtest.wlIq1w/autopkgtest_tmp/build 189s configfile: pyproject.toml 189s plugins: typeguard-4.4.4 189s collected 119 items / 1 deselected / 118 selected 189s 189s tests/condition_test.py .. [ 1%] 189s tests/continuousness_helper_test.py ....... [ 7%] 190s tests/dlt_broker_from_file_spinner_test.py FEFEFFF [ 11%] 191s tests/dlt_broker_time_test.py FFFFFFF.FFFFFFFF.......... [ 33%] 193s tests/dlt_client_unit_test.py .. [ 35%] 195s tests/dlt_context_handler_unit_test.py ......... [ 43%] 195s tests/dlt_core_unit_test.py .... [ 46%] 196s tests/dlt_file_spinner_unit_test.py .......FFFFF [ 56%] 196s tests/dlt_filter_unit_test.py ..... [ 61%] 204s tests/dlt_main_loop_by_reading_dlt_file_unit_test.py ...... [ 66%] 204s tests/dlt_main_loop_unit_test.py .... [ 69%] 204s tests/dlt_main_loop_with_dlt_client_unit_test.py .... [ 72%] 205s tests/dlt_message_handler_unit_test.py ........ [ 79%] 211s tests/dlt_message_performance_test.py ... [ 82%] 211s tests/dlt_message_unit_test.py ..................... [100%] 211s 211s ==================================== ERRORS ==================================== 211s _ ERROR at teardown of TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT.test_broker_with_later_created_dlt_file _ 211s 211s self = 211s 211s def tearDown(self) -> None: 211s if self.broker: 211s > self.broker.stop() 211s 211s tests/dlt_broker_from_file_spinner_test.py:28: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s _ ERROR at teardown of TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT.test_broker_with_not_existing_dlt_file _ 211s 211s self = 211s 211s def tearDown(self) -> None: 211s if self.broker: 211s > self.broker.stop() 211s 211s tests/dlt_broker_from_file_spinner_test.py:28: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s =================================== FAILURES =================================== 211s _ TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT.test_broker_with_later_created_dlt_file _ 211s 211s self = 211s 211s def test_broker_with_later_created_dlt_file(self): 211s """ 211s Simulate a scenario: first dlt file does not exist, then dlt file is created and written with messages. 211s 211s 1. delete the dlt file 211s 2. start broker 211s 3. create the dlt file and write 1 sample message 211s Expectation: 1 message could be dispatched from broker 211s """ 211s # 1. delete the dlt file 211s os.remove(self.dlt_file_name) 211s # 2. Start broker with non-existing dlt file 211s self.broker = DLTBroker( 211s filename=self.dlt_file_name, 211s enable_dlt_time=True, 211s enable_filter_set_ack=True, 211s ignore_filter_set_ack_timeout=True, 211s ) 211s > self.broker.start() 211s 211s tests/dlt_broker_from_file_spinner_test.py:82: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf347cf00>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s _ TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT.test_broker_with_not_existing_dlt_file _ 211s 211s self = 211s 211s def test_broker_with_not_existing_dlt_file(self): 211s """ 211s Test DLTBroker could work with not existing dlt file 211s 211s 1. prepare a file name which does not exist 211s 2. start dlt broker to dispatch messages from this not-existing file --> no error 211s 3. dlt broker could not add context successfully, but encounter a warning message 211s 4. no message could be dispatched from not existing file and throws out Queue.Empty exception 211s 5. dlt_time is 0.0, because it could not be reset according to the latest timestamp of messages 211s """ 211s # Remove the dlt file 211s os.remove(self.dlt_file_name) 211s # Start broker with non-existing dlt file 211s self.broker = DLTBroker( 211s filename=self.dlt_file_name, 211s enable_dlt_time=True, 211s enable_filter_set_ack=True, 211s ignore_filter_set_ack_timeout=True, 211s ) 211s > self.broker.start() 211s 211s tests/dlt_broker_from_file_spinner_test.py:51: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3593758>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s ____ TestDLTBrokerFromDLTFileSpinner.test_001_dispatch_from_empty_dlt_file _____ 211s 211s self = 211s 211s def setUp(self): 211s # Dlt file is created with empty content 211s _, self.dlt_file_name = tempfile.mkstemp(suffix=b".dlt") 211s self.dispatched_message_queue = Queue(maxsize=0) 211s # Instantiate DLTBroker without ignoring fileter ack timeout 211s self.broker = DLTBroker( 211s filename=self.dlt_file_name, 211s enable_dlt_time=True, 211s enable_filter_set_ack=True, 211s ignore_filter_set_ack_timeout=True, 211s ) 211s > self.broker.start() 211s 211s tests/dlt_broker_from_file_spinner_test.py:109: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3427f00>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s _____ TestDLTBrokerFromDLTFileSpinner.test_002_dispatch_from_real_dlt_file _____ 211s 211s self = 211s 211s def setUp(self): 211s # Dlt file is created with empty content 211s _, self.dlt_file_name = tempfile.mkstemp(suffix=b".dlt") 211s self.dispatched_message_queue = Queue(maxsize=0) 211s # Instantiate DLTBroker without ignoring fileter ack timeout 211s self.broker = DLTBroker( 211s filename=self.dlt_file_name, 211s enable_dlt_time=True, 211s enable_filter_set_ack=True, 211s ignore_filter_set_ack_timeout=True, 211s ) 211s > self.broker.start() 211s 211s tests/dlt_broker_from_file_spinner_test.py:109: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf34823e8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s _____ TestDLTBrokerFromDLTFileSpinner.test_003_dispatch_from_real_dlt_file _____ 211s 211s self = 211s 211s def setUp(self): 211s # Dlt file is created with empty content 211s _, self.dlt_file_name = tempfile.mkstemp(suffix=b".dlt") 211s self.dispatched_message_queue = Queue(maxsize=0) 211s # Instantiate DLTBroker without ignoring fileter ack timeout 211s self.broker = DLTBroker( 211s filename=self.dlt_file_name, 211s enable_dlt_time=True, 211s enable_filter_set_ack=True, 211s ignore_filter_set_ack_timeout=True, 211s ) 211s > self.broker.start() 211s 211s tests/dlt_broker_from_file_spinner_test.py:109: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3598050>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s __________________________ test_start_stop_dlt_broker __________________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf34d57a8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_start_stop_dlt_broker(): 211s """Test to stop DLTBroker with dlt-time normally""" 211s > with dlt_broker(fake_py_dlt_client_main_loop, enable_dlt_time=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:69: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s _________________ test_start_stop_dlt_broker_without_dlt_time __________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = False, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3227640>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_start_stop_dlt_broker_without_dlt_time(): 211s """Test to stop DLTBroker without dlt-time normally""" 211s > with dlt_broker(fake_py_dlt_client_main_loop, enable_dlt_time=False) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:75: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________ test_dlt_broker_get_dlt_time[42-42-42.42] ___________________ 211s 211s pydlt_main_func = .handle at 0xf3466238> 211s enable_dlt_time = True, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32945c8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s input_sec = 42, input_msec = 42, expected_value = 42.42 211s 211s @pytest.mark.parametrize( 211s "input_sec,input_msec,expected_value", 211s [ 211s (42, 42, 42.42), # normal test case 211s (1618993559, 7377682, 1618993559.7377682), # big value. The value will be truncated when type is not double 211s ], 211s ) 211s def test_dlt_broker_get_dlt_time(input_sec, input_msec, expected_value): 211s """Test to get time from DLTBroker""" 211s 211s def handle(client, callback=None, *args, **kwargs): 211s return callback(MockDLTMessage(payload="test_payload", sec=input_sec, msec=input_msec)) 211s 211s > with dlt_broker(handle) as broker: 211s ^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:92: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s _____ test_dlt_broker_get_dlt_time[1618993559-7377682-1618993559.7377682] ______ 211s 211s pydlt_main_func = .handle at 0xf351a2e8> 211s enable_dlt_time = True, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3255d48>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s input_sec = 1618993559, input_msec = 7377682 211s expected_value = 1618993559.7377682 211s 211s @pytest.mark.parametrize( 211s "input_sec,input_msec,expected_value", 211s [ 211s (42, 42, 42.42), # normal test case 211s (1618993559, 7377682, 1618993559.7377682), # big value. The value will be truncated when type is not double 211s ], 211s ) 211s def test_dlt_broker_get_dlt_time(input_sec, input_msec, expected_value): 211s """Test to get time from DLTBroker""" 211s 211s def handle(client, callback=None, *args, **kwargs): 211s return callback(MockDLTMessage(payload="test_payload", sec=input_sec, msec=input_msec)) 211s 211s > with dlt_broker(handle) as broker: 211s ^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:92: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s _____________________ test_dlt_broker_get_latest_dlt_time ______________________ 211s 211s pydlt_main_func = .handle at 0xf3516bd8> 211s enable_dlt_time = True, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32de2f8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_dlt_broker_get_latest_dlt_time(): 211s """Test to get the latest time from DLTBroker""" 211s # ref: https://stackoverflow.com/questions/3190706/nonlocal-keyword-in-python-2-x 211s time_value = {"v": 42} 211s 211s def handle(client, callback=None, *args, **kwargs): 211s if time_value["v"] < 45: 211s time_value["v"] += 1 211s 211s time.sleep(0.01) 211s return callback(MockDLTMessage(payload="test_payload", sec=time_value["v"], msec=42)) 211s 211s > with dlt_broker(handle) as broker: 211s ^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:110: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s _____________ test_start_stop_dlt_broker_with_dlt_ack_msg_handler ______________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf31d1f78>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_start_stop_dlt_broker_with_dlt_ack_msg_handler(): 211s """Test to stop DLTBroker with ack msg handler normally""" 211s > with dlt_broker(fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:121: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s ____________ test_start_stop_dlt_broker_without_dlt_ack_msg_handler ____________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = False 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32ce758>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_start_stop_dlt_broker_without_dlt_ack_msg_handler(): 211s """Test to stop DLTBroker without ack msg handler normally""" 211s > with dlt_broker(fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:127: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s ___________________ test_recv_filter_set_ack[True-True-True] ___________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf31ba6e0>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s ack = True, required_ack = True, return_val = True 211s 211s @pytest.mark.parametrize( 211s "ack,required_ack,return_val", 211s [ 211s (True, True, True), 211s (False, False, True), 211s (True, False, False), 211s (False, True, False), 211s ], 211s ) 211s def test_recv_filter_set_ack(ack, required_ack, return_val): 211s """Test to receive an ack value""" 211s queue = tqueue.Queue() 211s 211s queue.put(ack) 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:157: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________ test_recv_filter_set_ack[False-False-True] __________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32e9de8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s ack = False, required_ack = False, return_val = True 211s 211s @pytest.mark.parametrize( 211s "ack,required_ack,return_val", 211s [ 211s (True, True, True), 211s (False, False, True), 211s (True, False, False), 211s (False, True, False), 211s ], 211s ) 211s def test_recv_filter_set_ack(ack, required_ack, return_val): 211s """Test to receive an ack value""" 211s queue = tqueue.Queue() 211s 211s queue.put(ack) 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:157: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________ test_recv_filter_set_ack[True-False-False] __________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf330cb68>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s ack = True, required_ack = False, return_val = False 211s 211s @pytest.mark.parametrize( 211s "ack,required_ack,return_val", 211s [ 211s (True, True, True), 211s (False, False, True), 211s (True, False, False), 211s (False, True, False), 211s ], 211s ) 211s def test_recv_filter_set_ack(ack, required_ack, return_val): 211s """Test to receive an ack value""" 211s queue = tqueue.Queue() 211s 211s queue.put(ack) 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:157: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________ test_recv_filter_set_ack[False-True-False] __________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32a2ca8>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s ack = False, required_ack = True, return_val = False 211s 211s @pytest.mark.parametrize( 211s "ack,required_ack,return_val", 211s [ 211s (True, True, True), 211s (False, False, True), 211s (True, False, False), 211s (False, True, False), 211s ], 211s ) 211s def test_recv_filter_set_ack(ack, required_ack, return_val): 211s """Test to receive an ack value""" 211s queue = tqueue.Queue() 211s 211s queue.put(ack) 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:157: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s ___________________ test_recv_filter_set_ack_timeout_ignore ____________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf320d960>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_recv_filter_set_ack_timeout_ignore(): 211s """Test not to receive an ack value""" 211s queue = tqueue.Queue() 211s 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:165: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________ test_recv_filter_set_ack_timeout_exception __________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf324b988>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_recv_filter_set_ack_timeout_exception(): 211s """Test not to receive an ack value and with an exception""" 211s queue = tqueue.Queue() 211s 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:176: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s __________________________ test_add_context_with_ack ___________________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf317a8c0>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_add_context_with_ack(): 211s """Test to send a filter-setting message with required ack""" 211s queue = tqueue.Queue() 211s 211s with patch("dlt.dlt_broker.DLTBroker._recv_filter_set_ack", return_value=True) as ack_mock: 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:191: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s ______________________ test_add_context_with_ack_warning _______________________ 211s 211s pydlt_main_func = 211s enable_dlt_time = True, enable_filter_set_ack = True 211s 211s @contextmanager 211s def dlt_broker(pydlt_main_func=fake_py_dlt_client_main_loop, enable_dlt_time=True, enable_filter_set_ack=False): 211s """Initialize a fake DLTBroker""" 211s with patch("dlt.dlt_broker_handlers.DLTMessageHandler._client_connect"), patch( 211s "dlt.dlt_broker_handlers.py_dlt_client_main_loop", side_effect=pydlt_main_func 211s ): 211s broker = DLTBroker("42.42.42.42", enable_dlt_time=enable_dlt_time, enable_filter_set_ack=enable_filter_set_ack) 211s broker.msg_handler._client = MagicMock() 211s 211s try: 211s > broker.start() 211s 211s tests/dlt_broker_time_test.py:30: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:146: in start 211s self.msg_handler.start() 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3184d48>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E _pickle.PicklingError: Can't pickle : it's not the same object as unittest.mock.MagicMock 211s E when serializing unittest.mock.MagicMock class 211s E when serializing unittest.mock.MagicMock object 211s E when serializing dict item '_client' 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler state 211s E when serializing dlt.dlt_broker_handlers.DLTMessageHandler object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: PicklingError 211s 211s During handling of the above exception, another exception occurred: 211s 211s def test_add_context_with_ack_warning(): 211s """Test to send a filter-setting message but not received an ack""" 211s queue = tqueue.Queue() 211s 211s with patch("dlt.dlt_broker.DLTBroker._recv_filter_set_ack", return_value=False) as ack_mock, patch.object( 211s logger, "warning" 211s ) as logger_mock: 211s > with dlt_broker(enable_filter_set_ack=True) as broker: 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s 211s tests/dlt_broker_time_test.py:210: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/contextlib.py:141: in __enter__ 211s return next(self.gen) 211s ^^^^^^^^^^^^^^ 211s tests/dlt_broker_time_test.py:35: in dlt_broker 211s broker.stop() 211s /usr/lib/python3/dist-packages/dlt/dlt_broker.py:242: in stop 211s self.context_handler.join() 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s self = , timeout = None 211s 211s def join(self, timeout=None): 211s """Wait until the thread terminates. 211s 211s This blocks the calling thread until the thread whose join() method is 211s called terminates -- either normally or through an unhandled exception 211s or until the optional timeout occurs. 211s 211s When the timeout argument is present and not None, it should be a 211s floating-point number specifying a timeout for the operation in seconds 211s (or fractions thereof). As join() always returns None, you must call 211s is_alive() after join() to decide whether a timeout happened -- if the 211s thread is still alive, the join() call timed out. 211s 211s When the timeout argument is not present or None, the operation will 211s block until the thread terminates. 211s 211s A thread can be join()ed many times. 211s 211s join() raises a RuntimeError if an attempt is made to join the current 211s thread as that would cause a deadlock. It is also an error to join() a 211s thread before it has been started and attempts to do so raises the same 211s exception. 211s 211s """ 211s if not self._initialized: 211s raise RuntimeError("Thread.__init__() not called") 211s if not self._started.is_set(): 211s > raise RuntimeError("cannot join thread before it is started") 211s E RuntimeError: cannot join thread before it is started 211s 211s /usr/lib/python3.14/threading.py:1124: RuntimeError 211s ____________ TestDLTFileSpinner.test_run_basic_with_empty_dlt_file _____________ 211s 211s self = 211s 211s def test_run_basic_with_empty_dlt_file(self): 211s self.assertFalse(self.dlt_file_spinner.is_alive()) 211s > self.dlt_file_spinner.start() 211s 211s tests/dlt_file_spinner_unit_test.py:67: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf355ce88>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s ______________ TestDLTFileSpinner.test_run_basic_without_dlt_file ______________ 211s 211s self = 211s 211s def test_run_basic_without_dlt_file(self): 211s # Delete the created dlt file 211s os.remove(self.dlt_file_name) 211s 211s self.assertFalse(self.dlt_file_spinner.is_alive()) 211s > self.dlt_file_spinner.start() 211s 211s tests/dlt_file_spinner_unit_test.py:54: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf35232d0>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s _______ TestDLTFileSpinner.test_run_with_writing_empty_apid_ctid_to_file _______ 211s 211s self = 211s 211s def test_run_with_writing_empty_apid_ctid_to_file(self): 211s """ 211s Test with real dlt file, which contains message with apid=b"" and ctid=b"" 211s 211s 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s 2. start DLTFileSpinner 211s At this moment, no messages are written to dlt file, so no messages in DLTFileSpinner.message_queue 211s 3. write message with apid=b"" and ctid=b"" to dlt file 211s Expectation: we could dispatch 1 message from DLTFileSpinner.message_queue 211s and, apid==b"" and ctid==b"" 211s 5. stop DLTFileSpinner 211s """ 211s # 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s self.filter_queue.put(("queue_id0", [(None, None)], True)) 211s time.sleep(0.01) 211s # 2. start DLTFileSpinner 211s self.assertFalse(self.dlt_file_spinner.is_alive()) 211s > self.dlt_file_spinner.start() 211s 211s tests/dlt_file_spinner_unit_test.py:275: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf32950a0>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s _______________ TestDLTFileSpinner.test_run_with_writing_to_file _______________ 211s 211s self = 211s 211s def test_run_with_writing_to_file(self): 211s """ 211s Test with real dlt file, which is written at runtime 211s 211s 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s 2. start DLTFileSpinner 211s At this moment, no messages are written to dlt file, so no messages in DLTFileSpinner.message_queue 211s 3. write 2 sample messages to dlt file 211s Expectation: we could dispatch 2 messages from DLTFileSpinner.message_queue 211s 5. stop DLTFileSpinner 211s """ 211s # 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s self.filter_queue.put(("queue_id0", [("SYS", "JOUR")], True)) 211s self.filter_queue.put(("queue_id1", [("DA1", "DC1")], True)) 211s self.filter_queue.put(("queue_id2", [("SYS", None)], True)) 211s self.filter_queue.put(("queue_id3", [(None, "DC1")], True)) 211s self.filter_queue.put(("queue_id4", [(None, None)], True)) 211s time.sleep(0.01) 211s # 2. start DLTFileSpinner 211s self.assertFalse(self.dlt_file_spinner.is_alive()) 211s > self.dlt_file_spinner.start() 211s 211s tests/dlt_file_spinner_unit_test.py:195: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf325d640>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s ____________ TestDLTFileSpinner.test_run_with_writing_to_file_twice ____________ 211s 211s self = 211s 211s def test_run_with_writing_to_file_twice(self): 211s """ 211s Test with real dlt file, which is written at runtime 2 times 211s 211s 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s 2. start DLTFileSpinner 211s 3. write 2 sample messages to dlt file 211s Expectation: we could dispatch 2 messages from DLTFileSpinner.message_queue 211s 4. append 1 sample message to dlt file 211s Expectation: we could dispatch 3 messages from DLTFileSpinner.message_queue 211s 5. stop DLTFileSpinner 211s """ 211s # 1. set filter_queue properly, so that the handled messages could be added to message_queue later 211s self.filter_queue.put(("queue_id0", [("SYS", "JOUR")], True)) 211s self.filter_queue.put(("queue_id1", [("DA1", "DC1")], True)) 211s self.filter_queue.put(("queue_id2", [("SYS", None)], True)) 211s self.filter_queue.put(("queue_id3", [(None, "DC1")], True)) 211s self.filter_queue.put(("queue_id4", [(None, None)], True)) 211s time.sleep(0.01) 211s # 2. start DLTFileSpinner 211s self.assertFalse(self.dlt_file_spinner.is_alive()) 211s > self.dlt_file_spinner.start() 211s 211s tests/dlt_file_spinner_unit_test.py:235: 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s /usr/lib/python3.14/multiprocessing/process.py:121: in start 211s self._popen = self._Popen(self) 211s ^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:224: in _Popen 211s return _default_context.get_context().Process._Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 211s return Popen(process_obj) 211s ^^^^^^^^^^^^^^^^^^ 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 211s super().__init__(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 211s self._launch(process_obj) 211s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:47: in _launch 211s reduction.dump(process_obj, buf) 211s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 211s 211s obj = 211s file = <_io.BytesIO object at 0xf3458d70>, protocol = None 211s 211s def dump(obj, file, protocol=None): 211s '''Replacement for pickle.dump() using ForkingPickler.''' 211s > ForkingPickler(file, protocol).dump(obj) 211s E ValueError: ctypes objects containing pointers cannot be pickled 211s E when serializing dict item 'dlt_reader' 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner state 211s E when serializing dlt.dlt_broker_handlers.DLTFileSpinner object 211s 211s /usr/lib/python3.14/multiprocessing/reduction.py:60: ValueError 211s =========================== short test summary info ============================ 211s FAILED tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT::test_broker_with_later_created_dlt_file 211s FAILED tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT::test_broker_with_not_existing_dlt_file 211s FAILED tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinner::test_001_dispatch_from_empty_dlt_file 211s FAILED tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinner::test_002_dispatch_from_real_dlt_file 211s FAILED tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinner::test_003_dispatch_from_real_dlt_file 211s FAILED tests/dlt_broker_time_test.py::test_start_stop_dlt_broker - RuntimeErr... 211s FAILED tests/dlt_broker_time_test.py::test_start_stop_dlt_broker_without_dlt_time 211s FAILED tests/dlt_broker_time_test.py::test_dlt_broker_get_dlt_time[42-42-42.42] 211s FAILED tests/dlt_broker_time_test.py::test_dlt_broker_get_dlt_time[1618993559-7377682-1618993559.7377682] 211s FAILED tests/dlt_broker_time_test.py::test_dlt_broker_get_latest_dlt_time - R... 211s FAILED tests/dlt_broker_time_test.py::test_start_stop_dlt_broker_with_dlt_ack_msg_handler 211s FAILED tests/dlt_broker_time_test.py::test_start_stop_dlt_broker_without_dlt_ack_msg_handler 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack[True-True-True] 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack[False-False-True] 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack[True-False-False] 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack[False-True-False] 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack_timeout_ignore 211s FAILED tests/dlt_broker_time_test.py::test_recv_filter_set_ack_timeout_exception 211s FAILED tests/dlt_broker_time_test.py::test_add_context_with_ack - RuntimeErro... 211s FAILED tests/dlt_broker_time_test.py::test_add_context_with_ack_warning - Run... 211s FAILED tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_basic_with_empty_dlt_file 211s FAILED tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_basic_without_dlt_file 211s FAILED tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_empty_apid_ctid_to_file 211s FAILED tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_to_file 211s FAILED tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_to_file_twice 211s ERROR tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT::test_broker_with_later_created_dlt_file 211s ERROR tests/dlt_broker_from_file_spinner_test.py::TestDLTBrokerFromDLTFileSpinnerWithNotExistingDLT::test_broker_with_not_existing_dlt_file 211s ============ 25 failed, 93 passed, 1 deselected, 2 errors in 21.55s ============ 211s E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.wlIq1w/autopkgtest_tmp/build; python3.14 -m pytest -k 'not test_sizeof' 211s I: pybuild base:384: cd /tmp/autopkgtest.wlIq1w/autopkgtest_tmp/build; python3.13 -m pytest -k 'not test_sizeof' 212s ============================= test session starts ============================== 212s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 212s rootdir: /tmp/autopkgtest.wlIq1w/autopkgtest_tmp/build 212s configfile: pyproject.toml 212s plugins: typeguard-4.4.4 212s collected 119 items / 1 deselected / 118 selected 212s 212s tests/condition_test.py .. [ 1%] 212s tests/continuousness_helper_test.py ....... [ 7%] 224s tests/dlt_broker_from_file_spinner_test.py ..... [ 11%] 225s tests/dlt_broker_time_test.py .......................... [ 33%] 227s tests/dlt_client_unit_test.py .. [ 35%] 229s tests/dlt_context_handler_unit_test.py ......... [ 43%] 229s tests/dlt_core_unit_test.py .... [ 46%] 241s tests/dlt_file_spinner_unit_test.py ............ [ 56%] 241s tests/dlt_filter_unit_test.py ..... [ 61%] 249s tests/dlt_main_loop_by_reading_dlt_file_unit_test.py ...... [ 66%] 249s tests/dlt_main_loop_unit_test.py .... [ 69%] 249s tests/dlt_main_loop_with_dlt_client_unit_test.py .... [ 72%] 250s tests/dlt_message_handler_unit_test.py ........ [ 79%] 255s tests/dlt_message_performance_test.py ... [ 82%] 255s tests/dlt_message_unit_test.py ..................... [100%] 255s 255s =============================== warnings summary =============================== 255s tests/dlt_broker_time_test.py::test_add_context_with_ack 255s tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_empty_apid_ctid_to_file 255s tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_to_file 255s tests/dlt_file_spinner_unit_test.py::TestDLTFileSpinner::test_run_with_writing_to_file_twice 255s /usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=2063) is multi-threaded, use of fork() may lead to deadlocks in the child. 255s self.pid = os.fork() 255s 255s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 255s ================ 118 passed, 1 deselected, 4 warnings in 42.74s ================ 255s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13 255s make: *** [/tmp/GR1Y3MY_4_/run:4: pybuild-autopkgtest] Error 25 255s pybuild-autopkgtest: error: /tmp/GR1Y3MY_4_/run pybuild-autopkgtest returned exit code 2 255s autopkgtest [16:56:46]: test pybuild-autopkgtest: -----------------------] 259s pybuild-autopkgtest FAIL non-zero exit status 25 259s autopkgtest [16:56:50]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 263s autopkgtest [16:56:54]: @@@@@@@@@@@@@@@@@@@@ summary 263s pybuild-autopkgtest FAIL non-zero exit status 25