0s autopkgtest [17:13:02]: starting date and time: 2024-12-27 17:13:02+0000 0s autopkgtest [17:13:02]: git checkout: 325255d2 Merge branch 'pin-any-arch' into 'ubuntu/production' 0s autopkgtest [17:13:02]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.g_qt59d_/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade python-foobot-async --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.12.8-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-16.secgroup --name adt-plucky-arm64-python-foobot-async-20241227-171301-juju-7f2275-prod-proposed-migration-environment-2-5c23d0f2-f2a4-42e8-bf32-20bcb07ecb07 --image adt/ubuntu-plucky-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 132s autopkgtest [17:15:14]: testbed dpkg architecture: arm64 132s autopkgtest [17:15:14]: testbed apt version: 2.9.18 133s autopkgtest [17:15:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 133s autopkgtest [17:15:15]: testbed release detected to be: None 134s autopkgtest [17:15:16]: updating testbed package index (apt update) 134s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed InRelease [73.9 kB] 134s Hit:2 http://ftpmaster.internal/ubuntu plucky InRelease 134s Hit:3 http://ftpmaster.internal/ubuntu plucky-updates InRelease 135s Hit:4 http://ftpmaster.internal/ubuntu plucky-security InRelease 135s Get:5 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse Sources [11.5 kB] 135s Get:6 http://ftpmaster.internal/ubuntu plucky-proposed/restricted Sources [9708 B] 135s Get:7 http://ftpmaster.internal/ubuntu plucky-proposed/main Sources [56.0 kB] 135s Get:8 http://ftpmaster.internal/ubuntu plucky-proposed/universe Sources [620 kB] 135s Get:9 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 Packages [74.2 kB] 135s Get:10 http://ftpmaster.internal/ubuntu plucky-proposed/restricted arm64 Packages [57.8 kB] 135s Get:11 http://ftpmaster.internal/ubuntu plucky-proposed/universe arm64 Packages [503 kB] 135s Get:12 http://ftpmaster.internal/ubuntu plucky-proposed/multiverse arm64 Packages [10.5 kB] 135s Fetched 1417 kB in 1s (1632 kB/s) 136s Reading package lists... 136s Reading package lists... 137s Building dependency tree... 137s Reading state information... 137s Calculating upgrade... 137s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 138s Reading package lists... 138s Building dependency tree... 138s Reading state information... 138s 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 138s autopkgtest [17:15:20]: upgrading testbed (apt dist-upgrade and autopurge) 139s Reading package lists... 139s Building dependency tree... 139s Reading state information... 139s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 139s Starting 2 pkgProblemResolver with broken count: 0 139s Done 140s Entering ResolveByKeep 140s 141s The following packages will be upgraded: 141s libpython3-stdlib python3 python3-minimal 141s 3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 141s Need to get 61.5 kB of archives. 141s After this operation, 0 B of additional disk space will be used. 141s Get:1 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-minimal arm64 3.12.8-1 [27.5 kB] 141s Get:2 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3 arm64 3.12.8-1 [23.9 kB] 141s Get:3 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 libpython3-stdlib arm64 3.12.8-1 [10.1 kB] 141s Fetched 61.5 kB in 0s (225 kB/s) 142s (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 ... 80060 files and directories currently installed.) 142s Preparing to unpack .../python3-minimal_3.12.8-1_arm64.deb ... 142s Unpacking python3-minimal (3.12.8-1) over (3.12.7-1) ... 142s Setting up python3-minimal (3.12.8-1) ... 142s (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 ... 80060 files and directories currently installed.) 142s Preparing to unpack .../python3_3.12.8-1_arm64.deb ... 142s Unpacking python3 (3.12.8-1) over (3.12.7-1) ... 142s Preparing to unpack .../libpython3-stdlib_3.12.8-1_arm64.deb ... 142s Unpacking libpython3-stdlib:arm64 (3.12.8-1) over (3.12.7-1) ... 142s Setting up libpython3-stdlib:arm64 (3.12.8-1) ... 142s Setting up python3 (3.12.8-1) ... 142s Processing triggers for man-db (2.13.0-1) ... 143s Reading package lists... 143s Building dependency tree... 143s Reading state information... 144s Starting pkgProblemResolver with broken count: 0 144s Starting 2 pkgProblemResolver with broken count: 0 144s Done 144s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 147s autopkgtest [17:15:29]: testbed running kernel: Linux 6.11.0-8-generic #8-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 16 14:19:41 UTC 2024 147s autopkgtest [17:15:29]: @@@@@@@@@@@@@@@@@@@@ apt-source python-foobot-async 149s Get:1 http://ftpmaster.internal/ubuntu plucky/universe python-foobot-async 1.0.1-2 (dsc) [2325 B] 149s Get:2 http://ftpmaster.internal/ubuntu plucky/universe python-foobot-async 1.0.1-2 (tar) [33.6 kB] 149s Get:3 http://ftpmaster.internal/ubuntu plucky/universe python-foobot-async 1.0.1-2 (diff) [2056 B] 149s gpgv: Signature made Mon Sep 9 12:25:32 2024 UTC 149s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 149s gpgv: Can't check signature: No public key 149s dpkg-source: warning: cannot verify inline signature for ./python-foobot-async_1.0.1-2.dsc: no acceptable signature found 149s autopkgtest [17:15:31]: testing package python-foobot-async version 1.0.1-2 149s autopkgtest [17:15:31]: build not needed 149s autopkgtest [17:15:31]: test pybuild-autopkgtest: preparing testbed 150s Reading package lists... 150s Building dependency tree... 150s Reading state information... 150s Starting pkgProblemResolver with broken count: 0 150s Starting 2 pkgProblemResolver with broken count: 0 150s Done 151s The following NEW packages will be installed: 151s autoconf automake autopoint autotools-dev build-essential cpp cpp-14 151s cpp-14-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 151s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-14 151s g++-14-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-14 151s gcc-14-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 151s libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 151s libfile-stripnondeterminism-perl libgcc-14-dev libgomp1 libhwasan0 libisl23 151s libitm1 liblsan0 libmpc3 libpython3.13-minimal libpython3.13-stdlib 151s libstdc++-14-dev libtool libtsan2 libubsan1 m4 openstack-pkg-tools 151s po-debconf pybuild-plugin-autopkgtest pybuild-plugin-pyproject 151s python3-aiohttp python3-aioresponses python3-aiosignal python3-all 151s python3-async-timeout python3-build python3-foobot-async python3-frozenlist 151s python3-iniconfig python3-installer python3-multidict python3-packaging 151s python3-pip python3-pluggy python3-pyproject-hooks python3-pytest 151s python3-toml python3-wheel python3-yarl python3.13 python3.13-minimal 151s 0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded. 151s Need to get 72.8 MB of archives. 151s After this operation, 260 MB of additional disk space will be used. 151s Get:1 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-minimal arm64 3.13.1-2 [879 kB] 152s Get:2 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13-minimal arm64 3.13.1-2 [2262 kB] 152s Get:3 http://ftpmaster.internal/ubuntu plucky/main arm64 m4 arm64 1.4.19-4build1 [240 kB] 152s Get:4 http://ftpmaster.internal/ubuntu plucky/main arm64 autoconf all 2.72-3 [382 kB] 152s Get:5 http://ftpmaster.internal/ubuntu plucky/main arm64 autotools-dev all 20220109.1 [44.9 kB] 152s Get:6 http://ftpmaster.internal/ubuntu plucky/main arm64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 152s Get:7 http://ftpmaster.internal/ubuntu plucky/main arm64 autopoint all 0.22.5-3 [616 kB] 152s Get:8 http://ftpmaster.internal/ubuntu plucky/main arm64 libisl23 arm64 0.27-1 [676 kB] 152s Get:9 http://ftpmaster.internal/ubuntu plucky/main arm64 libmpc3 arm64 1.3.1-1build2 [56.8 kB] 152s Get:10 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14-aarch64-linux-gnu arm64 14.2.0-11ubuntu1 [10.6 MB] 152s Get:11 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-14 arm64 14.2.0-11ubuntu1 [1030 B] 152s Get:12 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp-aarch64-linux-gnu arm64 4:14.1.0-2ubuntu1 [5452 B] 152s Get:13 http://ftpmaster.internal/ubuntu plucky/main arm64 cpp arm64 4:14.1.0-2ubuntu1 [22.5 kB] 152s Get:14 http://ftpmaster.internal/ubuntu plucky/main arm64 libcc1-0 arm64 14.2.0-11ubuntu1 [49.6 kB] 152s Get:15 http://ftpmaster.internal/ubuntu plucky/main arm64 libgomp1 arm64 14.2.0-11ubuntu1 [145 kB] 152s Get:16 http://ftpmaster.internal/ubuntu plucky/main arm64 libitm1 arm64 14.2.0-11ubuntu1 [27.8 kB] 152s Get:17 http://ftpmaster.internal/ubuntu plucky/main arm64 libasan8 arm64 14.2.0-11ubuntu1 [2893 kB] 152s Get:18 http://ftpmaster.internal/ubuntu plucky/main arm64 liblsan0 arm64 14.2.0-11ubuntu1 [1283 kB] 152s Get:19 http://ftpmaster.internal/ubuntu plucky/main arm64 libtsan2 arm64 14.2.0-11ubuntu1 [2686 kB] 152s Get:20 http://ftpmaster.internal/ubuntu plucky/main arm64 libubsan1 arm64 14.2.0-11ubuntu1 [1152 kB] 152s Get:21 http://ftpmaster.internal/ubuntu plucky/main arm64 libhwasan0 arm64 14.2.0-11ubuntu1 [1599 kB] 152s Get:22 http://ftpmaster.internal/ubuntu plucky/main arm64 libgcc-14-dev arm64 14.2.0-11ubuntu1 [2597 kB] 153s Get:23 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14-aarch64-linux-gnu arm64 14.2.0-11ubuntu1 [20.9 MB] 153s Get:24 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-14 arm64 14.2.0-11ubuntu1 [521 kB] 153s Get:25 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc-aarch64-linux-gnu arm64 4:14.1.0-2ubuntu1 [1200 B] 153s Get:26 http://ftpmaster.internal/ubuntu plucky/main arm64 gcc arm64 4:14.1.0-2ubuntu1 [4994 B] 153s Get:27 http://ftpmaster.internal/ubuntu plucky/main arm64 libstdc++-14-dev arm64 14.2.0-11ubuntu1 [2500 kB] 153s Get:28 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14-aarch64-linux-gnu arm64 14.2.0-11ubuntu1 [12.1 MB] 154s Get:29 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-14 arm64 14.2.0-11ubuntu1 [20.1 kB] 154s Get:30 http://ftpmaster.internal/ubuntu plucky/main arm64 g++-aarch64-linux-gnu arm64 4:14.1.0-2ubuntu1 [958 B] 154s Get:31 http://ftpmaster.internal/ubuntu plucky/main arm64 g++ arm64 4:14.1.0-2ubuntu1 [1080 B] 154s Get:32 http://ftpmaster.internal/ubuntu plucky/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 154s Get:33 http://ftpmaster.internal/ubuntu plucky/main arm64 libdebhelper-perl all 13.20ubuntu1 [94.2 kB] 154s Get:34 http://ftpmaster.internal/ubuntu plucky/main arm64 libtool all 2.4.7-8 [166 kB] 154s Get:35 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-autoreconf all 20 [16.1 kB] 154s Get:36 http://ftpmaster.internal/ubuntu plucky/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 154s Get:37 http://ftpmaster.internal/ubuntu plucky/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 154s Get:38 http://ftpmaster.internal/ubuntu plucky/main arm64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 154s Get:39 http://ftpmaster.internal/ubuntu plucky/main arm64 debugedit arm64 1:5.1-1 [45.9 kB] 154s Get:40 http://ftpmaster.internal/ubuntu plucky/main arm64 dwz arm64 0.15-1build6 [113 kB] 154s Get:41 http://ftpmaster.internal/ubuntu plucky/main arm64 gettext arm64 0.22.5-3 [932 kB] 154s Get:42 http://ftpmaster.internal/ubuntu plucky/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 154s Get:43 http://ftpmaster.internal/ubuntu plucky/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 154s Get:44 http://ftpmaster.internal/ubuntu plucky/main arm64 debhelper all 13.20ubuntu1 [893 kB] 154s Get:45 http://ftpmaster.internal/ubuntu plucky/universe arm64 dh-python all 6.20241217 [117 kB] 154s Get:46 http://ftpmaster.internal/ubuntu plucky/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [2061 kB] 154s Get:47 http://ftpmaster.internal/ubuntu plucky/universe arm64 pybuild-plugin-autopkgtest all 6.20241217 [1746 B] 154s Get:48 http://ftpmaster.internal/ubuntu plucky/main arm64 python3-packaging all 24.2-1 [51.5 kB] 154s Get:49 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 154s Get:50 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-toml all 0.10.2-1 [16.5 kB] 154s Get:51 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-wheel all 0.45.1-1 [57.7 kB] 154s Get:52 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-build all 1.2.2-1 [31.0 kB] 154s Get:53 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 154s Get:54 http://ftpmaster.internal/ubuntu plucky/universe arm64 pybuild-plugin-pyproject all 6.20241217 [1730 B] 154s Get:55 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-multidict arm64 6.1.0-1build1 [38.3 kB] 154s Get:56 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-yarl arm64 1.9.4-1 [68.2 kB] 154s Get:57 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-async-timeout all 5.0.1-1 [6830 B] 154s Get:58 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-frozenlist arm64 1.5.0-1build1 [59.0 kB] 154s Get:59 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiosignal all 1.3.1-1 [5172 B] 154s Get:60 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aiohttp arm64 3.9.5-1 [278 kB] 154s Get:61 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-aioresponses all 0.7.6-2 [10.9 kB] 154s Get:62 http://ftpmaster.internal/ubuntu plucky/main arm64 python3.13 arm64 3.13.1-2 [729 kB] 154s Get:63 http://ftpmaster.internal/ubuntu plucky-proposed/main arm64 python3-all arm64 3.12.8-1 [892 B] 154s Get:64 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-foobot-async all 1.0.1-2 [5386 B] 154s Get:65 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 154s Get:66 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pip all 24.3.1+dfsg-1 [1404 kB] 154s Get:67 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 154s Get:68 http://ftpmaster.internal/ubuntu plucky/universe arm64 python3-pytest all 8.3.3-1 [251 kB] 154s Get:69 http://ftpmaster.internal/ubuntu plucky/universe arm64 openstack-pkg-tools all 123ubuntu2 [94.5 kB] 155s Fetched 72.8 MB in 3s (22.4 MB/s) 155s Selecting previously unselected package libpython3.13-minimal:arm64. 155s (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 ... 80060 files and directories currently installed.) 155s Preparing to unpack .../00-libpython3.13-minimal_3.13.1-2_arm64.deb ... 155s Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... 155s Selecting previously unselected package python3.13-minimal. 155s Preparing to unpack .../01-python3.13-minimal_3.13.1-2_arm64.deb ... 155s Unpacking python3.13-minimal (3.13.1-2) ... 155s Selecting previously unselected package m4. 155s Preparing to unpack .../02-m4_1.4.19-4build1_arm64.deb ... 155s Unpacking m4 (1.4.19-4build1) ... 155s Selecting previously unselected package autoconf. 155s Preparing to unpack .../03-autoconf_2.72-3_all.deb ... 155s Unpacking autoconf (2.72-3) ... 155s Selecting previously unselected package autotools-dev. 155s Preparing to unpack .../04-autotools-dev_20220109.1_all.deb ... 155s Unpacking autotools-dev (20220109.1) ... 155s Selecting previously unselected package automake. 155s Preparing to unpack .../05-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 155s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 155s Selecting previously unselected package autopoint. 155s Preparing to unpack .../06-autopoint_0.22.5-3_all.deb ... 155s Unpacking autopoint (0.22.5-3) ... 155s Selecting previously unselected package libisl23:arm64. 155s Preparing to unpack .../07-libisl23_0.27-1_arm64.deb ... 155s Unpacking libisl23:arm64 (0.27-1) ... 155s Selecting previously unselected package libmpc3:arm64. 155s Preparing to unpack .../08-libmpc3_1.3.1-1build2_arm64.deb ... 155s Unpacking libmpc3:arm64 (1.3.1-1build2) ... 155s Selecting previously unselected package cpp-14-aarch64-linux-gnu. 155s Preparing to unpack .../09-cpp-14-aarch64-linux-gnu_14.2.0-11ubuntu1_arm64.deb ... 155s Unpacking cpp-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 155s Selecting previously unselected package cpp-14. 155s Preparing to unpack .../10-cpp-14_14.2.0-11ubuntu1_arm64.deb ... 155s Unpacking cpp-14 (14.2.0-11ubuntu1) ... 155s Selecting previously unselected package cpp-aarch64-linux-gnu. 155s Preparing to unpack .../11-cpp-aarch64-linux-gnu_4%3a14.1.0-2ubuntu1_arm64.deb ... 155s Unpacking cpp-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 155s Selecting previously unselected package cpp. 155s Preparing to unpack .../12-cpp_4%3a14.1.0-2ubuntu1_arm64.deb ... 155s Unpacking cpp (4:14.1.0-2ubuntu1) ... 155s Selecting previously unselected package libcc1-0:arm64. 155s Preparing to unpack .../13-libcc1-0_14.2.0-11ubuntu1_arm64.deb ... 155s Unpacking libcc1-0:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libgomp1:arm64. 156s Preparing to unpack .../14-libgomp1_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libgomp1:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libitm1:arm64. 156s Preparing to unpack .../15-libitm1_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libitm1:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libasan8:arm64. 156s Preparing to unpack .../16-libasan8_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libasan8:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package liblsan0:arm64. 156s Preparing to unpack .../17-liblsan0_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking liblsan0:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libtsan2:arm64. 156s Preparing to unpack .../18-libtsan2_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libtsan2:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libubsan1:arm64. 156s Preparing to unpack .../19-libubsan1_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libubsan1:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libhwasan0:arm64. 156s Preparing to unpack .../20-libhwasan0_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libhwasan0:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package libgcc-14-dev:arm64. 156s Preparing to unpack .../21-libgcc-14-dev_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking libgcc-14-dev:arm64 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package gcc-14-aarch64-linux-gnu. 156s Preparing to unpack .../22-gcc-14-aarch64-linux-gnu_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking gcc-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package gcc-14. 156s Preparing to unpack .../23-gcc-14_14.2.0-11ubuntu1_arm64.deb ... 156s Unpacking gcc-14 (14.2.0-11ubuntu1) ... 156s Selecting previously unselected package gcc-aarch64-linux-gnu. 156s Preparing to unpack .../24-gcc-aarch64-linux-gnu_4%3a14.1.0-2ubuntu1_arm64.deb ... 156s Unpacking gcc-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 156s Selecting previously unselected package gcc. 156s Preparing to unpack .../25-gcc_4%3a14.1.0-2ubuntu1_arm64.deb ... 156s Unpacking gcc (4:14.1.0-2ubuntu1) ... 156s Selecting previously unselected package libstdc++-14-dev:arm64. 157s Preparing to unpack .../26-libstdc++-14-dev_14.2.0-11ubuntu1_arm64.deb ... 157s Unpacking libstdc++-14-dev:arm64 (14.2.0-11ubuntu1) ... 157s Selecting previously unselected package g++-14-aarch64-linux-gnu. 157s Preparing to unpack .../27-g++-14-aarch64-linux-gnu_14.2.0-11ubuntu1_arm64.deb ... 157s Unpacking g++-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 157s Selecting previously unselected package g++-14. 157s Preparing to unpack .../28-g++-14_14.2.0-11ubuntu1_arm64.deb ... 157s Unpacking g++-14 (14.2.0-11ubuntu1) ... 157s Selecting previously unselected package g++-aarch64-linux-gnu. 157s Preparing to unpack .../29-g++-aarch64-linux-gnu_4%3a14.1.0-2ubuntu1_arm64.deb ... 157s Unpacking g++-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 157s Selecting previously unselected package g++. 157s Preparing to unpack .../30-g++_4%3a14.1.0-2ubuntu1_arm64.deb ... 157s Unpacking g++ (4:14.1.0-2ubuntu1) ... 157s Selecting previously unselected package build-essential. 157s Preparing to unpack .../31-build-essential_12.10ubuntu1_arm64.deb ... 157s Unpacking build-essential (12.10ubuntu1) ... 157s Selecting previously unselected package libdebhelper-perl. 157s Preparing to unpack .../32-libdebhelper-perl_13.20ubuntu1_all.deb ... 157s Unpacking libdebhelper-perl (13.20ubuntu1) ... 157s Selecting previously unselected package libtool. 157s Preparing to unpack .../33-libtool_2.4.7-8_all.deb ... 157s Unpacking libtool (2.4.7-8) ... 157s Selecting previously unselected package dh-autoreconf. 157s Preparing to unpack .../34-dh-autoreconf_20_all.deb ... 157s Unpacking dh-autoreconf (20) ... 157s Selecting previously unselected package libarchive-zip-perl. 157s Preparing to unpack .../35-libarchive-zip-perl_1.68-1_all.deb ... 157s Unpacking libarchive-zip-perl (1.68-1) ... 157s Selecting previously unselected package libfile-stripnondeterminism-perl. 157s Preparing to unpack .../36-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 157s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 157s Selecting previously unselected package dh-strip-nondeterminism. 157s Preparing to unpack .../37-dh-strip-nondeterminism_1.14.0-1_all.deb ... 157s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 157s Selecting previously unselected package debugedit. 157s Preparing to unpack .../38-debugedit_1%3a5.1-1_arm64.deb ... 157s Unpacking debugedit (1:5.1-1) ... 157s Selecting previously unselected package dwz. 157s Preparing to unpack .../39-dwz_0.15-1build6_arm64.deb ... 157s Unpacking dwz (0.15-1build6) ... 157s Selecting previously unselected package gettext. 157s Preparing to unpack .../40-gettext_0.22.5-3_arm64.deb ... 157s Unpacking gettext (0.22.5-3) ... 157s Selecting previously unselected package intltool-debian. 157s Preparing to unpack .../41-intltool-debian_0.35.0+20060710.6_all.deb ... 157s Unpacking intltool-debian (0.35.0+20060710.6) ... 157s Selecting previously unselected package po-debconf. 157s Preparing to unpack .../42-po-debconf_1.0.21+nmu1_all.deb ... 157s Unpacking po-debconf (1.0.21+nmu1) ... 157s Selecting previously unselected package debhelper. 157s Preparing to unpack .../43-debhelper_13.20ubuntu1_all.deb ... 157s Unpacking debhelper (13.20ubuntu1) ... 157s Selecting previously unselected package dh-python. 157s Preparing to unpack .../44-dh-python_6.20241217_all.deb ... 158s Unpacking dh-python (6.20241217) ... 158s Selecting previously unselected package libpython3.13-stdlib:arm64. 158s Preparing to unpack .../45-libpython3.13-stdlib_3.13.1-2_arm64.deb ... 158s Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... 158s Selecting previously unselected package pybuild-plugin-autopkgtest. 158s Preparing to unpack .../46-pybuild-plugin-autopkgtest_6.20241217_all.deb ... 158s Unpacking pybuild-plugin-autopkgtest (6.20241217) ... 158s Selecting previously unselected package python3-packaging. 158s Preparing to unpack .../47-python3-packaging_24.2-1_all.deb ... 158s Unpacking python3-packaging (24.2-1) ... 158s Selecting previously unselected package python3-pyproject-hooks. 158s Preparing to unpack .../48-python3-pyproject-hooks_1.2.0-1_all.deb ... 158s Unpacking python3-pyproject-hooks (1.2.0-1) ... 158s Selecting previously unselected package python3-toml. 158s Preparing to unpack .../49-python3-toml_0.10.2-1_all.deb ... 158s Unpacking python3-toml (0.10.2-1) ... 158s Selecting previously unselected package python3-wheel. 158s Preparing to unpack .../50-python3-wheel_0.45.1-1_all.deb ... 158s Unpacking python3-wheel (0.45.1-1) ... 158s Selecting previously unselected package python3-build. 158s Preparing to unpack .../51-python3-build_1.2.2-1_all.deb ... 158s Unpacking python3-build (1.2.2-1) ... 158s Selecting previously unselected package python3-installer. 158s Preparing to unpack .../52-python3-installer_0.7.0+dfsg1-3_all.deb ... 158s Unpacking python3-installer (0.7.0+dfsg1-3) ... 158s Selecting previously unselected package pybuild-plugin-pyproject. 158s Preparing to unpack .../53-pybuild-plugin-pyproject_6.20241217_all.deb ... 158s Unpacking pybuild-plugin-pyproject (6.20241217) ... 158s Selecting previously unselected package python3-multidict. 158s Preparing to unpack .../54-python3-multidict_6.1.0-1build1_arm64.deb ... 158s Unpacking python3-multidict (6.1.0-1build1) ... 158s Selecting previously unselected package python3-yarl. 158s Preparing to unpack .../55-python3-yarl_1.9.4-1_arm64.deb ... 158s Unpacking python3-yarl (1.9.4-1) ... 158s Selecting previously unselected package python3-async-timeout. 158s Preparing to unpack .../56-python3-async-timeout_5.0.1-1_all.deb ... 158s Unpacking python3-async-timeout (5.0.1-1) ... 158s Selecting previously unselected package python3-frozenlist. 158s Preparing to unpack .../57-python3-frozenlist_1.5.0-1build1_arm64.deb ... 158s Unpacking python3-frozenlist (1.5.0-1build1) ... 158s Selecting previously unselected package python3-aiosignal. 158s Preparing to unpack .../58-python3-aiosignal_1.3.1-1_all.deb ... 158s Unpacking python3-aiosignal (1.3.1-1) ... 158s Selecting previously unselected package python3-aiohttp. 158s Preparing to unpack .../59-python3-aiohttp_3.9.5-1_arm64.deb ... 158s Unpacking python3-aiohttp (3.9.5-1) ... 158s Selecting previously unselected package python3-aioresponses. 158s Preparing to unpack .../60-python3-aioresponses_0.7.6-2_all.deb ... 158s Unpacking python3-aioresponses (0.7.6-2) ... 158s Selecting previously unselected package python3.13. 158s Preparing to unpack .../61-python3.13_3.13.1-2_arm64.deb ... 158s Unpacking python3.13 (3.13.1-2) ... 158s Selecting previously unselected package python3-all. 158s Preparing to unpack .../62-python3-all_3.12.8-1_arm64.deb ... 158s Unpacking python3-all (3.12.8-1) ... 158s Selecting previously unselected package python3-foobot-async. 158s Preparing to unpack .../63-python3-foobot-async_1.0.1-2_all.deb ... 158s Unpacking python3-foobot-async (1.0.1-2) ... 158s Selecting previously unselected package python3-iniconfig. 158s Preparing to unpack .../64-python3-iniconfig_1.1.1-2_all.deb ... 158s Unpacking python3-iniconfig (1.1.1-2) ... 158s Selecting previously unselected package python3-pip. 158s Preparing to unpack .../65-python3-pip_24.3.1+dfsg-1_all.deb ... 158s Unpacking python3-pip (24.3.1+dfsg-1) ... 158s Selecting previously unselected package python3-pluggy. 158s Preparing to unpack .../66-python3-pluggy_1.5.0-1_all.deb ... 158s Unpacking python3-pluggy (1.5.0-1) ... 158s Selecting previously unselected package python3-pytest. 158s Preparing to unpack .../67-python3-pytest_8.3.3-1_all.deb ... 158s Unpacking python3-pytest (8.3.3-1) ... 158s Selecting previously unselected package openstack-pkg-tools. 158s Preparing to unpack .../68-openstack-pkg-tools_123ubuntu2_all.deb ... 158s Unpacking openstack-pkg-tools (123ubuntu2) ... 159s Setting up dh-python (6.20241217) ... 159s Setting up python3-iniconfig (1.1.1-2) ... 159s Setting up libarchive-zip-perl (1.68-1) ... 159s Setting up libdebhelper-perl (13.20ubuntu1) ... 159s Setting up m4 (1.4.19-4build1) ... 159s Setting up libgomp1:arm64 (14.2.0-11ubuntu1) ... 159s Setting up python3-wheel (0.45.1-1) ... 159s Setting up python3-multidict (6.1.0-1build1) ... 159s Setting up python3-frozenlist (1.5.0-1build1) ... 159s Setting up python3-aiosignal (1.3.1-1) ... 160s Setting up python3-async-timeout (5.0.1-1) ... 160s Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... 160s Setting up autotools-dev (20220109.1) ... 160s Setting up python3-packaging (24.2-1) ... 160s Setting up python3-pyproject-hooks (1.2.0-1) ... 160s Setting up libmpc3:arm64 (1.3.1-1build2) ... 160s Setting up autopoint (0.22.5-3) ... 160s Setting up python3-pip (24.3.1+dfsg-1) ... 162s Setting up python3-toml (0.10.2-1) ... 162s Setting up python3-installer (0.7.0+dfsg1-3) ... 162s Setting up autoconf (2.72-3) ... 162s Setting up python3-pluggy (1.5.0-1) ... 163s Setting up libubsan1:arm64 (14.2.0-11ubuntu1) ... 163s Setting up dwz (0.15-1build6) ... 163s Setting up libhwasan0:arm64 (14.2.0-11ubuntu1) ... 163s Setting up libasan8:arm64 (14.2.0-11ubuntu1) ... 163s Setting up debugedit (1:5.1-1) ... 163s Setting up python3.13-minimal (3.13.1-2) ... 163s Setting up libtsan2:arm64 (14.2.0-11ubuntu1) ... 163s Setting up libisl23:arm64 (0.27-1) ... 163s Setting up python3-build (1.2.2-1) ... 163s Setting up python3-yarl (1.9.4-1) ... 164s Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... 164s Setting up libcc1-0:arm64 (14.2.0-11ubuntu1) ... 164s Setting up liblsan0:arm64 (14.2.0-11ubuntu1) ... 164s Setting up libitm1:arm64 (14.2.0-11ubuntu1) ... 164s Setting up automake (1:1.16.5-1.3ubuntu1) ... 164s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 164s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 164s Setting up gettext (0.22.5-3) ... 164s Setting up python3.13 (3.13.1-2) ... 165s Setting up pybuild-plugin-pyproject (6.20241217) ... 165s Setting up python3-pytest (8.3.3-1) ... 165s Setting up python3-aiohttp (3.9.5-1) ... 166s Setting up python3-all (3.12.8-1) ... 166s Setting up intltool-debian (0.35.0+20060710.6) ... 166s Setting up dh-strip-nondeterminism (1.14.0-1) ... 166s Setting up cpp-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 166s Setting up libgcc-14-dev:arm64 (14.2.0-11ubuntu1) ... 166s Setting up libstdc++-14-dev:arm64 (14.2.0-11ubuntu1) ... 166s Setting up python3-aioresponses (0.7.6-2) ... 166s Setting up python3-foobot-async (1.0.1-2) ... 166s Setting up po-debconf (1.0.21+nmu1) ... 166s Setting up openstack-pkg-tools (123ubuntu2) ... 166s Setting up cpp-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 166s Setting up cpp-14 (14.2.0-11ubuntu1) ... 166s Setting up cpp (4:14.1.0-2ubuntu1) ... 166s Setting up gcc-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 166s Setting up gcc-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 166s Setting up g++-14-aarch64-linux-gnu (14.2.0-11ubuntu1) ... 166s Setting up gcc-14 (14.2.0-11ubuntu1) ... 166s Setting up g++-aarch64-linux-gnu (4:14.1.0-2ubuntu1) ... 166s Setting up g++-14 (14.2.0-11ubuntu1) ... 166s Setting up libtool (2.4.7-8) ... 166s Setting up gcc (4:14.1.0-2ubuntu1) ... 166s Setting up dh-autoreconf (20) ... 166s Setting up g++ (4:14.1.0-2ubuntu1) ... 166s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 166s Setting up build-essential (12.10ubuntu1) ... 166s Setting up debhelper (13.20ubuntu1) ... 166s Setting up pybuild-plugin-autopkgtest (6.20241217) ... 166s Processing triggers for man-db (2.13.0-1) ... 167s Processing triggers for install-info (7.1.1-1) ... 167s Processing triggers for libc-bin (2.40-4ubuntu1) ... 167s Processing triggers for systemd (257-2ubuntu1) ... 169s autopkgtest [17:15:51]: test pybuild-autopkgtest: pybuild-autopkgtest 169s autopkgtest [17:15:51]: test pybuild-autopkgtest: [----------------------- 169s make: pyversions: No such file or directory 169s py3versions: no X-Python3-Version in control file, using supported versions 169s pybuild-autopkgtest 169s I: pybuild base:311: cd /tmp/autopkgtest.1UuAtx/autopkgtest_tmp/build; python3.13 -m pytest -v /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests 170s ============================= test session starts ============================== 170s platform linux -- Python 3.13.1, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.13 170s cachedir: .pytest_cache 170s rootdir: /tmp/autopkgtest.1UuAtx/build.6TP/src 170s plugins: typeguard-4.4.1 170s collecting ... collected 10 items 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_devices_request FAILED [ 10%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_auth_request FAILED [ 20%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_bad_format_request FAILED [ 30%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_forbidden_access_request FAILED [ 40%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_overquota_request FAILED [ 50%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_internal_error_request FAILED [ 60%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_unhandled_error_request FAILED [ 70%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_last_data_request FAILED [ 80%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_historical_data_request FAILED [ 90%] 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_bad_data_request FAILED [100%] 170s 170s =================================== FAILURES =================================== 170s ___________________________ test_get_devices_request ___________________________ 170s 170s def test_get_devices_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=200, body='''[{"uuid": "1234127987696AB", 170s "userId": 2353, 170s "mac": "013843C3C20A", 170s "name": "FooBot"}]''') 170s > resp = loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:20: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s ___________________________ test_failed_auth_request ___________________________ 170s 170s def test_failed_auth_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=401, body='{"message": "invalid key provided"}') 170s 170s with pytest.raises(FoobotClient.AuthFailure): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:51: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s ________________________ test_failed_bad_format_request ________________________ 170s 170s def test_failed_bad_format_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=400, body='''{"state": 400, 170s "message": "ParseException : Bad date format : bad date format [test]", 170s "requestedUri": "/v2/device/26025766336015C0/datapoint/test/last/test/", 170s "stack": "[obfuscated]", 170s "propagatedException": null}''') 170s 170s with pytest.raises(FoobotClient.BadFormat): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:64: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s ________________________ test_forbidden_access_request _________________________ 170s 170s def test_forbidden_access_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=403, body='''{"{"state": 403, "message": null, 170s "stack": "403 - Forbidden", 170s "propagatedException": null }": 170s "invalid key provided"}''') 170s 170s with pytest.raises(FoobotClient.ForbiddenAccess): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:76: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s ____________________________ test_overquota_request ____________________________ 170s 170s def test_overquota_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=429, body='') 170s 170s with pytest.raises(FoobotClient.TooManyRequests): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:85: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s _________________________ test_internal_error_request __________________________ 170s 170s def test_internal_error_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=500, body='') 170s 170s with pytest.raises(FoobotClient.InternalError): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:94: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s _________________________ test_unhandled_error_request _________________________ 170s 170s def test_unhandled_error_request(): 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 170s status=404, body='') 170s 170s with pytest.raises(FoobotClient.ClientError): 170s > loop.run_until_complete(client.get_devices()) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:103: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 170s return (await self._get(DEVICE_URL.format( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s __________________________ test_get_last_data_request __________________________ 170s 170s def test_get_last_data_request(): 170s body = '''{"uuid": "1234127987696AB", 170s "start": 1518131274, 170s "end": 1518131874, 170s "sensors": ["time", "pm", "tmp", "hum", "co2", "voc", "allpollu"], 170s "units": [ "s", "ugm3", "C", "pc", "ppm", "ppb", "%" ], 170s "datapoints": [ [ 1518131274, 135.70001, 21.046001, 46.6885, 1178.0, 170s 325.5, 131.19643 ] ] }''' 170s 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/600/last/601/', 170s status=200, body=body) 170s 170s > resp = loop.run_until_complete(client.get_last_data("1234127987696AB", 170s 600, 601)) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:118: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:86: in get_last_data 170s return self.parse_data((await self._get( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/600/last/601/' 170s kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s _______________________ test_get_historical_data_request _______________________ 170s 170s def test_get_historical_data_request(): 170s body = '''{"uuid": "1234127987696AB", 170s "start": 1518131274, 170s "end": 1518131874, 170s "sensors": ["time", "pm", "tmp", "hum", "co2", "voc", "allpollu"], 170s "units": [ "s", "ugm3", "C", "pc", "ppm", "ppb", "%" ], 170s "datapoints": [ [ 1518131274, 135.70001, 21.046001, 46.6885, 1178.0, 170s 325.5, 131.19643 ] ] }''' 170s 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/', 170s status=200, body=body) 170s 170s > resp = loop.run_until_complete(client.get_historical_data("1234127987696AB", 170s datetime.utcfromtimestamp(1518121274), 170s datetime.utcfromtimestamp(1518131274), 170s 3600)) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:142: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:117: in get_historical_data 170s return self.parse_data((await self._get( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/' 170s kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s __________________________ test_get_bad_data_request ___________________________ 170s 170s def test_get_bad_data_request(): 170s body = '''{"uuid": "1234127987696AB", 170s "start": 1518131274, 170s "end": 1518131874}''' 170s 170s with aioresponses() as mocked: 170s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/', 170s status=200, body=body) 170s 170s with pytest.raises(FoobotClient.InvalidData): 170s > loop.run_until_complete(client.get_historical_data("1234127987696AB", 170s datetime.utcfromtimestamp(1518121274), 170s datetime.utcfromtimestamp(1518131274), 170s 3600)) 170s 170s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:165: 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s /usr/lib/python3.13/asyncio/base_events.py:720: in run_until_complete 170s return future.result() 170s ../../build.6TP/src/foobot_async/__init__.py:117: in get_historical_data 170s return self.parse_data((await self._get( 170s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 170s 170s self = 170s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/' 170s kwargs = {} 170s 170s async def _get(self, path, **kwargs): 170s if not hasattr(self, '_session'): 170s self._session = aiohttp.ClientSession() 170s > with async_timeout.timeout(self._timeout): 170s E TypeError: 'Timeout' object does not support the context manager protocol 170s 170s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 170s =============================== warnings summary =============================== 170s foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 170s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:143: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 170s datetime.utcfromtimestamp(1518121274), 170s 170s foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 170s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:144: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 170s datetime.utcfromtimestamp(1518131274), 170s 170s foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 170s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:166: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 170s datetime.utcfromtimestamp(1518121274), 170s 170s foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 170s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:167: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 170s datetime.utcfromtimestamp(1518131274), 170s 170s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 170s =========================== short test summary info ============================ 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_devices_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_auth_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_bad_format_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_forbidden_access_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_overquota_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_internal_error_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_unhandled_error_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_last_data_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 170s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 170s ======================== 10 failed, 4 warnings in 0.49s ======================== 170s Unclosed client session 170s client_session: 170s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.1UuAtx/autopkgtest_tmp/build; python3.13 -m pytest -v /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests 170s I: pybuild base:311: cd /tmp/autopkgtest.1UuAtx/autopkgtest_tmp/build; python3.12 -m pytest -v /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests 170s ============================= test session starts ============================== 170s platform linux -- Python 3.12.8, pytest-8.3.3, pluggy-1.5.0 -- /usr/bin/python3.12 170s cachedir: .pytest_cache 170s rootdir: /tmp/autopkgtest.1UuAtx/build.6TP/src 170s plugins: typeguard-4.4.1 171s collecting ... collected 10 items 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_devices_request FAILED [ 10%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_auth_request FAILED [ 20%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_bad_format_request FAILED [ 30%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_forbidden_access_request FAILED [ 40%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_overquota_request FAILED [ 50%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_internal_error_request FAILED [ 60%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_unhandled_error_request FAILED [ 70%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_last_data_request FAILED [ 80%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_historical_data_request FAILED [ 90%] 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_bad_data_request FAILED [100%] 171s 171s =================================== FAILURES =================================== 171s ___________________________ test_get_devices_request ___________________________ 171s 171s def test_get_devices_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=200, body='''[{"uuid": "1234127987696AB", 171s "userId": 2353, 171s "mac": "013843C3C20A", 171s "name": "FooBot"}]''') 171s > resp = loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:20: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s ___________________________ test_failed_auth_request ___________________________ 171s 171s def test_failed_auth_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=401, body='{"message": "invalid key provided"}') 171s 171s with pytest.raises(FoobotClient.AuthFailure): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:51: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s ________________________ test_failed_bad_format_request ________________________ 171s 171s def test_failed_bad_format_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=400, body='''{"state": 400, 171s "message": "ParseException : Bad date format : bad date format [test]", 171s "requestedUri": "/v2/device/26025766336015C0/datapoint/test/last/test/", 171s "stack": "[obfuscated]", 171s "propagatedException": null}''') 171s 171s with pytest.raises(FoobotClient.BadFormat): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:64: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s ________________________ test_forbidden_access_request _________________________ 171s 171s def test_forbidden_access_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=403, body='''{"{"state": 403, "message": null, 171s "stack": "403 - Forbidden", 171s "propagatedException": null }": 171s "invalid key provided"}''') 171s 171s with pytest.raises(FoobotClient.ForbiddenAccess): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:76: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s ____________________________ test_overquota_request ____________________________ 171s 171s def test_overquota_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=429, body='') 171s 171s with pytest.raises(FoobotClient.TooManyRequests): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:85: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s _________________________ test_internal_error_request __________________________ 171s 171s def test_internal_error_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=500, body='') 171s 171s with pytest.raises(FoobotClient.InternalError): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:94: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s _________________________ test_unhandled_error_request _________________________ 171s 171s def test_unhandled_error_request(): 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/owner/example@example.com/device/', 171s status=404, body='') 171s 171s with pytest.raises(FoobotClient.ClientError): 171s > loop.run_until_complete(client.get_devices()) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:103: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:59: in get_devices 171s return (await self._get(DEVICE_URL.format( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/owner/example@example.com/device/', kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s __________________________ test_get_last_data_request __________________________ 171s 171s def test_get_last_data_request(): 171s body = '''{"uuid": "1234127987696AB", 171s "start": 1518131274, 171s "end": 1518131874, 171s "sensors": ["time", "pm", "tmp", "hum", "co2", "voc", "allpollu"], 171s "units": [ "s", "ugm3", "C", "pc", "ppm", "ppb", "%" ], 171s "datapoints": [ [ 1518131274, 135.70001, 21.046001, 46.6885, 1178.0, 171s 325.5, 131.19643 ] ] }''' 171s 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/600/last/601/', 171s status=200, body=body) 171s 171s > resp = loop.run_until_complete(client.get_last_data("1234127987696AB", 171s 600, 601)) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:118: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:86: in get_last_data 171s return self.parse_data((await self._get( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/600/last/601/' 171s kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s _______________________ test_get_historical_data_request _______________________ 171s 171s def test_get_historical_data_request(): 171s body = '''{"uuid": "1234127987696AB", 171s "start": 1518131274, 171s "end": 1518131874, 171s "sensors": ["time", "pm", "tmp", "hum", "co2", "voc", "allpollu"], 171s "units": [ "s", "ugm3", "C", "pc", "ppm", "ppb", "%" ], 171s "datapoints": [ [ 1518131274, 135.70001, 21.046001, 46.6885, 1178.0, 171s 325.5, 131.19643 ] ] }''' 171s 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/', 171s status=200, body=body) 171s 171s > resp = loop.run_until_complete(client.get_historical_data("1234127987696AB", 171s datetime.utcfromtimestamp(1518121274), 171s datetime.utcfromtimestamp(1518131274), 171s 3600)) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:142: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:117: in get_historical_data 171s return self.parse_data((await self._get( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/' 171s kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s __________________________ test_get_bad_data_request ___________________________ 171s 171s def test_get_bad_data_request(): 171s body = '''{"uuid": "1234127987696AB", 171s "start": 1518131274, 171s "end": 1518131874}''' 171s 171s with aioresponses() as mocked: 171s mocked.get('https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/', 171s status=200, body=body) 171s 171s with pytest.raises(FoobotClient.InvalidData): 171s > loop.run_until_complete(client.get_historical_data("1234127987696AB", 171s datetime.utcfromtimestamp(1518121274), 171s datetime.utcfromtimestamp(1518131274), 171s 3600)) 171s 171s ../../build.6TP/src/foobot_async/tests/test_foobot_async.py:165: 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s /usr/lib/python3.12/asyncio/base_events.py:686: in run_until_complete 171s return future.result() 171s ../../build.6TP/src/foobot_async/__init__.py:117: in get_historical_data 171s return self.parse_data((await self._get( 171s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 171s 171s self = 171s path = 'https://api.foobot.io/v2/device/1234127987696AB/datapoint/1518121274/1518131274/3600/' 171s kwargs = {} 171s 171s async def _get(self, path, **kwargs): 171s if not hasattr(self, '_session'): 171s self._session = aiohttp.ClientSession() 171s > with async_timeout.timeout(self._timeout): 171s E TypeError: 'Timeout' object does not support the context manager protocol 171s 171s ../../build.6TP/src/foobot_async/__init__.py:158: TypeError 171s =============================== warnings summary =============================== 171s foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 171s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:143: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 171s datetime.utcfromtimestamp(1518121274), 171s 171s foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 171s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:144: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 171s datetime.utcfromtimestamp(1518131274), 171s 171s foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 171s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:166: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 171s datetime.utcfromtimestamp(1518121274), 171s 171s foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 171s /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests/test_foobot_async.py:167: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). 171s datetime.utcfromtimestamp(1518131274), 171s 171s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 171s =========================== short test summary info ============================ 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_devices_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_auth_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_failed_bad_format_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_forbidden_access_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_overquota_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_internal_error_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_unhandled_error_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_last_data_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_historical_data_request 171s FAILED ../../build.6TP/src/foobot_async/tests/test_foobot_async.py::test_get_bad_data_request 171s ======================== 10 failed, 4 warnings in 0.48s ======================== 171s Unclosed client session 171s client_session: 171s E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /tmp/autopkgtest.1UuAtx/autopkgtest_tmp/build; python3.12 -m pytest -v /tmp/autopkgtest.1UuAtx/build.6TP/src/foobot_async/tests 171s pybuild-autopkgtest: error: pybuild --autopkgtest --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 171s make: *** [/tmp/l1LlcrrgsI/run:4: pybuild-autopkgtest] Error 25 171s pybuild-autopkgtest: error: /tmp/l1LlcrrgsI/run pybuild-autopkgtest returned exit code 2 171s autopkgtest [17:15:53]: test pybuild-autopkgtest: -----------------------] 172s autopkgtest [17:15:54]: test pybuild-autopkgtest: - - - - - - - - - - results - - - - - - - - - - 172s pybuild-autopkgtest FAIL non-zero exit status 25 172s autopkgtest [17:15:54]: @@@@@@@@@@@@@@@@@@@@ summary 172s pybuild-autopkgtest FAIL non-zero exit status 25 177s nova [W] Using flock in prodstack6-arm64 177s flock: timeout while waiting to get lock 177s Creating nova instance adt-plucky-arm64-python-foobot-async-20241227-171301-juju-7f2275-prod-proposed-migration-environment-2-5c23d0f2-f2a4-42e8-bf32-20bcb07ecb07 from image adt/ubuntu-plucky-arm64-server-20241227.img (UUID 738fbed8-b15b-470e-9f16-b6f749c8a417)... 177s nova [W] Timed out waiting for 772b4fc2-39e3-4666-abf6-0225c122f4af to get deleted.