Tue May 7 02:43:11 UTC 2024 I: starting to build python-etcd/trixie/armhf on jenkins on '2024-05-07 02:42' Tue May 7 02:43:11 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/armhf_16/5236/console.log Tue May 7 02:43:11 UTC 2024 I: Downloading source for trixie/python-etcd=0.4.5-4 --2024-05-07 02:43:11-- http://deb.debian.org/debian/pool/main/p/python-etcd/python-etcd_0.4.5-4.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2133 (2.1K) [text/prs.lines.tag] Saving to: ‘python-etcd_0.4.5-4.dsc’ 0K .. 100% 255M=0s 2024-05-07 02:43:11 (255 MB/s) - ‘python-etcd_0.4.5-4.dsc’ saved [2133/2133] Tue May 7 02:43:11 UTC 2024 I: python-etcd_0.4.5-4.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: python-etcd Binary: python3-etcd Architecture: all Version: 0.4.5-4 Maintainer: Debian Python Team Uploaders: Jelmer Vernooij Homepage: https://github.com/jplana/python-etcd Standards-Version: 4.6.1 Vcs-Browser: https://salsa.debian.org/python-team/packages/python-etcd Vcs-Git: https://salsa.debian.org/python-team/packages/python-etcd.git Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-dnspython , python3-mock , python3-pytest , python3-openssl , python3-setuptools, python3-urllib3 Package-List: python3-etcd deb python optional arch=all Checksums-Sha1: 62359ac00990978664f3ee6a89b8887cebcc76f9 38902 python-etcd_0.4.5.orig.tar.gz 48ab1282a7c11cbbaba8bbbcaa223e7d2c066ecf 3124 python-etcd_0.4.5-4.debian.tar.xz Checksums-Sha256: 208e5794dd86d1a0a51753b0cd05caa2b55ff6917f917d88a92fd0b760d838db 38902 python-etcd_0.4.5.orig.tar.gz 93c6cca7da3fbc7845939a98341368e061b60edb85f55bb611c6dcf950e144e9 3124 python-etcd_0.4.5-4.debian.tar.xz Files: a6607033cada348e97d35b9d6656156a 38902 python-etcd_0.4.5.orig.tar.gz b3486a85b4bdde023d154c46594d9a33 3124 python-etcd_0.4.5-4.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEElUWWlhkoHBf/rFiR1QhaB1D9t6MFAmMogOUACgkQ1QhaB1D9 t6P2YA//d0kv+PJjRtMoYb6mREmNTegTLt+Ppp0hALFMj3Hxgyu7mxSnxPTl3+i7 wDgW0JrpvZOdMEcpBUeyGPbDOpFfypEWjLi+UNWjpkpLbarnF5JuHBE8XAjLCv/S C5Kfp/IWS75ywx5Zslfw1lkMkdknmjhsJEhgYUGRXSIXQmcLfGRaf/JQCgVho2g8 ry/ehGC4IiuIx+giU/mlu7G6JBwVdqDbTlZUhYRe3QHk+9HrIyyhd3CPhuvU6Yir ddE+FksFPXafLVEHVDVXi3CVmZq9P/uz5zCi67BfRGvdkDUIaCVdZHkx9OmYcIZ8 A58PqB5EEzFkk01WL6QESGpmwwYldow89ZE8tJngHt7ZWjU41pM/3mzXRA7rQoRh slQHIxRT2tFN1JOC6iyySclcsnsK3X0vAgCTtMdoJb+EDHlGNVYnkLJ3qV9NELTR GWBsT5IQ/CfO9haLgzNdeVBne9LIVGw5ducA5n2/rhzyPEi99s/mkpWFRHNtmbZ5 vkxxEqc+cK13M6F3cnvv9XqRbmjqTQxzNZ5jt4tcS06c5GqW0+SdCpsCnm765Zbw JAaVD+YX9krgq/zVozBe+6NDjbai866eiudwDjUNyqw1uXy6vQsO7NaOtr61qklM zf7ALRSSqyCNyF/jbNX4qNx86/hne+8u9FT5hxlqLJY3Oe7Urns= =aXyi -----END PGP SIGNATURE----- Tue May 7 02:43:11 UTC 2024 I: Checking whether the package is not for us Tue May 7 02:43:11 UTC 2024 I: Starting 1st build on remote node virt32b-armhf-rb.debian.net. Tue May 7 02:43:11 UTC 2024 I: Preparing to do remote build '1' on virt32b-armhf-rb.debian.net. Tue May 7 02:45:52 UTC 2024 I: Deleting $TMPDIR on virt32b-armhf-rb.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Mon May 6 14:43:18 -12 2024 I: pbuilder-time-stamp: 1715049798 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-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-etcd_0.4.5-4.dsc] I: copying [./python-etcd_0.4.5.orig.tar.gz] I: copying [./python-etcd_0.4.5-4.debian.tar.xz] I: Extracting source gpgv: Signature made Mon Sep 19 14:47:01 2022 gpgv: using RSA key 9545969619281C17FFAC5891D5085A0750FDB7A3 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-etcd_0.4.5-4.dsc: no acceptable signature found dpkg-source: info: extracting python-etcd in python-etcd-0.4.5 dpkg-source: info: unpacking python-etcd_0.4.5.orig.tar.gz dpkg-source: info: unpacking python-etcd_0.4.5-4.debian.tar.xz I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/12851/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='armhf' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='armhf' IFS=' ' INVOCATION_ID='cce8b37ababf4b8fb0b39e97ae35fb6b' 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='12851' 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.FgiZX0Bf/pbuilderrc_VuHE --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.FgiZX0Bf/b1 --logfile b1/build.log python-etcd_0.4.5-4.dsc' SUDO_GID='112' SUDO_UID='106' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://10.0.0.15:3142/' I: uname -a Linux virt32b 6.1.0-20-armmp-lpae #1 SMP Debian 6.1.85-1 (2024-04-11) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 5 11:25 /bin -> usr/bin I: user script /srv/workspace/pbuilder/12851/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: armhf 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 (= 13), dh-python, python3-all, python3-dnspython, python3-mock, python3-pytest, python3-openssl, python3-setuptools, python3-urllib3 dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19444 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 (= 13); 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 python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-dnspython; however: Package python3-dnspython is not installed. pbuilder-satisfydepends-dummy depends on python3-mock; however: Package python3-mock is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-openssl; however: Package python3-openssl is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-urllib3; however: Package python3-urllib3 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} 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} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-cffi-backend{a} python3-cryptography{a} python3-distutils{a} python3-dnspython{a} python3-iniconfig{a} python3-lib2to3{a} python3-minimal{a} python3-mock{a} python3-openssl{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-pytest{a} python3-setuptools{a} python3-six{a} python3-urllib3{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx python3-h2 python3-httpcore python3-httpx python3-idna python3-pygments wget 0 packages upgraded, 64 newly installed, 0 to remove and 0 not upgraded. Need to get 31.6 MB of archives. After unpacking 124 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main armhf libpython3.11-minimal armhf 3.11.9-1 [805 kB] Get: 2 http://deb.debian.org/debian trixie/main armhf libexpat1 armhf 2.6.2-1 [83.5 kB] Get: 3 http://deb.debian.org/debian trixie/main armhf python3.11-minimal armhf 3.11.9-1 [1600 kB] Get: 4 http://deb.debian.org/debian trixie/main armhf python3-minimal armhf 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian trixie/main armhf media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main armhf netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main armhf tzdata all 2024a-3 [255 kB] Get: 8 http://deb.debian.org/debian trixie/main armhf readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian trixie/main armhf libreadline8t64 armhf 8.2-4 [145 kB] Get: 10 http://deb.debian.org/debian trixie/main armhf libpython3.11-stdlib armhf 3.11.9-1 [1704 kB] Get: 11 http://deb.debian.org/debian trixie/main armhf python3.11 armhf 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian trixie/main armhf libpython3-stdlib armhf 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian trixie/main armhf python3 armhf 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian trixie/main armhf libpython3.12-minimal armhf 3.12.3-1 [795 kB] Get: 15 http://deb.debian.org/debian trixie/main armhf python3.12-minimal armhf 3.12.3-1 [1783 kB] Get: 16 http://deb.debian.org/debian trixie/main armhf sensible-utils all 0.0.22 [22.4 kB] Get: 17 http://deb.debian.org/debian trixie/main armhf libmagic-mgc armhf 1:5.45-3 [314 kB] Get: 18 http://deb.debian.org/debian trixie/main armhf libmagic1t64 armhf 1:5.45-3 [98.1 kB] Get: 19 http://deb.debian.org/debian trixie/main armhf file armhf 1:5.45-3 [42.0 kB] Get: 20 http://deb.debian.org/debian trixie/main armhf gettext-base armhf 0.21-14+b1 [157 kB] Get: 21 http://deb.debian.org/debian trixie/main armhf libuchardet0 armhf 0.0.8-1+b1 [65.7 kB] Get: 22 http://deb.debian.org/debian trixie/main armhf groff-base armhf 1.23.0-4 [1090 kB] Get: 23 http://deb.debian.org/debian trixie/main armhf bsdextrautils armhf 2.40-8 [85.6 kB] Get: 24 http://deb.debian.org/debian trixie/main armhf libpipeline1 armhf 1.5.7-2 [33.3 kB] Get: 25 http://deb.debian.org/debian trixie/main armhf man-db armhf 2.12.1-1 [1375 kB] Get: 26 http://deb.debian.org/debian trixie/main armhf m4 armhf 1.4.19-4 [264 kB] Get: 27 http://deb.debian.org/debian trixie/main armhf autoconf all 2.71-3 [332 kB] Get: 28 http://deb.debian.org/debian trixie/main armhf autotools-dev all 20220109.1 [51.6 kB] Get: 29 http://deb.debian.org/debian trixie/main armhf automake all 1:1.16.5-1.3 [823 kB] Get: 30 http://deb.debian.org/debian trixie/main armhf autopoint all 0.21-14 [496 kB] Get: 31 http://deb.debian.org/debian trixie/main armhf libdebhelper-perl all 13.15.3 [88.0 kB] Get: 32 http://deb.debian.org/debian trixie/main armhf libtool all 2.4.7-7 [517 kB] Get: 33 http://deb.debian.org/debian trixie/main armhf dh-autoreconf all 20 [17.1 kB] Get: 34 http://deb.debian.org/debian trixie/main armhf libarchive-zip-perl all 1.68-1 [104 kB] Get: 35 http://deb.debian.org/debian trixie/main armhf libsub-override-perl all 0.10-1 [10.6 kB] Get: 36 http://deb.debian.org/debian trixie/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 37 http://deb.debian.org/debian trixie/main armhf dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 38 http://deb.debian.org/debian trixie/main armhf libelf1t64 armhf 0.191-1+b1 [183 kB] Get: 39 http://deb.debian.org/debian trixie/main armhf dwz armhf 0.15-1+b2 [106 kB] Get: 40 http://deb.debian.org/debian trixie/main armhf libicu72 armhf 72.1-4+b1 [9070 kB] Get: 41 http://deb.debian.org/debian trixie/main armhf libxml2 armhf 2.9.14+dfsg-1.3+b3 [598 kB] Get: 42 http://deb.debian.org/debian trixie/main armhf gettext armhf 0.21-14+b1 [1230 kB] Get: 43 http://deb.debian.org/debian trixie/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 44 http://deb.debian.org/debian trixie/main armhf po-debconf all 1.0.21+nmu1 [248 kB] Get: 45 http://deb.debian.org/debian trixie/main armhf debhelper all 13.15.3 [901 kB] Get: 46 http://deb.debian.org/debian trixie/main armhf python3-pkg-resources all 68.1.2-2 [241 kB] Get: 47 http://deb.debian.org/debian trixie/main armhf python3-lib2to3 all 3.12.3-1 [77.6 kB] Get: 48 http://deb.debian.org/debian trixie/main armhf python3-distutils all 3.12.3-1 [131 kB] Get: 49 http://deb.debian.org/debian trixie/main armhf python3-setuptools all 68.1.2-2 [468 kB] Get: 50 http://deb.debian.org/debian trixie/main armhf dh-python all 6.20240422 [107 kB] Get: 51 http://deb.debian.org/debian trixie/main armhf libpython3.12-stdlib armhf 3.12.3-1 [1808 kB] Get: 52 http://deb.debian.org/debian trixie/main armhf python3.12 armhf 3.12.3-1 [659 kB] Get: 53 http://deb.debian.org/debian trixie/main armhf python3-all armhf 3.11.8-1 [1056 B] Get: 54 http://deb.debian.org/debian trixie/main armhf python3-cffi-backend armhf 1.16.0-2+b2 [99.1 kB] Get: 55 http://deb.debian.org/debian trixie/main armhf python3-cryptography armhf 42.0.5-2 [1002 kB] Get: 56 http://deb.debian.org/debian trixie/main armhf python3-dnspython all 2.6.1-1 [161 kB] Get: 57 http://deb.debian.org/debian trixie/main armhf python3-iniconfig all 1.1.1-2 [6396 B] Get: 58 http://deb.debian.org/debian trixie/main armhf python3-mock all 5.1.0-1 [70.2 kB] Get: 59 http://deb.debian.org/debian trixie/main armhf python3-openssl all 24.1.0-1 [51.9 kB] Get: 60 http://deb.debian.org/debian trixie/main armhf python3-packaging all 24.0-1 [45.5 kB] Get: 61 http://deb.debian.org/debian trixie/main armhf python3-pluggy all 1.5.0-1 [26.9 kB] Get: 62 http://deb.debian.org/debian trixie/main armhf python3-pytest all 7.4.4-3 [239 kB] Get: 63 http://deb.debian.org/debian trixie/main armhf python3-six all 1.16.0-6 [16.3 kB] Get: 64 http://deb.debian.org/debian trixie/main armhf python3-urllib3 all 1.26.18-2 [116 kB] Fetched 31.6 MB in 1s (43.4 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:armhf. (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 ... 19444 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_armhf.deb ... Unpacking libpython3.11-minimal:armhf (3.11.9-1) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../libexpat1_2.6.2-1_armhf.deb ... Unpacking libexpat1:armhf (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_armhf.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:armhf (3.11.9-1) ... Setting up libexpat1:armhf (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-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 ... 19760 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_armhf.deb ... Unpacking python3-minimal (3.11.8-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.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_2024a-3_all.deb ... Unpacking tzdata (2024a-3) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:armhf. Preparing to unpack .../5-libreadline8t64_8.2-4_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:armhf (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:armhf. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_armhf.deb ... Unpacking libpython3.11-stdlib:armhf (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_armhf.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:armhf. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_armhf.deb ... Unpacking libpython3-stdlib:armhf (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... 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 ... 20752 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.8-1_armhf.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libpython3.12-minimal:armhf. Preparing to unpack .../01-libpython3.12-minimal_3.12.3-1_armhf.deb ... Unpacking libpython3.12-minimal:armhf (3.12.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.3-1_armhf.deb ... Unpacking python3.12-minimal (3.12.3-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-3_armhf.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:armhf. Preparing to unpack .../05-libmagic1t64_1%3a5.45-3_armhf.deb ... Unpacking libmagic1t64:armhf (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-3_armhf.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.21-14+b1_armhf.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:armhf. Preparing to unpack .../08-libuchardet0_0.0.8-1+b1_armhf.deb ... Unpacking libuchardet0:armhf (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-4_armhf.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.40-8_armhf.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:armhf. Preparing to unpack .../11-libpipeline1_1.5.7-2_armhf.deb ... Unpacking libpipeline1:armhf (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.12.1-1_armhf.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../13-m4_1.4.19-4_armhf.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../14-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-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.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../17-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../18-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... 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 libsub-override-perl. Preparing to unpack .../22-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../23-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../24-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:armhf. Preparing to unpack .../25-libelf1t64_0.191-1+b1_armhf.deb ... Unpacking libelf1t64:armhf (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.15-1+b2_armhf.deb ... Unpacking dwz (0.15-1+b2) ... Selecting previously unselected package libicu72:armhf. Preparing to unpack .../27-libicu72_72.1-4+b1_armhf.deb ... Unpacking libicu72:armhf (72.1-4+b1) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../28-libxml2_2.9.14+dfsg-1.3+b3_armhf.deb ... Unpacking libxml2:armhf (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../29-gettext_0.21-14+b1_armhf.deb ... Unpacking gettext (0.21-14+b1) ... 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.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../33-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../34-python3-lib2to3_3.12.3-1_all.deb ... Unpacking python3-lib2to3 (3.12.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../35-python3-distutils_3.12.3-1_all.deb ... Unpacking python3-distutils (3.12.3-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../36-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../37-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package libpython3.12-stdlib:armhf. Preparing to unpack .../38-libpython3.12-stdlib_3.12.3-1_armhf.deb ... Unpacking libpython3.12-stdlib:armhf (3.12.3-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../39-python3.12_3.12.3-1_armhf.deb ... Unpacking python3.12 (3.12.3-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../40-python3-all_3.11.8-1_armhf.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-cffi-backend:armhf. Preparing to unpack .../41-python3-cffi-backend_1.16.0-2+b2_armhf.deb ... Unpacking python3-cffi-backend:armhf (1.16.0-2+b2) ... Selecting previously unselected package python3-cryptography. Preparing to unpack .../42-python3-cryptography_42.0.5-2_armhf.deb ... Unpacking python3-cryptography (42.0.5-2) ... Selecting previously unselected package python3-dnspython. Preparing to unpack .../43-python3-dnspython_2.6.1-1_all.deb ... Unpacking python3-dnspython (2.6.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../44-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-mock. Preparing to unpack .../45-python3-mock_5.1.0-1_all.deb ... Unpacking python3-mock (5.1.0-1) ... Selecting previously unselected package python3-openssl. Preparing to unpack .../46-python3-openssl_24.1.0-1_all.deb ... Unpacking python3-openssl (24.1.0-1) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../47-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../48-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../49-python3-pytest_7.4.4-3_all.deb ... Unpacking python3-pytest (7.4.4-3) ... Selecting previously unselected package python3-six. Preparing to unpack .../50-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../51-python3-urllib3_1.26.18-2_all.deb ... Unpacking python3-urllib3 (1.26.18-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:armhf (1.5.7-2) ... Setting up libicu72:armhf (72.1-4+b1) ... Setting up bsdextrautils (2.40-8) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libmagic1t64:armhf (1:5.45-3) ... Setting up libpython3.12-minimal:armhf (3.12.3-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:armhf (0.191-1+b1) ... Setting up tzdata (2024a-3) ... Current default time zone: 'Etc/UTC' Local time is now: Tue May 7 02:44:21 UTC 2024. Universal Time is now: Tue May 7 02:44:21 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.21-14) ... Setting up autoconf (2.71-3) ... Setting up dwz (0.15-1+b2) ... Setting up sensible-utils (0.0.22) ... Setting up libuchardet0:armhf (0.0.8-1+b1) ... Setting up libsub-override-perl (0.10-1) ... Setting up netbase (6.4) ... Setting up readline-common (8.2-4) ... Setting up libxml2:armhf (2.9.14+dfsg-1.3+b3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up python3.12-minimal (3.12.3-1) ... Setting up gettext (0.21-14+b1) ... Setting up libtool (2.4.7-7) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libreadline8t64:armhf (8.2-4) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up groff-base (1.23.0-4) ... Setting up libpython3.12-stdlib:armhf (3.12.3-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:armhf (3.11.9-1) ... Setting up python3.12 (3.12.3-1) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3-stdlib:armhf (3.11.8-1) ... Setting up python3.11 (3.11.9-1) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.8-1) ... Setting up python3-mock (5.1.0-1) ... Setting up python3-six (1.16.0-6) ... Setting up python3-packaging (24.0-1) ... Setting up python3-urllib3 (1.26.18-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-dnspython (2.6.1-1) ... Setting up python3-lib2to3 (3.12.3-1) ... Setting up python3-cffi-backend:armhf (1.16.0-2+b2) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.12.3-1) ... python3.12: can't get files for byte-compilation Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-pytest (7.4.4-3) ... Setting up python3-all (3.11.8-1) ... Setting up python3-cryptography (42.0.5-2) ... Setting up dh-python (6.20240422) ... Setting up python3-openssl (24.1.0-1) ... Processing triggers for libc-bin (2.38-7) ... 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 I: Building the package I: Running cd /build/reproducible-path/python-etcd-0.4.5/ && 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-etcd_0.4.5-4_source.changes dpkg-buildpackage: info: source package python-etcd dpkg-buildpackage: info: source version 0.4.5-4 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Emanuele Rocca dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf debian/rules clean dh clean --with python3 --buildsystem pybuild dh_auto_clean -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py clean running clean removing '/build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:311: python3.11 setup.py clean running clean removing '/build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build' (and everything under it) 'build/bdist.linux-armv7l' does not exist -- can't clean it 'build/scripts-3.11' does not exist -- can't clean it dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3 --buildsystem pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.12 setup.py config running config I: pybuild base:311: python3.11 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.12 setup.py build running build running build_py creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd copying src/etcd/client.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd copying src/etcd/lock.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd copying src/etcd/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd copying src/etcd/auth.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests copying src/etcd/tests/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests copying src/etcd/tests/test_auth.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/test_ssl.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/helpers.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/test_simple.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/integration creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_request.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_result.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_old_request.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_lock.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_client.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/tests/unit running egg_info creating src/python_etcd.egg-info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' I: pybuild base:311: /usr/bin/python3 setup.py build running build running build_py creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd copying src/etcd/client.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd copying src/etcd/lock.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd copying src/etcd/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd copying src/etcd/auth.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests copying src/etcd/tests/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests copying src/etcd/tests/test_auth.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/test_ssl.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/helpers.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/integration copying src/etcd/tests/integration/test_simple.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/integration creating /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/__init__.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_request.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_result.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_old_request.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_lock.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit copying src/etcd/tests/unit/test_client.py -> /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit running egg_info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build; python3.12 -m pytest etcd/tests/unit/ ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.5.0 rootdir: /build/reproducible-path/python-etcd-0.4.5 collected 119 items etcd/tests/unit/test_client.py F.F.........F..............F [ 23%] etcd/tests/unit/test_lock.py FF.FFFFFF.F [ 32%] etcd/tests/unit/test_old_request.py FF..FFFFFFFxFFF...FFF [ 50%] etcd/tests/unit/test_request.py ...FF.FF.FFFFF..FFFFF.FFFFF.F.FF.FFFFF.. [ 84%] .FF..FFF.FF.FFF. [ 97%] etcd/tests/unit/test_result.py ... [100%] =================================== FAILURES =================================== ______________________ TestClient.test__set_version_info _______________________ self = def test__set_version_info(self): """Verify _set_version_info makes the proper call to the server""" with mock.patch('urllib3.PoolManager') as _pm: _request = _pm().request # Return the expected data type _request.return_value = mock.MagicMock( data=b'{"etcdserver": "2.2.3", "etcdcluster": "2.3.0"}') # Create the client and make the call. client = etcd.Client() client._set_version_info() # Verify we call the proper endpoint _request.assert_called_once_with( client._MGET, client._base_uri + '/version', headers=mock.ANY, redirect=mock.ANY, timeout=mock.ANY) # Verify the properties while we are here > self.assertEquals('2.2.3', client.version) E AttributeError: 'TestClient' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_client.py:145: AttributeError ___________________ TestClient.test_cluster_version_property ___________________ self = def test_cluster_version_property(self): """Ensure the cluster version property is set on first access.""" with mock.patch('urllib3.PoolManager') as _pm: _request = _pm().request # Return the expected data type _request.return_value = mock.MagicMock( data=b'{"etcdserver": "2.2.3", "etcdcluster": "2.3.0"}') # Create the client. client = etcd.Client() # Verify the cluster_version property is set > self.assertEquals('2.3.0', client.cluster_version) E AttributeError: 'TestClient' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_client.py:174: AttributeError ___________________________ TestClient.test_discover ___________________________ self = def test_discover(self): """Tests discovery.""" answers = [] for i in range(1,3): r = mock.create_autospec(dns.rdtypes.IN.SRV.SRV) r.port = 2379 try: method = dns.name.from_unicode except AttributeError: method = dns.name.from_text r.target = method(u'etcd{}.example.com'.format(i)) answers.append(r) dns.resolver.query = mock.create_autospec(dns.resolver.query, return_value=answers) self.machines = etcd.Client.machines etcd.Client.machines = mock.create_autospec(etcd.Client.machines, return_value=[u'https://etcd2.example.com:2379']) c = etcd.Client(srv_domain="example.com", allow_reconnect=True, protocol="https") etcd.Client.machines = self.machines > self.assertEquals(c.host, u'etcd1.example.com') E AttributeError: 'TestClient' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_client.py:210: AttributeError _______________________ TestClient.test_version_property _______________________ self = def test_version_property(self): """Ensure the version property is set on first access.""" with mock.patch('urllib3.PoolManager') as _pm: _request = _pm().request # Return the expected data type _request.return_value = mock.MagicMock( data=b'{"etcdserver": "2.2.3", "etcdcluster": "2.3.0"}') # Create the client. client = etcd.Client() # Verify the version property is set > self.assertEquals('2.2.3', client.version) E AttributeError: 'TestClient' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_client.py:160: AttributeError _________________________ TestClientLock.test_acquire __________________________ self = def test_acquire(self): """ Acquiring a precedingly inexistent lock works. """ l = etcd.Lock(self.client, 'test_lock') l._find_lock = mock.MagicMock(spec=l._find_lock, return_value=False) l._acquired = mock.MagicMock(spec=l._acquired, return_value=True) # Mock the write d = { u'action': u'set', u'node': { u'modifiedIndex': 190, u'key': u'/_locks/test_lock/1', u'value': l.uuid } } self._mock_api(200, d) > self.assertEquals(l.acquire(), True) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:55: AttributeError _________________________ TestClientLock.test_acquired _________________________ self = def test_acquired(self): """ Test the acquiring primitives """ self.locker._sequence = '4' retval = ('/_locks/test_lock/4', None) self.locker._get_locker = mock.MagicMock( spec=self.locker._get_locker, return_value=retval) self.assertTrue(self.locker._acquired()) self.assertTrue(self.locker.is_taken) retval = ('/_locks/test_lock/1', '/_locks/test_lock/4') self.locker._get_locker = mock.MagicMock(return_value=retval) self.assertFalse(self.locker._acquired(blocking=False)) self.assertFalse(self.locker.is_taken) d = { u'action': u'delete', u'node': { u'modifiedIndex': 190, u'key': u'/_locks/test_lock/1', u'value': self.locker.uuid } } self._mock_api(200, d) returns = [('/_locks/test_lock/1', '/_locks/test_lock/4'), ('/_locks/test_lock/4', None)] def side_effect(): return returns.pop() > self.locker._get_locker = mock.MagicMock( spec=self.locker._get_locker, side_effect=side_effect) etcd/tests/unit/test_lock.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/mock/mock.py:2188: in __init__ _safe_super(MagicMixin, self).__init__(*args, **kw) /usr/lib/python3/dist-packages/mock/mock.py:1160: in __init__ _safe_super(CallableMixin, self).__init__( /usr/lib/python3/dist-packages/mock/mock.py:486: in __init__ self._mock_add_spec(spec, spec_set, _spec_as_instance, _eat_self) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError('_mock_methods') raised in repr()] MagicMock object at 0xb575d4b0> spec = , spec_set = None, _spec_as_instance = False _eat_self = False def _mock_add_spec(self, spec, spec_set, _spec_as_instance=False, _eat_self=False): if _is_instance_mock(spec): > raise InvalidSpecError(f'Cannot spec a Mock object. [object={spec!r}]') E mock.mock.InvalidSpecError: Cannot spec a Mock object. [object=] /usr/lib/python3/dist-packages/mock/mock.py:537: InvalidSpecError ________________________ TestClientLock.test_find_lock _________________________ self = def test_find_lock(self): d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/_locks/test_lock/1', u'value': self.locker.uuid } } self._mock_api(200, d) self.locker._sequence = '1' self.assertTrue(self.locker._find_lock()) # Now let's pretend the lock is not there self._mock_exception(etcd.EtcdKeyNotFound, self.locker.lock_key) self.assertFalse(self.locker._find_lock()) self.locker._sequence = None self.recursive_read() self.assertTrue(self.locker._find_lock()) > self.assertEquals(self.locker._sequence, '34') E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:174: AttributeError ________________________ TestClientLock.test_get_locker ________________________ self = def test_get_locker(self): self.recursive_read() > self.assertEquals((u'/_locks/test_lock/1', etcd.EtcdResult(node={'newKey': False, '_children': [], 'createdIndex': 33, 'modifiedIndex': 33, 'value': u'2qwwwq', 'expiration': None, 'key': u'/_locks/test_lock/1', 'ttl': None, 'action': None, 'dir': False})), self.locker._get_locker()) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:178: AttributeError ______________________ TestClientLock.test_initialization ______________________ self = def test_initialization(self): """ Verify the lock gets initialized correctly """ > self.assertEquals(self.locker.name, u'test_lock') E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:34: AttributeError _______________________ TestClientLock.test_is_acquired ________________________ self = def test_is_acquired(self): """ Test is_acquired """ self.locker._sequence = '1' d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/_locks/test_lock/1', u'value': self.locker.uuid } } self._mock_api(200, d) self.locker.is_taken = True > self.assertEquals(self.locker.is_acquired, True) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:73: AttributeError _____________________ TestClientLock.test_is_not_acquired ______________________ self = def test_is_not_acquired(self): """ Test is_acquired failures """ self.locker._sequence = '2' self.locker.is_taken = False > self.assertEquals(self.locker.is_acquired, False) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:81: AttributeError _________________________ TestClientLock.test_lock_key _________________________ self = def test_lock_key(self): """ Test responses from the lock_key property """ with self.assertRaises(ValueError): self.locker.lock_key self.locker._sequence = '5' > self.assertEquals(u'/_locks/test_lock/5',self.locker.lock_key) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:150: AttributeError _______________________ TestClientLock.test_set_sequence _______________________ self = def test_set_sequence(self): self.locker._set_sequence('/_locks/test_lock/10') > self.assertEquals('10', self.locker._sequence) E AttributeError: 'TestClientLock' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_lock.py:154: AttributeError ________________________ TestClientRequest.test_delete _________________________ self = def test_delete(self): """ Can delete a value """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"DELETE",' '"node": {' '"key":"/testkey",' '"prevValue":"test",' '"expiration":"2013-09-14T01:06:35.5242587+02:00",' '"modifiedIndex":189}}') ) result = client.delete('/testkey') > self.assertEquals(etcd.EtcdResult( **{u'action': u'DELETE', u'node': { u'expiration': u'2013-09-14T01:06:35.5242587+02:00', u'modifiedIndex': 189, u'key': u'/testkey', u'prevValue': u'test'} }), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:114: AttributeError __________________________ TestClientRequest.test_get __________________________ self = def test_get(self): """ Can get a value """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"GET",' '"node": {' '"key":"/testkey",' '"value":"test",' '"modifiedIndex":190}}') ) result = client.get('/testkey') > self.assertEquals(etcd.EtcdResult( **{u'action': u'GET', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'value': u'test'} }), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:136: AttributeError __________________________ TestClientRequest.test_in ___________________________ self = def test_in(self): """ Can check if key is in client """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"GET",' '"node": {' '"key":"/testkey",' '"value":"test",' '"modifiedIndex":190}}') ) result = '/testkey' in client > self.assertEquals(True, result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:172: AttributeError ______________________ TestClientRequest.test_index_watch ______________________ self = def test_index_watch(self): """ Can watch values from index """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"SET",' '"node": {' '"key":"/testkey",' '"value":"test",' '"newKey":true,' '"expiration":"2013-09-14T01:35:07.623681365+02:00",' '"ttl":19,' '"modifiedIndex":180}}') ) result = client.watch('/testkey', index=180) > self.assertEquals( etcd.EtcdResult( **{u'action': u'SET', u'node': { u'expiration': u'2013-09-14T01:35:07.623681365+02:00', u'modifiedIndex': 180, u'key': u'/testkey', u'newKey': True, u'ttl': 19, u'value': u'test'} }), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:216: AttributeError ________________________ TestClientRequest.test_not_in _________________________ self = def test_not_in(self): """ Can check if key is not in client """ client = etcd.Client() client.get = mock.Mock(side_effect=etcd.EtcdKeyNotFound()) result = '/testkey' not in client > self.assertEquals(True, result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:157: AttributeError __________________________ TestClientRequest.test_set __________________________ self = def test_set(self): """ Can set a value """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(201, '{"action":"SET",' '"node": {' '"key":"/testkey",' '"value":"test",' '"newKey":true,' '"expiration":"2013-09-14T00:56:59.316195568+02:00",' '"ttl":19,"modifiedIndex":183}}') ) result = client.set('/testkey', 'test', ttl=19) > self.assertEquals( etcd.EtcdResult( **{u'action': u'SET', 'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'newKey': True, u'ttl': 19, u'value': u'test'}}), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:45: AttributeError _____________________ TestClientRequest.test_simple_watch ______________________ self = def test_simple_watch(self): """ Can watch values """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"SET",' '"node": {' '"key":"/testkey",' '"value":"test",' '"newKey":true,' '"expiration":"2013-09-14T01:35:07.623681365+02:00",' '"ttl":19,' '"modifiedIndex":192}}') ) result = client.watch('/testkey') > self.assertEquals( etcd.EtcdResult( **{u'action': u'SET', u'node': { u'expiration': u'2013-09-14T01:35:07.623681365+02:00', u'modifiedIndex': 192, u'key': u'/testkey', u'newKey': True, u'ttl': 19, u'value': u'test'} }), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:189: AttributeError _____________________ TestClientRequest.test_test_and_set ______________________ self = def test_test_and_set(self): """ Can test and set a value """ client = etcd.Client() client.api_execute = mock.Mock( return_value=FakeHTTPResponse(200, '{"action":"SET",' '"node": {' '"key":"/testkey",' '"prevValue":"test",' '"value":"newvalue",' '"expiration":"2013-09-14T02:09:44.24390976+02:00",' '"ttl":49,"modifiedIndex":203}}') ) result = client.test_and_set('/testkey', 'newvalue', 'test', ttl=19) > self.assertEquals( etcd.EtcdResult( **{u'action': u'SET', u'node': { u'expiration': u'2013-09-14T02:09:44.24390976+02:00', u'modifiedIndex': 203, u'key': u'/testkey', u'prevValue': u'test', u'ttl': 49, u'value': u'newvalue'} }), result) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:70: AttributeError _________________ TestClientRequest.test_test_and_test_failure _________________ self = def test_test_and_test_failure(self): """ Exception will be raised if prevValue != value in test_set """ client = etcd.Client() client.api_execute = mock.Mock( side_effect=ValueError( 'The given PrevValue is not equal' ' to the value of the key : TestAndSet: 1!=3')) try: > result = client.test_and_set( '/testkey', 'newvalue', 'test', ttl=19) etcd/tests/unit/test_old_request.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ etcd/client.py:703: in test_and_set return self.write(key, value, prevValue=prev_value, ttl=ttl) etcd/client.py:500: in write response = self.api_execute(path, method, params=params) /usr/lib/python3/dist-packages/mock/mock.py:1178: in __call__ return _mock_self._mock_call(*args, **kwargs) /usr/lib/python3/dist-packages/mock/mock.py:1182: in _mock_call return _mock_self._execute_mock_call(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _mock_self = , args = ('/v2/keys/testkey', 'PUT') kwargs = {'params': {'prevValue': 'test', 'ttl': 19, 'value': 'newvalue'}} self = effect = ValueError('The given PrevValue is not equal to the value of the key : TestAndSet: 1!=3') def _execute_mock_call(_mock_self, *args, **kwargs): self = _mock_self # separate from _increment_mock_call so that awaited functions are # executed separately from their call, also AsyncMock overrides this method effect = self.side_effect if effect is not None: if _is_exception(effect): > raise effect E ValueError: The given PrevValue is not equal to the value of the key : TestAndSet: 1!=3 /usr/lib/python3/dist-packages/mock/mock.py:1239: ValueError During handling of the above exception, another exception occurred: self = def test_test_and_test_failure(self): """ Exception will be raised if prevValue != value in test_set """ client = etcd.Client() client.api_execute = mock.Mock( side_effect=ValueError( 'The given PrevValue is not equal' ' to the value of the key : TestAndSet: 1!=3')) try: result = client.test_and_set( '/testkey', 'newvalue', 'test', ttl=19) except ValueError as e: #from ipdb import set_trace; set_trace() > self.assertEquals( 'The given PrevValue is not equal' ' to the value of the key : TestAndSet: 1!=3', str(e)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:97: AttributeError ______________________ TestClientApiExecutor.test_delete _______________________ self = def test_delete(self): """ http delete request """ client = etcd.Client() response = FakeHTTPResponse(status=200, data='arbitrary json data') client.http.request = mock.Mock(return_value=response) result = client.api_execute('/v1/keys/testkey', client._MDELETE) > self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:278: AttributeError ________________________ TestClientApiExecutor.test_get ________________________ self = def test_get(self): """ http get request """ client = etcd.Client() response = FakeHTTPResponse(status=200, data='arbitrary json data') client.http.request = mock.Mock(return_value=response) result = client.api_execute('/v1/keys/testkey', client._MGET) > self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:270: AttributeError _____________________ TestClientApiExecutor.test_get_error _____________________ self = def test_get_error(self): """ http get error request 101""" client = etcd.Client() response = FakeHTTPResponse(status=400, data='{"message": "message",' ' "cause": "cause",' ' "errorCode": 100}') client.http.request = mock.Mock(return_value=response) try: > client.api_execute('/v2/keys/testkey', client._MGET) etcd/tests/unit/test_old_request.py:289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ etcd/client.py:907: in wrapper return self._handle_server_response(response) etcd/client.py:987: in _handle_server_response etcd.EtcdError.handle(r) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = payload = {'cause': 'cause', 'errorCode': 100, 'message': 'message', 'status': 400} @classmethod def handle(cls, payload): """ Decodes the error and throws the appropriate error message :param payload: The decoded JSON error payload as a dict. """ error_code = payload.get("errorCode") message = payload.get("message") cause = payload.get("cause") msg = '{} : {}'.format(message, cause) status = payload.get("status") # Some general status handling, as # not all endpoints return coherent error messages if status == 404: error_code = 100 elif status == 401: error_code = 110 exc = cls.error_exceptions.get(error_code, EtcdException) if issubclass(exc, EtcdException): > raise exc(msg, payload) E etcd.EtcdKeyNotFound: message : cause etcd/__init__.py:306: EtcdKeyNotFound During handling of the above exception, another exception occurred: self = def test_get_error(self): """ http get error request 101""" client = etcd.Client() response = FakeHTTPResponse(status=400, data='{"message": "message",' ' "cause": "cause",' ' "errorCode": 100}') client.http.request = mock.Mock(return_value=response) try: client.api_execute('/v2/keys/testkey', client._MGET) assert False except etcd.EtcdKeyNotFound as e: > self.assertEquals(str(e), 'message : cause') E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:292: AttributeError ________________________ TestClientApiExecutor.test_put ________________________ self = def test_put(self): """ http put request """ client = etcd.Client() response = FakeHTTPResponse(status=200, data='arbitrary json data') client.http.request_encode_body = mock.Mock(return_value=response) result = client.api_execute('/v2/keys/testkey', client._MPUT) > self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:300: AttributeError ________________ TestClientApiExecutor.test_set_not_file_error _________________ self = def test_set_not_file_error(self): """ http post error request 102 """ client = etcd.Client() response = FakeHTTPResponse( status=400, data='{"message": "message", "cause": "cause", "errorCode": 102}') client.http.request_encode_body = mock.Mock(return_value=response) payload = {'value': 'value', 'prevValue': 'oldValue', 'ttl': '60'} try: > client.api_execute('/v2/keys/testkey', client._MPUT, payload) etcd/tests/unit/test_old_request.py:325: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ etcd/client.py:907: in wrapper return self._handle_server_response(response) etcd/client.py:987: in _handle_server_response etcd.EtcdError.handle(r) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = payload = {'cause': 'cause', 'errorCode': 102, 'message': 'message', 'status': 400} @classmethod def handle(cls, payload): """ Decodes the error and throws the appropriate error message :param payload: The decoded JSON error payload as a dict. """ error_code = payload.get("errorCode") message = payload.get("message") cause = payload.get("cause") msg = '{} : {}'.format(message, cause) status = payload.get("status") # Some general status handling, as # not all endpoints return coherent error messages if status == 404: error_code = 100 elif status == 401: error_code = 110 exc = cls.error_exceptions.get(error_code, EtcdException) if issubclass(exc, EtcdException): > raise exc(msg, payload) E etcd.EtcdNotFile: message : cause etcd/__init__.py:306: EtcdNotFile During handling of the above exception, another exception occurred: self = def test_set_not_file_error(self): """ http post error request 102 """ client = etcd.Client() response = FakeHTTPResponse( status=400, data='{"message": "message", "cause": "cause", "errorCode": 102}') client.http.request_encode_body = mock.Mock(return_value=response) payload = {'value': 'value', 'prevValue': 'oldValue', 'ttl': '60'} try: client.api_execute('/v2/keys/testkey', client._MPUT, payload) self.fail() except etcd.EtcdNotFile as e: > self.assertEquals('message : cause', str(e)) E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:328: AttributeError ________________ TestClientApiExecutor.test_test_and_set_error _________________ self = def test_test_and_set_error(self): """ http post error request 101 """ client = etcd.Client() response = FakeHTTPResponse( status=400, data='{"message": "message", "cause": "cause", "errorCode": 101}') client.http.request_encode_body = mock.Mock(return_value=response) payload = {'value': 'value', 'prevValue': 'oldValue', 'ttl': '60'} try: > client.api_execute('/v2/keys/testkey', client._MPUT, payload) etcd/tests/unit/test_old_request.py:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ etcd/client.py:907: in wrapper return self._handle_server_response(response) etcd/client.py:987: in _handle_server_response etcd.EtcdError.handle(r) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = payload = {'cause': 'cause', 'errorCode': 101, 'message': 'message', 'status': 400} @classmethod def handle(cls, payload): """ Decodes the error and throws the appropriate error message :param payload: The decoded JSON error payload as a dict. """ error_code = payload.get("errorCode") message = payload.get("message") cause = payload.get("cause") msg = '{} : {}'.format(message, cause) status = payload.get("status") # Some general status handling, as # not all endpoints return coherent error messages if status == 404: error_code = 100 elif status == 401: error_code = 110 exc = cls.error_exceptions.get(error_code, EtcdException) if issubclass(exc, EtcdException): > raise exc(msg, payload) E etcd.EtcdCompareFailed: message : cause etcd/__init__.py:306: EtcdCompareFailed During handling of the above exception, another exception occurred: self = def test_test_and_set_error(self): """ http post error request 101 """ client = etcd.Client() response = FakeHTTPResponse( status=400, data='{"message": "message", "cause": "cause", "errorCode": 101}') client.http.request_encode_body = mock.Mock(return_value=response) payload = {'value': 'value', 'prevValue': 'oldValue', 'ttl': '60'} try: client.api_execute('/v2/keys/testkey', client._MPUT, payload) self.fail() except ValueError as e: > self.assertEquals('message : cause', str(e)) E AttributeError: 'TestClientApiExecutor' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_old_request.py:314: AttributeError _________________ TestClientApiInternals.test_write_no_params __________________ self = def test_write_no_params(self): """ Calling `write` without a value argument will omit the `value` from the API call params """ d = { u'action': u'set', u'node': { u'createdIndex': 17, u'dir': True, u'key': u'/newdir', u'modifiedIndex': 17 } } self._mock_api(200, d) self.client.write('/newdir', None, dir=True) > self.assertEquals(self.client.api_execute.call_args, (('/v2/keys/newdir', 'PUT'), dict(params={'dir': 'true'}))) E AttributeError: 'TestClientApiInternals' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:71: AttributeError _________________ TestClientApiInterface.test_compare_and_swap _________________ self = def test_compare_and_swap(self): """ Can set compare-and-swap a value """ d = {u'action': u'compareAndSwap', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200, d) res = self.client.write('/testkey', 'test', prevValue='test_old') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:256: AttributeError ______________________ TestClientApiInterface.test_delete ______________________ self = def test_delete(self): """ Can delete a value """ d = { u'action': u'delete', u'node': { u'key': u'/testkey', "modifiedIndex": 3, "createdIndex": 2 } } self._mock_api(200, d) res = self.client.delete('/testKey') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:301: AttributeError _____________________ TestClientApiInterface.test_get_dir ______________________ self = def test_get_dir(self): """Can get values in dirs""" d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'dir': True, u'nodes': [ { u'key': u'/testDir/testKey', u'modifiedIndex': 150, u'value': 'test' }, { u'key': u'/testDir/testKey2', u'modifiedIndex': 190, u'value': 'test2' } ] } } self._mock_api(200, d) res = self.client.read('/testDir', recursive=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:361: AttributeError ______________________ TestClientApiInterface.test_leader ______________________ self = mocker = @mock.patch('etcd.Client.members', new_callable=mock.PropertyMock) def test_leader(self, mocker): """ Can request the leader """ members = {"ce2a822cea30bfca": {"id": "ce2a822cea30bfca", "name": "default"}} mocker.return_value = members self._mock_api(200, {"leaderInfo":{"leader": "ce2a822cea30bfca", "followers": {}}}) > self.assertEquals(self.client.leader, members["ce2a822cea30bfca"]) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:166: AttributeError ___________________ TestClientApiInterface.test_leader_stats ___________________ self = def test_leader_stats(self): """ Request for leader stats """ data = {"leader": "924e2e83e93f2560", "followers": {}} self._mock_api(200,data) > self.assertEquals(self.client.leader_stats['leader'], "924e2e83e93f2560") E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:157: AttributeError _____________________ TestClientApiInterface.test_machines _____________________ self = mocker = @mock.patch('urllib3.request.RequestMethods.request') def test_machines(self, mocker): """ Can request machines """ data = ['http://127.0.0.1:4001', 'http://127.0.0.1:4002', 'http://127.0.0.1:4003'] d = ','.join(data) mocker.return_value = self._prepare_response(200, d) > self.assertEquals(data, self.client.machines) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:89: AttributeError _____________________ TestClientApiInterface.test_members ______________________ self = def test_members(self): """ Can request machines """ data = { "members": [ { "id": "ce2a822cea30bfca", "name": "default", "peerURLs": ["http://localhost:2380", "http://localhost:7001"], "clientURLs": ["http://127.0.0.1:4001"] } ] } self._mock_api(200, data) > self.assertEquals(self.client.members["ce2a822cea30bfca"]["id"], "ce2a822cea30bfca") E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:131: AttributeError ______________________ TestClientApiInterface.test_newkey ______________________ self = def test_newkey(self): """ Can set a new value """ d = { u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(201, d) res = self.client.write('/testkey', 'test') d['node']['newKey'] = True > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:218: AttributeError _______________________ TestClientApiInterface.test_pop ________________________ self = def test_pop(self): """ Can pop a value """ d = { u'action': u'delete', u'node': { u'key': u'/testkey', u'modifiedIndex': 3, u'createdIndex': 2 }, u'prevNode': {u'newKey': False, u'createdIndex': None, u'modifiedIndex': 190, u'value': u'test', u'expiration': None, u'key': u'/testkey', u'ttl': None, u'dir': False} } self._mock_api(200, d) res = self.client.pop(d['node']['key']) > self.assertEquals({attr: getattr(res, attr) for attr in dir(res) if attr in etcd.EtcdResult._node_props}, d['prevNode']) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:319: AttributeError _______________________ TestClientApiInterface.test_read _______________________ self = def test_read(self): """ Can get a value """ d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'value': u'test' } } self._mock_api(200, d) res = self.client.read('/testKey') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:335: AttributeError _____________________ TestClientApiInterface.test_refresh ______________________ self = def test_refresh(self): """ Can refresh a new value """ d = { u'action': u'update', u'node': { u'expiration': u'2016-05-31T08:27:54.660337Z', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 600, u'value': u'test' } } self._mock_api(200, d) res = self.client.refresh('/testkey', ttl=600) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:235: AttributeError ____________________ TestClientApiInterface.test_self_stats ____________________ self = def test_self_stats(self): """ Request for stats """ data = { "id": "eca0338f4ea31566", "leaderInfo": { "leader": "8a69d5f6b7814500", "startTime": "2014-10-24T13:15:51.186620747-07:00", "uptime": "10m59.322358947s" }, "name": "node3", "recvAppendRequestCnt": 5944, "recvBandwidthRate": 570.6254930219969, "recvPkgRate": 9.00892789741075, "sendAppendRequestCnt": 0, "startTime": "2014-10-24T13:15:50.072007085-07:00", "state": "StateFollower" } self._mock_api(200,data) > self.assertEquals(self.client.stats['name'], "node3") E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:151: AttributeError ____________________ TestClientApiInterface.test_set_append ____________________ self = def test_set_append(self): """ Can append a new key """ d = { u'action': u'create', u'node': { u'createdIndex': 190, u'modifiedIndex': 190, u'key': u'/testdir/190', u'value': u'test' } } self._mock_api(201, d) res = self.client.write('/testdir', 'test') > self.assertEquals(res.createdIndex, 190) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:282: AttributeError ____________________ TestClientApiInterface.test_set_plain _____________________ self = def test_set_plain(self): """ Can set a value """ d = {u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200, d) res = self.client.write('/testkey', 'test') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:182: AttributeError ______________________ TestClientApiInterface.test_update ______________________ self = def test_update(self): """Can update a result.""" d = {u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 6, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200,d) res = self.client.get('/testkey') res.value = 'ciao' d['node']['value'] = 'ciao' self._mock_api(200,d) newres = self.client.update(res) > self.assertEquals(newres.value, 'ciao') E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:201: AttributeError ___________________ TestClientApiInterface.test_use_proxies ____________________ self = mocker = @mock.patch('etcd.Client.machines', new_callable=mock.PropertyMock) def test_use_proxies(self, mocker): """Do not overwrite the machines cache when using proxies""" mocker.return_value = ['https://10.0.0.2:4001', 'https://10.0.0.3:4001', 'https://10.0.0.4:4001'] c = etcd.Client( host=(('localhost', 4001), ('localproxy', 4001)), protocol='https', allow_reconnect=True, use_proxies=True ) > self.assertEquals(c._machines_cache, ['https://localproxy:4001']) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:104: AttributeError ______________________ TestClientApiInterface.test_watch _______________________ self = def test_watch(self): """ Can watch a key """ d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'value': u'test' } } self._mock_api(200, d) res = self.client.read('/testkey', wait=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:393: AttributeError ___________________ TestClientApiInterface.test_watch_index ____________________ self = def test_watch_index(self): """ Can watch a key starting from the given Index """ d = { u'action': u'get', u'node': { u'modifiedIndex': 170, u'key': u'/testkey', u'value': u'testold' } } self._mock_api(200, d) res = self.client.read('/testkey', wait=True, waitIndex=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientApiInterface' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:407: AttributeError ___________________ TestClientRequest.test_compare_and_swap ____________________ self = def test_compare_and_swap(self): """ Can set compare-and-swap a value """ d = {u'action': u'compareAndSwap', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200, d) res = self.client.write('/testkey', 'test', prevValue='test_old') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:256: AttributeError ________________________ TestClientRequest.test_delete _________________________ self = def test_delete(self): """ Can delete a value """ d = { u'action': u'delete', u'node': { u'key': u'/testkey', "modifiedIndex": 3, "createdIndex": 2 } } self._mock_api(200, d) res = self.client.delete('/testKey') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:301: AttributeError ________________________ TestClientRequest.test_get_dir ________________________ self = def test_get_dir(self): """Can get values in dirs""" d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'dir': True, u'nodes': [ { u'key': u'/testDir/testKey', u'modifiedIndex': 150, u'value': 'test' }, { u'key': u'/testDir/testKey2', u'modifiedIndex': 190, u'value': 'test2' } ] } } self._mock_api(200, d) res = self.client.read('/testDir', recursive=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:361: AttributeError ________________________ TestClientRequest.test_leader _________________________ self = mocker = @mock.patch('etcd.Client.members', new_callable=mock.PropertyMock) def test_leader(self, mocker): """ Can request the leader """ members = {"ce2a822cea30bfca": {"id": "ce2a822cea30bfca", "name": "default"}} mocker.return_value = members self._mock_api(200, {"leaderInfo":{"leader": "ce2a822cea30bfca", "followers": {}}}) > self.assertEquals(self.client.leader, members["ce2a822cea30bfca"]) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:166: AttributeError _____________________ TestClientRequest.test_leader_stats ______________________ self = def test_leader_stats(self): """ Request for leader stats """ data = {"leader": "924e2e83e93f2560", "followers": {}} self._mock_api(200,data) > self.assertEquals(self.client.leader_stats['leader'], "924e2e83e93f2560") E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:157: AttributeError _______________________ TestClientRequest.test_machines ________________________ self = mocker = @mock.patch('urllib3.request.RequestMethods.request') def test_machines(self, mocker): """ Can request machines """ data = ['http://127.0.0.1:4001', 'http://127.0.0.1:4002', 'http://127.0.0.1:4003'] d = ','.join(data) mocker.return_value = self._prepare_response(200, d) > self.assertEquals(data, self.client.machines) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:89: AttributeError ________________________ TestClientRequest.test_members ________________________ self = def test_members(self): """ Can request machines """ data = { "members": [ { "id": "ce2a822cea30bfca", "name": "default", "peerURLs": ["http://localhost:2380", "http://localhost:7001"], "clientURLs": ["http://127.0.0.1:4001"] } ] } self._mock_api(200, data) > self.assertEquals(self.client.members["ce2a822cea30bfca"]["id"], "ce2a822cea30bfca") E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:131: AttributeError ________________________ TestClientRequest.test_newkey _________________________ self = def test_newkey(self): """ Can set a new value """ d = { u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(201, d) res = self.client.write('/testkey', 'test') d['node']['newKey'] = True > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:218: AttributeError __________________________ TestClientRequest.test_pop __________________________ self = def test_pop(self): """ Can pop a value """ d = { u'action': u'delete', u'node': { u'key': u'/testkey', u'modifiedIndex': 3, u'createdIndex': 2 }, u'prevNode': {u'newKey': False, u'createdIndex': None, u'modifiedIndex': 190, u'value': u'test', u'expiration': None, u'key': u'/testkey', u'ttl': None, u'dir': False} } self._mock_api(200, d) res = self.client.pop(d['node']['key']) > self.assertEquals({attr: getattr(res, attr) for attr in dir(res) if attr in etcd.EtcdResult._node_props}, d['prevNode']) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:319: AttributeError _________________________ TestClientRequest.test_read __________________________ self = def test_read(self): """ Can get a value """ d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'value': u'test' } } self._mock_api(200, d) res = self.client.read('/testKey') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:335: AttributeError ________________________ TestClientRequest.test_refresh ________________________ self = def test_refresh(self): """ Can refresh a new value """ d = { u'action': u'update', u'node': { u'expiration': u'2016-05-31T08:27:54.660337Z', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 600, u'value': u'test' } } self._mock_api(200, d) res = self.client.refresh('/testkey', ttl=600) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:235: AttributeError ______________________ TestClientRequest.test_self_stats _______________________ self = def test_self_stats(self): """ Request for stats """ data = { "id": "eca0338f4ea31566", "leaderInfo": { "leader": "8a69d5f6b7814500", "startTime": "2014-10-24T13:15:51.186620747-07:00", "uptime": "10m59.322358947s" }, "name": "node3", "recvAppendRequestCnt": 5944, "recvBandwidthRate": 570.6254930219969, "recvPkgRate": 9.00892789741075, "sendAppendRequestCnt": 0, "startTime": "2014-10-24T13:15:50.072007085-07:00", "state": "StateFollower" } self._mock_api(200,data) > self.assertEquals(self.client.stats['name'], "node3") E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:151: AttributeError ______________________ TestClientRequest.test_set_append _______________________ self = def test_set_append(self): """ Can append a new key """ d = { u'action': u'create', u'node': { u'createdIndex': 190, u'modifiedIndex': 190, u'key': u'/testdir/190', u'value': u'test' } } self._mock_api(201, d) res = self.client.write('/testdir', 'test') > self.assertEquals(res.createdIndex, 190) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:282: AttributeError _______________________ TestClientRequest.test_set_plain _______________________ self = def test_set_plain(self): """ Can set a value """ d = {u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 183, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200, d) res = self.client.write('/testkey', 'test') > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:182: AttributeError ________________________ TestClientRequest.test_update _________________________ self = def test_update(self): """Can update a result.""" d = {u'action': u'set', u'node': { u'expiration': u'2013-09-14T00:56:59.316195568+02:00', u'modifiedIndex': 6, u'key': u'/testkey', u'ttl': 19, u'value': u'test' } } self._mock_api(200,d) res = self.client.get('/testkey') res.value = 'ciao' d['node']['value'] = 'ciao' self._mock_api(200,d) newres = self.client.update(res) > self.assertEquals(newres.value, 'ciao') E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:201: AttributeError ______________________ TestClientRequest.test_use_proxies ______________________ self = mocker = @mock.patch('etcd.Client.machines', new_callable=mock.PropertyMock) def test_use_proxies(self, mocker): """Do not overwrite the machines cache when using proxies""" mocker.return_value = ['https://10.0.0.2:4001', 'https://10.0.0.3:4001', 'https://10.0.0.4:4001'] c = etcd.Client( host=(('localhost', 4001), ('localproxy', 4001)), protocol='https', allow_reconnect=True, use_proxies=True ) > self.assertEquals(c._machines_cache, ['https://localproxy:4001']) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:104: AttributeError _________________________ TestClientRequest.test_watch _________________________ self = def test_watch(self): """ Can watch a key """ d = { u'action': u'get', u'node': { u'modifiedIndex': 190, u'key': u'/testkey', u'value': u'test' } } self._mock_api(200, d) res = self.client.read('/testkey', wait=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:393: AttributeError ______________________ TestClientRequest.test_watch_index ______________________ self = def test_watch_index(self): """ Can watch a key starting from the given Index """ d = { u'action': u'get', u'node': { u'modifiedIndex': 170, u'key': u'/testkey', u'value': u'testold' } } self._mock_api(200, d) res = self.client.read('/testkey', wait=True, waitIndex=True) > self.assertEquals(res, etcd.EtcdResult(**d)) E AttributeError: 'TestClientRequest' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? etcd/tests/unit/test_request.py:407: AttributeError =============================== warnings summary =============================== etcd/__init__.py:314 /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build/etcd/__init__.py:314: DeprecationWarning: 'urllib3.contrib.pyopenssl' module is deprecated and will be removed in a future release of urllib3 2.x. Read more in this issue: https://github.com/urllib3/urllib3/issues/2680 from urllib3.contrib import pyopenssl .pybuild/cpython3_3.12_etcd/build/etcd/tests/unit/test_old_request.py:243 .pybuild/cpython3_3.12_etcd/build/etcd/tests/unit/test_old_request.py:243: PytestCollectionWarning: yield tests were removed in pytest 4.0 - test_eternal_watch will be ignored -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED etcd/tests/unit/test_client.py::TestClient::test__set_version_info - A... FAILED etcd/tests/unit/test_client.py::TestClient::test_cluster_version_property FAILED etcd/tests/unit/test_client.py::TestClient::test_discover - AttributeE... FAILED etcd/tests/unit/test_client.py::TestClient::test_version_property - At... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_acquire - Attribute... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_acquired - mock.moc... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_find_lock - Attribu... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_get_locker - Attrib... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_initialization - At... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_is_acquired - Attri... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired - A... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_lock_key - Attribut... FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_set_sequence - Attr... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_delete - ... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_get - Att... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_in - Attr... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_index_watch FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_not_in - ... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_set - Att... FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_simple_watch FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_set FAILED etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_test_failure FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_delete FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_put FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_set_not_file_error FAILED etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_test_and_set_error FAILED etcd/tests/unit/test_request.py::TestClientApiInternals::test_write_no_params FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_compare_and_swap FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_delete FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_get_dir FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader_stats FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_machines FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_members FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_newkey FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_pop - At... FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_read - A... FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_refresh FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_self_stats FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_append FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_plain FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_update FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_use_proxies FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch - ... FAILED etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch_index FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_compare_and_swap FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_delete - Attr... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_get_dir - Att... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_leader - Attr... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_leader_stats FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_machines - At... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_members - Att... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_newkey - Attr... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_pop - Attribu... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_read - Attrib... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_refresh - Att... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_self_stats - ... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_set_append - ... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_set_plain - A... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_update - Attr... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_use_proxies FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_watch - Attri... FAILED etcd/tests/unit/test_request.py::TestClientRequest::test_watch_index ============ 65 failed, 53 passed, 1 xfailed, 2 warnings in 13.75s ============= E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.12_etcd/build; python3.12 -m pytest etcd/tests/unit/ I: pybuild base:311: cd /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build; python3.11 -m pytest etcd/tests/unit/ ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-7.4.4, pluggy-1.5.0 rootdir: /build/reproducible-path/python-etcd-0.4.5 collected 119 items etcd/tests/unit/test_client.py ............................ [ 23%] etcd/tests/unit/test_lock.py .F......... [ 32%] etcd/tests/unit/test_old_request.py ...........x......... [ 50%] etcd/tests/unit/test_request.py ........................................ [ 84%] ................ [ 97%] etcd/tests/unit/test_result.py ... [100%] =================================== FAILURES =================================== _________________________ TestClientLock.test_acquired _________________________ self = def test_acquired(self): """ Test the acquiring primitives """ self.locker._sequence = '4' retval = ('/_locks/test_lock/4', None) self.locker._get_locker = mock.MagicMock( spec=self.locker._get_locker, return_value=retval) self.assertTrue(self.locker._acquired()) self.assertTrue(self.locker.is_taken) retval = ('/_locks/test_lock/1', '/_locks/test_lock/4') self.locker._get_locker = mock.MagicMock(return_value=retval) self.assertFalse(self.locker._acquired(blocking=False)) self.assertFalse(self.locker.is_taken) d = { u'action': u'delete', u'node': { u'modifiedIndex': 190, u'key': u'/_locks/test_lock/1', u'value': self.locker.uuid } } self._mock_api(200, d) returns = [('/_locks/test_lock/1', '/_locks/test_lock/4'), ('/_locks/test_lock/4', None)] def side_effect(): return returns.pop() > self.locker._get_locker = mock.MagicMock( spec=self.locker._get_locker, side_effect=side_effect) etcd/tests/unit/test_lock.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/mock/mock.py:2188: in __init__ _safe_super(MagicMixin, self).__init__(*args, **kw) /usr/lib/python3/dist-packages/mock/mock.py:1160: in __init__ _safe_super(CallableMixin, self).__init__( /usr/lib/python3/dist-packages/mock/mock.py:486: in __init__ self._mock_add_spec(spec, spec_set, _spec_as_instance, _eat_self) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError('_mock_methods') raised in repr()] MagicMock object at 0xb569fcb0> spec = , spec_set = None, _spec_as_instance = False _eat_self = False def _mock_add_spec(self, spec, spec_set, _spec_as_instance=False, _eat_self=False): if _is_instance_mock(spec): > raise InvalidSpecError(f'Cannot spec a Mock object. [object={spec!r}]') E mock.mock.InvalidSpecError: Cannot spec a Mock object. [object=] /usr/lib/python3/dist-packages/mock/mock.py:537: InvalidSpecError =============================== warnings summary =============================== etcd/__init__.py:314 /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/__init__.py:314: DeprecationWarning: 'urllib3.contrib.pyopenssl' module is deprecated and will be removed in a future release of urllib3 2.x. Read more in this issue: https://github.com/urllib3/urllib3/issues/2680 from urllib3.contrib import pyopenssl .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:243 .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:243: PytestCollectionWarning: yield tests were removed in pytest 4.0 - test_eternal_watch will be ignored .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test__set_version_info /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:145: DeprecationWarning: Please use assertEqual instead. self.assertEquals('2.2.3', client.version) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test__set_version_info /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:146: DeprecationWarning: Please use assertEqual instead. self.assertEquals('2.3.0', client.cluster_version) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test_cluster_version_property /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:174: DeprecationWarning: Please use assertEqual instead. self.assertEquals('2.3.0', client.cluster_version) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test_discover /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:210: DeprecationWarning: Please use assertEqual instead. self.assertEquals(c.host, u'etcd1.example.com') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test_discover /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:211: DeprecationWarning: Please use assertEqual instead. self.assertEquals(c.port, 2379) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test_discover /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:212: DeprecationWarning: Please use assertEqual instead. self.assertEquals(c._machines_cache, .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py::TestClient::test_version_property /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_client.py:160: DeprecationWarning: Please use assertEqual instead. self.assertEquals('2.2.3', client.version) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_acquire /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:55: DeprecationWarning: Please use assertEqual instead. self.assertEquals(l.acquire(), True) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_acquire /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:56: DeprecationWarning: Please use assertEqual instead. self.assertEquals(l._sequence, '1') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_find_lock /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:174: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker._sequence, '34') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_get_locker /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:178: DeprecationWarning: Please use assertEqual instead. self.assertEquals((u'/_locks/test_lock/1', etcd.EtcdResult(node={'newKey': False, '_children': [], 'createdIndex': 33, 'modifiedIndex': 33, 'value': u'2qwwwq', 'expiration': None, 'key': u'/_locks/test_lock/1', 'ttl': None, 'action': None, 'dir': False})), .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_initialization /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:34: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.name, u'test_lock') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_initialization /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:35: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.path, u'/_locks/test_lock') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_initialization /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:36: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.is_taken, False) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_is_acquired /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:73: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.is_acquired, True) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:81: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.is_acquired, False) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/lock.py:53: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead _log.warn("Lock was supposedly taken, but we cannot find it") .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:84: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.is_acquired, False) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:85: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.locker.is_taken, False) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_lock_key /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:150: DeprecationWarning: Please use assertEqual instead. self.assertEquals(u'/_locks/test_lock/5',self.locker.lock_key) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py::TestClientLock::test_set_sequence /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_lock.py:154: DeprecationWarning: Please use assertEqual instead. self.assertEquals('10', self.locker._sequence) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_delete /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:114: DeprecationWarning: Please use assertEqual instead. self.assertEquals(etcd.EtcdResult( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_get /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:136: DeprecationWarning: Please use assertEqual instead. self.assertEquals(etcd.EtcdResult( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_in /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:172: DeprecationWarning: Please use assertEqual instead. self.assertEquals(True, result) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_index_watch /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:216: DeprecationWarning: Please use assertEqual instead. self.assertEquals( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_not_in /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:157: DeprecationWarning: Please use assertEqual instead. self.assertEquals(True, result) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_set /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:45: DeprecationWarning: Please use assertEqual instead. self.assertEquals( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_simple_watch /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:189: DeprecationWarning: Please use assertEqual instead. self.assertEquals( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_set /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:70: DeprecationWarning: Please use assertEqual instead. self.assertEquals( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_test_failure /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:97: DeprecationWarning: Please use assertEqual instead. self.assertEquals( .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_delete /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:278: DeprecationWarning: Please use assertEqual instead. self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:270: DeprecationWarning: Please use assertEqual instead. self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:292: DeprecationWarning: Please use assertEqual instead. self.assertEquals(str(e), 'message : cause') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_put /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:300: DeprecationWarning: Please use assertEqual instead. self.assertEquals('arbitrary json data'.encode('utf-8'), result.data) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_set_not_file_error /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:328: DeprecationWarning: Please use assertEqual instead. self.assertEquals('message : cause', str(e)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_test_and_set_error /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_old_request.py:314: DeprecationWarning: Please use assertEqual instead. self.assertEquals('message : cause', str(e)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInternals::test_write_no_params /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:71: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.client.api_execute.call_args, .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_compare_and_swap .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_compare_and_swap /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:256: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_delete .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_delete /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:301: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_get_dir .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_get_dir /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:361: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_leader /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:166: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.client.leader, members["ce2a822cea30bfca"]) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader_stats .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_leader_stats /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:157: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.client.leader_stats['leader'], "924e2e83e93f2560") .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_machines .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_machines /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:89: DeprecationWarning: Please use assertEqual instead. self.assertEquals(data, self.client.machines) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_members .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_members /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:131: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.client.members["ce2a822cea30bfca"]["id"], "ce2a822cea30bfca") .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_newkey .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_newkey /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:218: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_pop .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_pop /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:319: DeprecationWarning: Please use assertEqual instead. self.assertEquals({attr: getattr(res, attr) for attr in dir(res) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_read .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_read /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:335: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_refresh .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_refresh /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:235: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_self_stats .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_self_stats /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:151: DeprecationWarning: Please use assertEqual instead. self.assertEquals(self.client.stats['name'], "node3") .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_append .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_set_append /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:282: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res.createdIndex, 190) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_plain .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_set_plain /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:182: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_update .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_update /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:201: DeprecationWarning: Please use assertEqual instead. self.assertEquals(newres.value, 'ciao') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_use_proxies .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_use_proxies /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:104: DeprecationWarning: Please use assertEqual instead. self.assertEquals(c._machines_cache, ['https://localproxy:4001']) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_use_proxies .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_use_proxies /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:105: DeprecationWarning: Please use assertEqual instead. self.assertEquals(c._base_uri, 'https://localhost:4001') .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_watch /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:393: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch_index .pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py::TestClientRequest::test_watch_index /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build/etcd/tests/unit/test_request.py:407: DeprecationWarning: Please use assertEqual instead. self.assertEquals(res, etcd.EtcdResult(**d)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED etcd/tests/unit/test_lock.py::TestClientLock::test_acquired - mock.moc... ============ 1 failed, 117 passed, 1 xfailed, 77 warnings in 12.89s ============ E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-etcd-0.4.5/.pybuild/cpython3_3.11_etcd/build; python3.11 -m pytest etcd/tests/unit/ dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" 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/12851 and its subdirectories Tue May 7 02:45:55 UTC 2024 W: No second build log, what happened?