I: pbuilder: network access will be disabled during build I: Current time: Mon Mar 10 09:04:28 -12 2025 I: pbuilder-time-stamp: 1741640668 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-aiomodernforms_0.1.8-2.dsc] I: copying [./python-aiomodernforms_0.1.8.orig.tar.xz] I: copying [./python-aiomodernforms_0.1.8-2.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./python-aiomodernforms_0.1.8-2.dsc: unsupported subcommand dpkg-source: info: extracting python-aiomodernforms in python-aiomodernforms-0.1.8 dpkg-source: info: unpacking python-aiomodernforms_0.1.8.orig.tar.xz dpkg-source: info: unpacking python-aiomodernforms_0.1.8-2.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/274414/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DISTRIBUTION='unstable' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='398e0585facb43448bf2141976cb3dbd' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='274414' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.PtJAenQp/pbuilderrc_uGYF --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PtJAenQp/b1 --logfile b1/build.log python-aiomodernforms_0.1.8-2.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin I: user script /srv/workspace/pbuilder/274414/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, openstack-pkg-tools, pybuild-plugin-pyproject, python3-all, python3-setuptools, python3-aiohttp, python3-aresponses, python3-backoff, python3-coverage, python3-mypy, python3-pytest, python3-pytest-asyncio, python3-pytest-cov, python3-yarl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19783 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on pybuild-plugin-pyproject; however: Package pybuild-plugin-pyproject is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-aiohttp; however: Package python3-aiohttp is not installed. pbuilder-satisfydepends-dummy depends on python3-aresponses; however: Package python3-aresponses is not installed. pbuilder-satisfydepends-dummy depends on python3-backoff; however: Package python3-backoff is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-mypy; however: Package python3-mypy is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-asyncio; however: Package python3-pytest-asyncio is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-cov; however: Package python3-pytest-cov is not installed. pbuilder-satisfydepends-dummy depends on python3-yarl; however: Package python3-yarl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} jq{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libffi8{a} libfile-stripnondeterminism-perl{a} libicu72{a} libjq1{a} libjs-jquery{a} libjs-jquery-hotkeys{a} libjs-jquery-isonscreen{a} libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-jquery-throttle-debounce{a} libmagic-mgc{a} libmagic1t64{a} libonig5{a} libpipeline1{a} libpython3-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} po-debconf{a} pybuild-plugin-pyproject{a} python3{a} python3-aiohappyeyeballs{a} python3-aiohttp{a} python3-aiosignal{a} python3-all{a} python3-aresponses{a} python3-async-generator{a} python3-async-timeout{a} python3-attr{a} python3-autocommand{a} python3-backoff{a} python3-build{a} python3-coverage{a} python3-frozenlist{a} python3-idna{a} python3-inflect{a} python3-iniconfig{a} python3-installer{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-minimal{a} python3-more-itertools{a} python3-multidict{a} python3-mypy{a} python3-mypy-extensions{a} python3-packaging{a} python3-pip{a} python3-pkg-resources{a} python3-pluggy{a} python3-psutil{a} python3-pyproject-hooks{a} python3-pytest{a} python3-pytest-asyncio{a} python3-pytest-cov{a} python3-setuptools{a} python3-toml{a} python3-typeguard{a} python3-typing-extensions{a} python3-wheel{a} python3-yarl{a} python3-zipp{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest curl javascript-common libarchive-cpio-perl libjs-sphinxdoc libltdl-dev libmail-sendmail-perl lynx madison-lite pristine-tar python3-aiodns python3-dev python3-lxml python3-orjson python3-pygments wget 0 packages upgraded, 98 newly installed, 0 to remove and 0 not upgraded. Need to get 42.8 MB of archives. After unpacking 176 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.2-1 [859 kB] Get: 2 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.4-1 [106 kB] Get: 3 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.2-1 [2205 kB] Get: 4 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.13.2-2 [27.1 kB] Get: 5 http://deb.debian.org/debian unstable/main amd64 media-types all 13.0.0 [29.3 kB] Get: 6 http://deb.debian.org/debian unstable/main amd64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian unstable/main amd64 tzdata all 2025a-2 [259 kB] Get: 8 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.4.7-1 [23.9 kB] Get: 9 http://deb.debian.org/debian unstable/main amd64 readline-common all 8.2-6 [69.4 kB] Get: 10 http://deb.debian.org/debian unstable/main amd64 libreadline8t64 amd64 8.2-6 [169 kB] Get: 11 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.2-1 [1979 kB] Get: 12 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.2-1 [745 kB] Get: 13 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.13.2-2 [10.1 kB] Get: 14 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.13.2-2 [28.1 kB] Get: 15 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 16 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.4.1-1 [1427 kB] Get: 17 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20241223 [164 kB] Get: 18 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 19 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 20 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 21 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB] Get: 22 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 23 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB] Get: 24 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-5 [92.4 kB] Get: 25 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 26 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 27 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-7 [294 kB] Get: 28 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB] Get: 31 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB] Get: 32 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB] Get: 33 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-4 [539 kB] Get: 34 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB] Get: 37 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B] Get: 38 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 39 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 40 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB] Get: 41 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB] Get: 42 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b2 [699 kB] Get: 43 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB] Get: 44 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB] Get: 47 http://deb.debian.org/debian unstable/main amd64 dh-python all 6.20250308 [115 kB] Get: 48 http://deb.debian.org/debian unstable/main amd64 libonig5 amd64 6.9.9-1+b1 [189 kB] Get: 49 http://deb.debian.org/debian unstable/main amd64 libjq1 amd64 1.7.1-3+b1 [164 kB] Get: 50 http://deb.debian.org/debian unstable/main amd64 jq amd64 1.7.1-3+b1 [77.8 kB] Get: 51 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 52 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-hotkeys all 0.2.0-1 [12.6 kB] Get: 53 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B] Get: 54 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-metadata all 12-4 [6532 B] Get: 55 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [184 kB] Get: 56 http://deb.debian.org/debian unstable/main amd64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB] Get: 57 http://deb.debian.org/debian unstable/main amd64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 58 http://deb.debian.org/debian unstable/main amd64 python3-pip all 25.0+dfsg-1 [1454 kB] Get: 59 http://deb.debian.org/debian unstable/main amd64 openstack-pkg-tools all 132 [96.6 kB] Get: 60 http://deb.debian.org/debian unstable/main amd64 python3-packaging all 24.2-1 [55.3 kB] Get: 61 http://deb.debian.org/debian unstable/main amd64 python3-pyproject-hooks all 1.2.0-1 [11.7 kB] Get: 62 http://deb.debian.org/debian unstable/main amd64 python3-toml all 0.10.2-1 [16.2 kB] Get: 63 http://deb.debian.org/debian unstable/main amd64 python3-build all 1.2.2-1 [36.0 kB] Get: 64 http://deb.debian.org/debian unstable/main amd64 python3-installer all 0.7.0+dfsg1-3 [18.6 kB] Get: 65 http://deb.debian.org/debian unstable/main amd64 pybuild-plugin-pyproject all 6.20250308 [11.7 kB] Get: 66 http://deb.debian.org/debian unstable/main amd64 python3-aiohappyeyeballs all 2.4.6-1 [13.5 kB] Get: 67 http://deb.debian.org/debian unstable/main amd64 python3-idna all 3.10-1 [42.0 kB] Get: 68 http://deb.debian.org/debian unstable/main amd64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 69 http://deb.debian.org/debian unstable/main amd64 python3-multidict amd64 6.1.0-1+b2 [36.9 kB] Get: 70 http://deb.debian.org/debian unstable/main amd64 python3-yarl amd64 1.13.1-1+b2 [101 kB] Get: 71 http://deb.debian.org/debian unstable/main amd64 python3-async-timeout all 5.0.1-1 [8324 B] Get: 72 http://deb.debian.org/debian unstable/main amd64 python3-frozenlist amd64 1.5.0-1+b2 [49.2 kB] Get: 73 http://deb.debian.org/debian unstable/main amd64 python3-aiosignal all 1.3.2-1 [6100 B] Get: 74 http://deb.debian.org/debian unstable/main amd64 python3-attr all 25.1.0-1 [68.7 kB] Get: 75 http://deb.debian.org/debian unstable/main amd64 python3-aiohttp amd64 3.10.11-1+b1 [322 kB] Get: 76 http://deb.debian.org/debian unstable/main amd64 python3-all amd64 3.13.2-2 [1044 B] Get: 77 http://deb.debian.org/debian unstable/main amd64 python3-async-generator all 1.10-4 [17.4 kB] Get: 78 http://deb.debian.org/debian unstable/main amd64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 79 http://deb.debian.org/debian unstable/main amd64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 80 http://deb.debian.org/debian unstable/main amd64 python3-pytest all 8.3.5-1 [250 kB] Get: 81 http://deb.debian.org/debian unstable/main amd64 python3-pytest-asyncio all 0.25.1-1 [16.7 kB] Get: 82 http://deb.debian.org/debian unstable/main amd64 python3-aresponses all 3.0.0-2 [13.5 kB] Get: 83 http://deb.debian.org/debian unstable/main amd64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 84 http://deb.debian.org/debian unstable/main amd64 python3-backoff all 2.2.1-2 [17.7 kB] Get: 85 http://deb.debian.org/debian unstable/main amd64 python3-coverage amd64 7.6.0+dfsg1-2+b2 [175 kB] Get: 86 http://deb.debian.org/debian unstable/main amd64 python3-more-itertools all 10.6.0-1 [65.3 kB] Get: 87 http://deb.debian.org/debian unstable/main amd64 python3-typeguard all 4.4.2-1 [37.3 kB] Get: 88 http://deb.debian.org/debian unstable/main amd64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 89 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 90 http://deb.debian.org/debian unstable/main amd64 python3-pkg-resources all 75.8.0-1 [222 kB] Get: 91 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 92 http://deb.debian.org/debian unstable/main amd64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 93 http://deb.debian.org/debian unstable/main amd64 python3-setuptools all 75.8.0-1 [724 kB] Get: 94 http://deb.debian.org/debian unstable/main amd64 python3-jaraco.context all 6.0.1-1 [8276 B] Get: 95 http://deb.debian.org/debian unstable/main amd64 python3-mypy-extensions all 1.0.0-1 [6064 B] Get: 96 http://deb.debian.org/debian unstable/main amd64 python3-psutil amd64 5.9.8-2 [225 kB] Get: 97 http://deb.debian.org/debian unstable/main amd64 python3-mypy amd64 1.15.0-4+b1 [8615 kB] Get: 98 http://deb.debian.org/debian unstable/main amd64 python3-pytest-cov all 5.0.0-1 [26.8 kB] Fetched 42.8 MB in 1s (57.9 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:amd64. (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 ... 19783 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.2-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.6.4-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.4-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_amd64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:amd64 (3.13.2-1) ... Setting up libexpat1:amd64 (2.6.4-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (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 ... 20117 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.13.2-2_amd64.deb ... Unpacking python3-minimal (3.13.2-2) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_13.0.0_all.deb ... Unpacking media-types (13.0.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2025a-2_all.deb ... Unpacking tzdata (2025a-2) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../4-libffi8_3.4.7-1_amd64.deb ... Unpacking libffi8:amd64 (3.4.7-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../5-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../6-libreadline8t64_8.2-6_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-6) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../7-libpython3.13-stdlib_3.13.2-1_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../8-python3.13_3.13.2-1_amd64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../9-libpython3-stdlib_3.13.2-2_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.2-2) ... Setting up python3-minimal (3.13.2-2) ... Selecting previously unselected package python3. (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 ... 21127 files and directories currently installed.) Preparing to unpack .../00-python3_3.13.2-2_amd64.deb ... Unpacking python3 (3.13.2-2) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../02-openssl_3.4.1-1_amd64.deb ... Unpacking openssl (3.4.1-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../03-ca-certificates_20241223_all.deb ... Unpacking ca-certificates (20241223) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.23.1-1_amd64.deb ... Unpacking gettext-base (0.23.1-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../08-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-7_amd64.deb ... Unpacking groff-base (1.23.0-7) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40.4-5_amd64.deb ... Unpacking bsdextrautils (2.40.4-5) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../11-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-7_amd64.deb ... Unpacking m4 (1.4.19-7) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../15-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../16-automake_1%3a1.17-3_all.deb ... Unpacking automake (1:1.17-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.23.1-1_all.deb ... Unpacking autopoint (0.23.1-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.24.1_all.deb ... Unpacking libdebhelper-perl (13.24.1) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.5.4-4_all.deb ... Unpacking libtool (2.5.4-4) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../21-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../22-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../23-dh-strip-nondeterminism_1.14.1-2_all.deb ... Unpacking dh-strip-nondeterminism (1.14.1-2) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../24-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../25-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../26-libunistring5_1.3-1_amd64.deb ... Unpacking libunistring5:amd64 (1.3-1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../27-libicu72_72.1-6_amd64.deb ... Unpacking libicu72:amd64 (72.1-6) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../28-libxml2_2.12.7+dfsg+really2.9.14-0.2+b2_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b2) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.23.1-1_amd64.deb ... Unpacking gettext (0.23.1-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../30-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../31-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../32-debhelper_13.24.1_all.deb ... Unpacking debhelper (13.24.1) ... Selecting previously unselected package dh-python. Preparing to unpack .../33-dh-python_6.20250308_all.deb ... Unpacking dh-python (6.20250308) ... Selecting previously unselected package libonig5:amd64. Preparing to unpack .../34-libonig5_6.9.9-1+b1_amd64.deb ... Unpacking libonig5:amd64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:amd64. Preparing to unpack .../35-libjq1_1.7.1-3+b1_amd64.deb ... Unpacking libjq1:amd64 (1.7.1-3+b1) ... Selecting previously unselected package jq. Preparing to unpack .../36-jq_1.7.1-3+b1_amd64.deb ... Unpacking jq (1.7.1-3+b1) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../37-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-jquery-hotkeys. Preparing to unpack .../38-libjs-jquery-hotkeys_0.2.0-1_all.deb ... Unpacking libjs-jquery-hotkeys (0.2.0-1) ... Selecting previously unselected package libjs-jquery-isonscreen. Preparing to unpack .../39-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... Selecting previously unselected package libjs-jquery-metadata. Preparing to unpack .../40-libjs-jquery-metadata_12-4_all.deb ... Unpacking libjs-jquery-metadata (12-4) ... Selecting previously unselected package libjs-jquery-tablesorter. Preparing to unpack .../41-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Selecting previously unselected package libjs-jquery-throttle-debounce. Preparing to unpack .../42-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../43-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package python3-pip. Preparing to unpack .../44-python3-pip_25.0+dfsg-1_all.deb ... Unpacking python3-pip (25.0+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../45-openstack-pkg-tools_132_all.deb ... Unpacking openstack-pkg-tools (132) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../46-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pyproject-hooks. Preparing to unpack .../47-python3-pyproject-hooks_1.2.0-1_all.deb ... Unpacking python3-pyproject-hooks (1.2.0-1) ... Selecting previously unselected package python3-toml. Preparing to unpack .../48-python3-toml_0.10.2-1_all.deb ... Unpacking python3-toml (0.10.2-1) ... Selecting previously unselected package python3-build. Preparing to unpack .../49-python3-build_1.2.2-1_all.deb ... Unpacking python3-build (1.2.2-1) ... Selecting previously unselected package python3-installer. Preparing to unpack .../50-python3-installer_0.7.0+dfsg1-3_all.deb ... Unpacking python3-installer (0.7.0+dfsg1-3) ... Selecting previously unselected package pybuild-plugin-pyproject. Preparing to unpack .../51-pybuild-plugin-pyproject_6.20250308_all.deb ... Unpacking pybuild-plugin-pyproject (6.20250308) ... Selecting previously unselected package python3-aiohappyeyeballs. Preparing to unpack .../52-python3-aiohappyeyeballs_2.4.6-1_all.deb ... Unpacking python3-aiohappyeyeballs (2.4.6-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../53-python3-idna_3.10-1_all.deb ... Unpacking python3-idna (3.10-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../54-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-multidict. Preparing to unpack .../55-python3-multidict_6.1.0-1+b2_amd64.deb ... Unpacking python3-multidict (6.1.0-1+b2) ... Selecting previously unselected package python3-yarl. Preparing to unpack .../56-python3-yarl_1.13.1-1+b2_amd64.deb ... Unpacking python3-yarl (1.13.1-1+b2) ... Selecting previously unselected package python3-async-timeout. Preparing to unpack .../57-python3-async-timeout_5.0.1-1_all.deb ... Unpacking python3-async-timeout (5.0.1-1) ... Selecting previously unselected package python3-frozenlist. Preparing to unpack .../58-python3-frozenlist_1.5.0-1+b2_amd64.deb ... Unpacking python3-frozenlist (1.5.0-1+b2) ... Selecting previously unselected package python3-aiosignal. Preparing to unpack .../59-python3-aiosignal_1.3.2-1_all.deb ... Unpacking python3-aiosignal (1.3.2-1) ... Selecting previously unselected package python3-attr. Preparing to unpack .../60-python3-attr_25.1.0-1_all.deb ... Unpacking python3-attr (25.1.0-1) ... Selecting previously unselected package python3-aiohttp. Preparing to unpack .../61-python3-aiohttp_3.10.11-1+b1_amd64.deb ... Unpacking python3-aiohttp (3.10.11-1+b1) ... Selecting previously unselected package python3-all. Preparing to unpack .../62-python3-all_3.13.2-2_amd64.deb ... Unpacking python3-all (3.13.2-2) ... Selecting previously unselected package python3-async-generator. Preparing to unpack .../63-python3-async-generator_1.10-4_all.deb ... Unpacking python3-async-generator (1.10-4) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../64-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../65-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../66-python3-pytest_8.3.5-1_all.deb ... Unpacking python3-pytest (8.3.5-1) ... Selecting previously unselected package python3-pytest-asyncio. Preparing to unpack .../67-python3-pytest-asyncio_0.25.1-1_all.deb ... Unpacking python3-pytest-asyncio (0.25.1-1) ... Selecting previously unselected package python3-aresponses. Preparing to unpack .../68-python3-aresponses_3.0.0-2_all.deb ... Unpacking python3-aresponses (3.0.0-2) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../69-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-backoff. Preparing to unpack .../70-python3-backoff_2.2.1-2_all.deb ... Unpacking python3-backoff (2.2.1-2) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../71-python3-coverage_7.6.0+dfsg1-2+b2_amd64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b2) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../72-python3-more-itertools_10.6.0-1_all.deb ... Unpacking python3-more-itertools (10.6.0-1) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../73-python3-typeguard_4.4.2-1_all.deb ... Unpacking python3-typeguard (4.4.2-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../74-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../75-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../76-python3-pkg-resources_75.8.0-1_all.deb ... Unpacking python3-pkg-resources (75.8.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../77-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../78-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../79-python3-setuptools_75.8.0-1_all.deb ... Unpacking python3-setuptools (75.8.0-1) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../80-python3-jaraco.context_6.0.1-1_all.deb ... Unpacking python3-jaraco.context (6.0.1-1) ... Selecting previously unselected package python3-mypy-extensions. Preparing to unpack .../81-python3-mypy-extensions_1.0.0-1_all.deb ... Unpacking python3-mypy-extensions (1.0.0-1) ... Selecting previously unselected package python3-psutil. Preparing to unpack .../82-python3-psutil_5.9.8-2_amd64.deb ... Unpacking python3-psutil (5.9.8-2) ... Selecting previously unselected package python3-mypy. Preparing to unpack .../83-python3-mypy_1.15.0-4+b1_amd64.deb ... Unpacking python3-mypy (1.15.0-4+b1) ... Selecting previously unselected package python3-pytest-cov. Preparing to unpack .../84-python3-pytest-cov_5.0.0-1_all.deb ... Unpacking python3-pytest-cov (5.0.0-1) ... Setting up media-types (13.0.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libicu72:amd64 (72.1-6) ... Setting up bsdextrautils (2.40.4-5) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.24.1) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up gettext-base (0.23.1-1) ... Setting up m4 (1.4.19-7) ... Setting up file (1:5.45-3+b1) ... Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Mar 10 21:06:25 UTC 2025. Universal Time is now: Mon Mar 10 21:06:25 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libunistring5:amd64 (1.3-1) ... Setting up autopoint (0.23.1-1) ... Setting up autoconf (2.72-3) ... Setting up libffi8:amd64 (3.4.7-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up netbase (6.4) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libjs-jquery-hotkeys (0.2.0-1) ... Setting up openssl (3.4.1-1) ... Setting up readline-common (8.2-6) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b2) ... Setting up libonig5:amd64 (6.9.9-1+b1) ... Setting up automake (1:1.17-3) ... update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... Setting up gettext (0.23.1-1) ... Setting up libtool (2.5.4-4) ... Setting up libjq1:amd64 (1.7.1-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 152 added, 0 removed; done. Setting up libjs-jquery-metadata (12-4) ... Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... Setting up libreadline8t64:amd64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.1-2) ... Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Setting up groff-base (1.23.0-7) ... Setting up jq (1.7.1-3+b1) ... Setting up libpython3.13-stdlib:amd64 (3.13.2-1) ... Setting up libpython3-stdlib:amd64 (3.13.2-2) ... Setting up python3.13 (3.13.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up python3 (3.13.2-2) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up python3-wheel (0.45.1-1) ... Setting up python3-psutil (5.9.8-2) ... Setting up python3-multidict (6.1.0-1+b2) ... Setting up python3-frozenlist (1.5.0-1+b2) ... Setting up python3-aiosignal (1.3.2-1) ... Setting up python3-async-timeout (5.0.1-1) ... Setting up python3-packaging (24.2-1) ... Setting up python3-pyproject-hooks (1.2.0-1) ... Setting up python3-idna (3.10-1) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-aiohappyeyeballs (2.4.6-1) ... Setting up python3-pip (25.0+dfsg-1) ... Setting up python3-toml (0.10.2-1) ... Setting up python3-installer (0.7.0+dfsg1-3) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-backoff (2.2.1-2) ... Setting up python3-build (1.2.2-1) ... Setting up python3-yarl (1.13.1-1+b2) ... Setting up dh-python (6.20250308) ... Setting up python3-more-itertools (10.6.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-attr (25.1.0-1) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-async-generator (1.10-4) ... Setting up python3-jaraco.context (6.0.1-1) ... Setting up pybuild-plugin-pyproject (6.20250308) ... Setting up python3-pytest (8.3.5-1) ... Setting up python3-mypy-extensions (1.0.0-1) ... Setting up python3-typeguard (4.4.2-1) ... Setting up python3-aiohttp (3.10.11-1+b1) ... Setting up python3-all (3.13.2-2) ... Setting up python3-coverage (7.6.0+dfsg1-2+b2) ... Setting up debhelper (13.24.1) ... Setting up python3-pytest-cov (5.0.0-1) ... Setting up openstack-pkg-tools (132) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-mypy (1.15.0-4+b1) ... Setting up python3-pytest-asyncio (0.25.1-1) ... Setting up python3-pkg-resources (75.8.0-1) ... Setting up python3-setuptools (75.8.0-1) ... Setting up python3-aresponses (3.0.0-2) ... Processing triggers for libc-bin (2.41-4) ... Processing triggers for ca-certificates (20241223) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/python-aiomodernforms-0.1.8/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-aiomodernforms_0.1.8-2_source.changes dpkg-buildpackage: info: source package python-aiomodernforms dpkg-buildpackage: info: source version 0.1.8-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 dpkg-source: info: using options from python-aiomodernforms-0.1.8/debian/source/options: --extend-diff-ignore=^[^/]*[.]egg-info/ debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3 dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=pybuild --with python3 dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /build/reproducible-path/python-aiomodernforms-0.1.8/.pybuild/cpython3_3.13 * Building wheel... /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) /build/reproducible-path/python-aiomodernforms-0.1.8/aiomodernforms/__version__.pyrunning bdist_wheel running build running build_py creating build/lib/aiomodernforms copying aiomodernforms/models.py -> build/lib/aiomodernforms copying aiomodernforms/__version__.py -> build/lib/aiomodernforms copying aiomodernforms/exceptions.py -> build/lib/aiomodernforms copying aiomodernforms/__init__.py -> build/lib/aiomodernforms copying aiomodernforms/const.py -> build/lib/aiomodernforms copying aiomodernforms/modernforms.py -> build/lib/aiomodernforms running egg_info creating aiomodernforms.egg-info writing aiomodernforms.egg-info/PKG-INFO writing dependency_links to aiomodernforms.egg-info/dependency_links.txt writing requirements to aiomodernforms.egg-info/requires.txt writing top-level names to aiomodernforms.egg-info/top_level.txt writing manifest file 'aiomodernforms.egg-info/SOURCES.txt' reading manifest file 'aiomodernforms.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.py[co]' found under directory '*' adding license file 'LICENSE.md' writing manifest file 'aiomodernforms.egg-info/SOURCES.txt' installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/aiomodernforms copying build/lib/aiomodernforms/models.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms copying build/lib/aiomodernforms/__version__.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms copying build/lib/aiomodernforms/exceptions.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms copying build/lib/aiomodernforms/__init__.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms copying build/lib/aiomodernforms/const.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms copying build/lib/aiomodernforms/modernforms.py -> build/bdist.linux-x86_64/wheel/./aiomodernforms running install_egg_info Copying aiomodernforms.egg-info to build/bdist.linux-x86_64/wheel/./aiomodernforms-0.1.8.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/aiomodernforms-0.1.8.dist-info/WHEEL creating '/build/reproducible-path/python-aiomodernforms-0.1.8/.pybuild/cpython3_3.13/.tmp-4hcqfpn2/aiomodernforms-0.1.8-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'aiomodernforms/__init__.py' adding 'aiomodernforms/__version__.py' adding 'aiomodernforms/const.py' adding 'aiomodernforms/exceptions.py' adding 'aiomodernforms/models.py' adding 'aiomodernforms/modernforms.py' adding 'aiomodernforms-0.1.8.dist-info/LICENSE.md' adding 'aiomodernforms-0.1.8.dist-info/METADATA' adding 'aiomodernforms-0.1.8.dist-info/WHEEL' adding 'aiomodernforms-0.1.8.dist-info/top_level.txt' adding 'aiomodernforms-0.1.8.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built aiomodernforms-0.1.8-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/python-aiomodernforms-0.1.8/.pybuild/cpython3_3.13/build; python3.13 -m pytest -v /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:207: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 -- /usr/bin/python3.13 cachedir: .pytest_cache rootdir: /build/reproducible-path/python-aiomodernforms-0.1.8/.pybuild/cpython3_3.13/build configfile: pytest.ini testpaths: tests plugins: aresponses-3.0.0, asyncio-0.25.1, typeguard-4.4.2, cov-5.0.0 asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=None collecting ... collected 19 items tests/test_aiomodernforms.py::test_basic_status FAILED [ 5%] tests/test_aiomodernforms.py::test_command FAILED [ 10%] tests/test_aiomodernforms.py::test_light FAILED [ 15%] tests/test_aiomodernforms.py::test_light_sleep_datetime FAILED [ 21%] tests/test_aiomodernforms.py::test_light_sleep_int FAILED [ 26%] tests/test_aiomodernforms.py::test_light_sleep_clear FAILED [ 31%] tests/test_aiomodernforms.py::test_fan FAILED [ 36%] tests/test_aiomodernforms.py::test_fan_sleep_datetime FAILED [ 42%] tests/test_aiomodernforms.py::test_fan_sleep_int FAILED [ 47%] tests/test_aiomodernforms.py::test_fan_sleep_clear FAILED [ 52%] tests/test_aiomodernforms.py::test_away FAILED [ 57%] tests/test_aiomodernforms.py::test_adaptive_learning FAILED [ 63%] tests/test_aiomodernforms.py::test_invalid_setting FAILED [ 68%] tests/test_aiomodernforms.py::test_connection_error FAILED [ 73%] tests/test_aiomodernforms.py::test_server_error FAILED [ 78%] tests/test_aiomodernforms.py::test_reboot FAILED [ 84%] tests/test_aiomodernforms.py::test_status_not_initialized_response PASSED [ 89%] tests/test_aiomodernforms.py::test_info_not_initialized_response PASSED [ 94%] tests/test_aiomodernforms.py::test_empty_response FAILED [100%] =================================== FAILURES =================================== ______________________________ test_basic_status _______________________________ aresponses = @pytest.mark.asyncio async def test_basic_status(aresponses): """Test JSON response is handled correctly.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add( "fan.local", "/mf", "POST", response=basic_response, repeat=2, ) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _________________________________ test_command _________________________________ aresponses = @pytest.mark.asyncio async def test_command(aresponses): """Test to make sure setting lights works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_LIGHT_POWER in data modified_response = basic_response.copy() modified_response[STATE_LIGHT_POWER] = data[aiomodernforms.COMMAND_LIGHT_POWER] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError __________________________________ test_light __________________________________ aresponses = @pytest.mark.asyncio async def test_light(aresponses): """Test to make sure setting lights works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_LIGHT_POWER in data assert aiomodernforms.COMMAND_LIGHT_BRIGHTNESS in data assert aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_LIGHT_POWER] = data[aiomodernforms.COMMAND_LIGHT_POWER] modified_response[STATE_LIGHT_BRIGHTNESS] = data[ aiomodernforms.COMMAND_LIGHT_BRIGHTNESS ] modified_response[STATE_LIGHT_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:143: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError __________________________ test_light_sleep_datetime ___________________________ aresponses = @pytest.mark.asyncio async def test_light_sleep_datetime(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_LIGHT_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: sleep_time = datetime.now() + timedelta(minutes=2) > await device.light( sleep=sleep_time, ) tests/test_aiomodernforms.py:180: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:251: in light await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _____________________________ test_light_sleep_int _____________________________ aresponses = @pytest.mark.asyncio async def test_light_sleep_int(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_LIGHT_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: sleep_time = datetime.now() + timedelta(seconds=120) > await device.light( sleep=120, ) tests/test_aiomodernforms.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:251: in light await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ____________________________ test_light_sleep_clear ____________________________ aresponses = @pytest.mark.asyncio async def test_light_sleep_clear(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_LIGHT_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_LIGHT_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) # check to clear timer async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.light( sleep=0, ) tests/test_aiomodernforms.py:238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:251: in light await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ___________________________________ test_fan ___________________________________ aresponses = @pytest.mark.asyncio async def test_fan(aresponses): """Test to make sure setting fan works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_FAN_POWER in data assert aiomodernforms.COMMAND_FAN_SPEED in data assert aiomodernforms.COMMAND_FAN_DIRECTION in data assert aiomodernforms.COMMAND_FAN_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_FAN_POWER] = data[aiomodernforms.COMMAND_FAN_POWER] modified_response[STATE_FAN_SPEED] = data[aiomodernforms.COMMAND_FAN_SPEED] modified_response[STATE_FAN_DIRECTION] = data[ aiomodernforms.COMMAND_FAN_DIRECTION ] modified_response[STATE_FAN_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_FAN_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:274: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ___________________________ test_fan_sleep_datetime ____________________________ aresponses = @pytest.mark.asyncio async def test_fan_sleep_datetime(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_FAN_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_FAN_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_FAN_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: sleep_time = datetime.now() + timedelta(minutes=2) > await device.fan( sleep=sleep_time, ) tests/test_aiomodernforms.py:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:313: in fan await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ______________________________ test_fan_sleep_int ______________________________ aresponses = @pytest.mark.asyncio async def test_fan_sleep_int(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_FAN_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_FAN_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_FAN_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: sleep_time = datetime.now() + timedelta(seconds=120) > await device.fan( sleep=120, ) tests/test_aiomodernforms.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:313: in fan await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _____________________________ test_fan_sleep_clear _____________________________ aresponses = @pytest.mark.asyncio async def test_fan_sleep_clear(aresponses): """Test to make sure setting light sleep works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_FAN_SLEEP_TIMER in data modified_response = basic_response.copy() modified_response[STATE_FAN_SLEEP_TIMER] = data[ aiomodernforms.COMMAND_FAN_SLEEP_TIMER ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) # check to clear timer async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.fan( sleep=0, ) tests/test_aiomodernforms.py:369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ aiomodernforms/modernforms.py:313: in fan await self.request(commands=commands) aiomodernforms/modernforms.py:178: in request await self.update() /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError __________________________________ test_away ___________________________________ aresponses = @pytest.mark.asyncio async def test_away(aresponses): """Test to make sure setting away mode works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_AWAY_MODE in data modified_response = basic_response.copy() modified_response[STATE_AWAY_MODE] = data[aiomodernforms.COMMAND_AWAY_MODE] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ____________________________ test_adaptive_learning ____________________________ aresponses = @pytest.mark.asyncio async def test_adaptive_learning(aresponses): """Test to make sure setting adaptive learning mode works.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async def evaluate_request(request): data = await request.json() assert aiomodernforms.COMMAND_ADAPTIVE_LEARNING in data modified_response = basic_response.copy() modified_response[STATE_ADAPTIVE_LEARNING] = data[ aiomodernforms.COMMAND_ADAPTIVE_LEARNING ] return aresponses.Response( status=200, content_type="application/json", text=json.dumps(modified_response), ) aresponses.add("fan.local", "/mf", "POST", response=evaluate_request) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:422: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _____________________________ test_invalid_setting _____________________________ aresponses = @pytest.mark.asyncio async def test_invalid_setting(aresponses): """Test to make sure setting invalid settings are rejected.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:434: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ____________________________ test_connection_error _____________________________ aresponses = @pytest.mark.asyncio async def test_connection_error(aresponses): """Test to make validate proper connection error handling.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) with pytest.raises(aiomodernforms.ModernFormsConnectionError): async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:502: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError ______________________________ test_server_error _______________________________ aresponses = @pytest.mark.asyncio async def test_server_error(aresponses): """Test to make validate proper server error handling.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add( "fan.local", "/mf", "POST", response=aresponses.Response(text="error", status=500), ) with pytest.raises(aiomodernforms.ModernFormsError): async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _________________________________ test_reboot __________________________________ aresponses = @pytest.mark.asyncio async def test_reboot(aresponses): """Test how reboot is handled.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) aresponses.add("fan.local", "/mf", "POST", response=basic_response) async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:528: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError _____________________________ test_empty_response ______________________________ aresponses = @pytest.mark.asyncio async def test_empty_response(aresponses): """Test for an Empty Response.""" aresponses.add("fan.local", "/mf", "POST", response=basic_info) async def send_empty_state(request): await request.json() return aresponses.Response( status=200, content_type="application/json", text="{}", ) aresponses.add("fan.local", "/mf", "POST", response=send_empty_state) with pytest.raises(ModernFormsConnectionError): async with aiomodernforms.ModernFormsDevice("fan.local") as device: > await device.update() tests/test_aiomodernforms.py:568: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) aiomodernforms/modernforms.py:96: in update info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True}) /usr/lib/python3/dist-packages/backoff/_async.py:151: in retry ret = await target(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = commands = {'queryStaticShadowData': True} @backoff.on_exception( backoff.expo, ModernFormsConnectionError, max_tries=3, logger=None ) async def _request(self, commands: Optional[dict] = None) -> Any: """Handle a request to a Modern Forms Fan device.""" scheme = "https" if self._tls else "http" url = URL.build( scheme=scheme, host=self._host, port=self._port, path=self._base_path, ) auth = None if self._username and self._password: auth = aiohttp.BasicAuth(self._username, self._password) headers = { "User-Agent": self._user_agent, "Accept": "application/json", } if self._session is None: self._session = aiohttp.ClientSession() self._close_session = True # If updating the state, always request for a state response if commands is None: commands = {COMMAND_QUERY_STATUS: True} try: > with async_timeout.timeout(self._request_timeout): E TypeError: 'Timeout' object does not support the context manager protocol aiomodernforms/modernforms.py:139: TypeError =========================== short test summary info ============================ FAILED tests/test_aiomodernforms.py::test_basic_status - TypeError: 'Timeout'... FAILED tests/test_aiomodernforms.py::test_command - TypeError: 'Timeout' obje... FAILED tests/test_aiomodernforms.py::test_light - TypeError: 'Timeout' object... FAILED tests/test_aiomodernforms.py::test_light_sleep_datetime - TypeError: '... FAILED tests/test_aiomodernforms.py::test_light_sleep_int - TypeError: 'Timeo... FAILED tests/test_aiomodernforms.py::test_light_sleep_clear - TypeError: 'Tim... FAILED tests/test_aiomodernforms.py::test_fan - TypeError: 'Timeout' object d... FAILED tests/test_aiomodernforms.py::test_fan_sleep_datetime - TypeError: 'Ti... FAILED tests/test_aiomodernforms.py::test_fan_sleep_int - TypeError: 'Timeout... FAILED tests/test_aiomodernforms.py::test_fan_sleep_clear - TypeError: 'Timeo... FAILED tests/test_aiomodernforms.py::test_away - TypeError: 'Timeout' object ... FAILED tests/test_aiomodernforms.py::test_adaptive_learning - TypeError: 'Tim... FAILED tests/test_aiomodernforms.py::test_invalid_setting - TypeError: 'Timeo... FAILED tests/test_aiomodernforms.py::test_connection_error - TypeError: 'Time... FAILED tests/test_aiomodernforms.py::test_server_error - TypeError: 'Timeout'... FAILED tests/test_aiomodernforms.py::test_reboot - TypeError: 'Timeout' objec... FAILED tests/test_aiomodernforms.py::test_empty_response - TypeError: 'Timeou... ========================= 17 failed, 2 passed in 1.16s ========================= E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /build/reproducible-path/python-aiomodernforms-0.1.8/.pybuild/cpython3_3.13/build; python3.13 -m pytest -v dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:9: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/274414 and its subdirectories