I: pbuilder: network access will be disabled during build I: Current time: Thu Jan 22 13:44:16 +14 2026 I: pbuilder-time-stamp: 1769039056 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-gabbi_3.0.0-3.dsc] I: copying [./python-gabbi_3.0.0.orig.tar.xz] I: copying [./python-gabbi_3.0.0-3.debian.tar.xz] I: Extracting source gpgv: Signature made Thu Dec 19 09:47:58 2024 gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-gabbi_3.0.0-3.dsc: no acceptable signature found dpkg-source: info: extracting python-gabbi in python-gabbi-3.0.0 dpkg-source: info: unpacking python-gabbi_3.0.0.orig.tar.xz dpkg-source: info: unpacking python-gabbi_3.0.0-3.debian.tar.xz I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/83677/tmp/hooks/D01_modify_environment starting debug: Running on codethink01-arm64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Jan 21 23:44 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/83677/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/83677/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") BASH_VERSION='5.2.37(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=arm64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' DIRSTACK=() DISTRIBUTION=unstable EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=aarch64 HOST_ARCH=arm64 IFS=' ' INVOCATION_ID=56c2f0afe0bc4f8780af1a4beb2b12d2 LANG=C LANGUAGE=nl_BE:nl LC_ALL=C MACHTYPE=aarch64-unknown-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=83677 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.ldTLkXjv/pbuilderrc_Omsf --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.ldTLkXjv/b2 --logfile b2/build.log python-gabbi_3.0.0-3.dsc' SUDO_GID=109 SUDO_UID=104 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://192.168.101.4:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-28-cloud-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/83677/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: arm64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, openstack-pkg-tools, python3-all, python3-pbr, python3-setuptools, python3-sphinx, python3-colorama, python3-coverage, python3-hacking, python3-httplib2, python3-jsonpath-rw, python3-jsonpath-rw-ext, python3-pytest, python3-pytest-cov, python3-stestr, python3-testtools, python3-wsgi-intercept (>= 1.13.0), python3-yaml, subunit dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 20084 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-pbr; however: Package python3-pbr is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-sphinx; however: Package python3-sphinx is not installed. pbuilder-satisfydepends-dummy depends on python3-colorama; however: Package python3-colorama is not installed. pbuilder-satisfydepends-dummy depends on python3-coverage; however: Package python3-coverage is not installed. pbuilder-satisfydepends-dummy depends on python3-hacking; however: Package python3-hacking is not installed. pbuilder-satisfydepends-dummy depends on python3-httplib2; however: Package python3-httplib2 is not installed. pbuilder-satisfydepends-dummy depends on python3-jsonpath-rw; however: Package python3-jsonpath-rw is not installed. pbuilder-satisfydepends-dummy depends on python3-jsonpath-rw-ext; however: Package python3-jsonpath-rw-ext is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest-cov; however: Package python3-pytest-cov is not installed. pbuilder-satisfydepends-dummy depends on python3-stestr; however: Package python3-stestr is not installed. pbuilder-satisfydepends-dummy depends on python3-testtools; however: Package python3-testtools is not installed. pbuilder-satisfydepends-dummy depends on python3-wsgi-intercept (>= 1.13.0); however: Package python3-wsgi-intercept is not installed. pbuilder-satisfydepends-dummy depends on python3-yaml; however: Package python3-yaml is not installed. pbuilder-satisfydepends-dummy depends on subunit; however: Package subunit is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} docutils-common{a} dwz{a} file{a} flake8{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} jq{a} libarchive-zip-perl{a} libcom-err2{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libgssapi-krb5-2{a} libice6{a} libicu72{a} libjq1{a} libjs-jquery{a} libjs-jquery-hotkeys{a} libjs-jquery-isonscreen{a} libjs-jquery-metadata{a} libjs-jquery-tablesorter{a} libjs-jquery-throttle-debounce{a} libjs-sphinxdoc{a} libjs-underscore{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libnsl2{a} libonig5{a} libpipeline1{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libpython3.13-minimal{a} libpython3.13-stdlib{a} libreadline8t64{a} libsm6{a} libsubunit-perl{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libx11-6{a} libx11-data{a} libxau6{a} libxcb1{a} libxdmcp6{a} libxext6{a} libxml2{a} libxmu6{a} libxt6t64{a} libyaml-0-2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} po-debconf{a} pyflakes3{a} python-babel-localedata{a} python3{a} python3-alabaster{a} python3-all{a} python3-autocommand{a} python3-autopage{a} python3-babel{a} python3-certifi{a} python3-chardet{a} python3-charset-normalizer{a} python3-cliff{a} python3-cmd2{a} python3-colorama{a} python3-coverage{a} python3-decorator{a} python3-defusedxml{a} python3-docutils{a} python3-extras{a} python3-fixtures{a} python3-flake8{a} python3-hacking{a} python3-httplib2{a} python3-idna{a} python3-imagesize{a} python3-inflect{a} python3-iniconfig{a} python3-jaraco.context{a} python3-jaraco.functools{a} python3-jaraco.text{a} python3-jinja2{a} python3-jsonpath-rw{a} python3-jsonpath-rw-ext{a} python3-markupsafe{a} python3-mccabe{a} python3-minimal{a} python3-more-itertools{a} python3-packaging{a} python3-pbr{a} python3-pip{a} python3-pkg-resources{a} python3-pluggy{a} python3-ply{a} python3-prettytable{a} python3-pycodestyle{a} python3-pyflakes{a} python3-pygments{a} python3-pyparsing{a} python3-pyperclip{a} python3-pytest{a} python3-pytest-cov{a} python3-requests{a} python3-roman{a} python3-setuptools{a} python3-six{a} python3-snowballstemmer{a} python3-sphinx{a} python3-stestr{a} python3-stevedore{a} python3-subunit{a} python3-testtools{a} python3-tomlkit{a} python3-typeguard{a} python3-typing-extensions{a} python3-urllib3{a} python3-voluptuous{a} python3-wcwidth{a} python3-wheel{a} python3-wsgi-intercept{a} python3-yaml{a} python3-zipp{a} python3.12{a} python3.12-minimal{a} python3.13{a} python3.13-minimal{a} readline-common{a} sensible-utils{a} sgml-base{a} sphinx-common{a} subunit{a} tzdata{a} x11-common{a} xclip{a} xml-core{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest curl javascript-common krb5-locales libarchive-cpio-perl libjson-xs-perl libltdl-dev libmail-sendmail-perl libpaper-utils lynx madison-lite pristine-tar python3-dev python3-pil wget xauth 0 packages upgraded, 160 newly installed, 0 to remove and 0 not upgraded. Need to get 50.3 MB of archives. After unpacking 221 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian unstable/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 2 http://deb.debian.org/debian unstable/main arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2.1 [11.5 kB] Get: 3 http://deb.debian.org/debian unstable/main arm64 libpython3.12-minimal arm64 3.12.8-3 [810 kB] Get: 4 http://deb.debian.org/debian unstable/main arm64 libexpat1 arm64 2.6.4-1 [90.7 kB] Get: 5 http://deb.debian.org/debian unstable/main arm64 python3.12-minimal arm64 3.12.8-3 [1941 kB] Get: 6 http://deb.debian.org/debian unstable/main arm64 python3-minimal arm64 3.12.7-1 [26.8 kB] Get: 7 http://deb.debian.org/debian unstable/main arm64 media-types all 10.1.0 [26.9 kB] Get: 8 http://deb.debian.org/debian unstable/main arm64 netbase all 6.4 [12.8 kB] Get: 9 http://deb.debian.org/debian unstable/main arm64 tzdata all 2024b-4 [256 kB] Get: 10 http://deb.debian.org/debian unstable/main arm64 libkrb5support0 arm64 1.21.3-3 [32.1 kB] Get: 11 http://deb.debian.org/debian unstable/main arm64 libcom-err2 arm64 1.47.2~rc1-2 [23.7 kB] Get: 12 http://deb.debian.org/debian unstable/main arm64 libk5crypto3 arm64 1.21.3-3 [80.8 kB] Get: 13 http://deb.debian.org/debian unstable/main arm64 libkeyutils1 arm64 1.6.3-4 [9352 B] Get: 14 http://deb.debian.org/debian unstable/main arm64 libkrb5-3 arm64 1.21.3-3 [310 kB] Get: 15 http://deb.debian.org/debian unstable/main arm64 libgssapi-krb5-2 arm64 1.21.3-3 [126 kB] Get: 16 http://deb.debian.org/debian unstable/main arm64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 17 http://deb.debian.org/debian unstable/main arm64 libtirpc3t64 arm64 1.3.4+ds-1.3+b1 [78.7 kB] Get: 18 http://deb.debian.org/debian unstable/main arm64 libnsl2 arm64 1.3.0-3+b3 [37.9 kB] Get: 19 http://deb.debian.org/debian unstable/main arm64 readline-common all 8.2-6 [69.4 kB] Get: 20 http://deb.debian.org/debian unstable/main arm64 libreadline8t64 arm64 8.2-6 [159 kB] Get: 21 http://deb.debian.org/debian unstable/main arm64 libpython3.12-stdlib arm64 3.12.8-3 [1906 kB] Get: 22 http://deb.debian.org/debian unstable/main arm64 python3.12 arm64 3.12.8-3 [677 kB] Get: 23 http://deb.debian.org/debian unstable/main arm64 libpython3-stdlib arm64 3.12.7-1 [9708 B] Get: 24 http://deb.debian.org/debian unstable/main arm64 python3 arm64 3.12.7-1 [27.8 kB] Get: 25 http://deb.debian.org/debian unstable/main arm64 libpython3.13-minimal arm64 3.13.1-2 [852 kB] Get: 26 http://deb.debian.org/debian unstable/main arm64 python3.13-minimal arm64 3.13.1-2 [1987 kB] Get: 27 http://deb.debian.org/debian unstable/main arm64 sgml-base all 1.31 [15.4 kB] Get: 28 http://deb.debian.org/debian unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB] Get: 29 http://deb.debian.org/debian unstable/main arm64 openssl arm64 3.3.2-2 [1347 kB] Get: 30 http://deb.debian.org/debian unstable/main arm64 ca-certificates all 20240203 [158 kB] Get: 31 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB] Get: 32 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB] Get: 33 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB] Get: 34 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.22.5-3 [198 kB] Get: 35 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB] Get: 36 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-6 [1130 kB] Get: 37 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.2-12 [91.4 kB] Get: 38 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB] Get: 39 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB] Get: 40 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-4 [277 kB] Get: 41 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB] Get: 42 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB] Get: 43 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.16.5-1.3 [823 kB] Get: 44 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.22.5-3 [723 kB] Get: 45 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.22 [90.5 kB] Get: 46 http://deb.debian.org/debian unstable/main arm64 libtool all 2.4.7-8 [517 kB] Get: 47 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 49 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 50 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 51 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB] Get: 52 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB] Get: 53 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-5+b1 [9239 kB] Get: 54 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b1 [630 kB] Get: 55 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.22.5-3 [1532 kB] Get: 56 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 57 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 58 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.22 [919 kB] Get: 59 http://deb.debian.org/debian unstable/main arm64 python3-autocommand all 2.2.2-3 [13.6 kB] Get: 60 http://deb.debian.org/debian unstable/main arm64 python3-more-itertools all 10.5.0-1 [63.8 kB] Get: 61 http://deb.debian.org/debian unstable/main arm64 python3-typing-extensions all 4.12.2-2 [73.0 kB] Get: 62 http://deb.debian.org/debian unstable/main arm64 python3-typeguard all 4.4.1-1 [37.0 kB] Get: 63 http://deb.debian.org/debian unstable/main arm64 python3-inflect all 7.3.1-2 [32.4 kB] Get: 64 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.context all 6.0.0-1 [7984 B] Get: 65 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.functools all 4.1.0-1 [12.0 kB] Get: 66 http://deb.debian.org/debian unstable/main arm64 python3-pkg-resources all 75.6.0-1 [222 kB] Get: 67 http://deb.debian.org/debian unstable/main arm64 python3-jaraco.text all 4.0.0-1 [11.4 kB] Get: 68 http://deb.debian.org/debian unstable/main arm64 python3-zipp all 3.21.0-1 [10.6 kB] Get: 69 http://deb.debian.org/debian unstable/main arm64 python3-setuptools all 75.6.0-1 [720 kB] Get: 70 http://deb.debian.org/debian unstable/main arm64 dh-python all 6.20241217 [113 kB] Get: 71 http://deb.debian.org/debian unstable/main arm64 xml-core all 0.19 [20.1 kB] Get: 72 http://deb.debian.org/debian unstable/main arm64 docutils-common all 0.21.2+dfsg-2 [128 kB] Get: 73 http://deb.debian.org/debian unstable/main arm64 python3-mccabe all 0.7.0-1 [10.5 kB] Get: 74 http://deb.debian.org/debian unstable/main arm64 python3-pycodestyle all 2.12.1-1 [39.7 kB] Get: 75 http://deb.debian.org/debian unstable/main arm64 python3-pyflakes all 3.2.0-2 [57.2 kB] Get: 76 http://deb.debian.org/debian unstable/main arm64 python3-flake8 all 7.1.1-2 [56.3 kB] Get: 77 http://deb.debian.org/debian unstable/main arm64 flake8 all 7.1.1-2 [21.5 kB] Get: 78 http://deb.debian.org/debian unstable/main arm64 libonig5 arm64 6.9.9-1+b1 [181 kB] Get: 79 http://deb.debian.org/debian unstable/main arm64 libjq1 arm64 1.7.1-3+b1 [148 kB] Get: 80 http://deb.debian.org/debian unstable/main arm64 jq arm64 1.7.1-3+b1 [77.3 kB] Get: 81 http://deb.debian.org/debian unstable/main arm64 x11-common all 1:7.7+23.1 [216 kB] Get: 82 http://deb.debian.org/debian unstable/main arm64 libice6 arm64 2:1.1.1-1 [62.1 kB] Get: 83 http://deb.debian.org/debian unstable/main arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3196 B] Get: 84 http://deb.debian.org/debian unstable/main arm64 libjs-jquery-metadata all 12-4 [6532 B] Get: 85 http://deb.debian.org/debian unstable/main arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [184 kB] Get: 86 http://deb.debian.org/debian unstable/main arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.2 kB] Get: 87 http://deb.debian.org/debian unstable/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 88 http://deb.debian.org/debian unstable/main arm64 libjs-sphinxdoc all 8.1.3-2 [30.3 kB] Get: 89 http://deb.debian.org/debian unstable/main arm64 libjson-perl all 4.10000-1 [87.5 kB] Get: 90 http://deb.debian.org/debian unstable/main arm64 libpython3.13-stdlib arm64 3.13.1-2 [1913 kB] Get: 91 http://deb.debian.org/debian unstable/main arm64 libsm6 arm64 2:1.2.4-1 [34.2 kB] Get: 92 http://deb.debian.org/debian unstable/main arm64 libsubunit-perl all 1.4.2-3 [5724 B] Get: 93 http://deb.debian.org/debian unstable/main arm64 libxau6 arm64 1:1.0.11-1 [20.6 kB] Get: 94 http://deb.debian.org/debian unstable/main arm64 libxdmcp6 arm64 1:1.1.5-1 [27.8 kB] Get: 95 http://deb.debian.org/debian unstable/main arm64 libxcb1 arm64 1.17.0-2+b1 [143 kB] Get: 96 http://deb.debian.org/debian unstable/main arm64 libx11-data all 2:1.8.10-2 [337 kB] Get: 97 http://deb.debian.org/debian unstable/main arm64 libx11-6 arm64 2:1.8.10-2 [789 kB] Get: 98 http://deb.debian.org/debian unstable/main arm64 libxext6 arm64 2:1.3.4-1+b2 [49.3 kB] Get: 99 http://deb.debian.org/debian unstable/main arm64 libxt6t64 arm64 1:1.2.1-1.2+b1 [173 kB] Get: 100 http://deb.debian.org/debian unstable/main arm64 libxmu6 arm64 2:1.1.3-3+b3 [55.6 kB] Get: 101 http://deb.debian.org/debian unstable/main arm64 libyaml-0-2 arm64 0.2.5-1+b2 [49.3 kB] Get: 102 http://deb.debian.org/debian unstable/main arm64 python3-wheel all 0.45.1-1 [56.7 kB] Get: 103 http://deb.debian.org/debian unstable/main arm64 python3-pip all 24.3.1+dfsg-1 [1441 kB] Get: 104 http://deb.debian.org/debian unstable/main arm64 openstack-pkg-tools all 130 [96.4 kB] Get: 105 http://deb.debian.org/debian unstable/main arm64 pyflakes3 all 3.2.0-2 [10.2 kB] Get: 106 http://deb.debian.org/debian unstable/main arm64 python-babel-localedata all 2.16.0-1 [5696 kB] Get: 107 http://deb.debian.org/debian unstable/main arm64 python3-alabaster all 0.7.16-0.1 [27.9 kB] Get: 108 http://deb.debian.org/debian unstable/main arm64 python3.13 arm64 3.13.1-2 [740 kB] Get: 109 http://deb.debian.org/debian unstable/main arm64 python3-all arm64 3.12.7-1 [1052 B] Get: 110 http://deb.debian.org/debian unstable/main arm64 python3-autopage all 0.4.0-4 [12.9 kB] Get: 111 http://deb.debian.org/debian unstable/main arm64 python3-babel all 2.16.0-1 [114 kB] Get: 112 http://deb.debian.org/debian unstable/main arm64 python3-certifi all 2024.8.30+dfsg-1 [9576 B] Get: 113 http://deb.debian.org/debian unstable/main arm64 python3-chardet all 5.2.0+dfsg-1 [107 kB] Get: 114 http://deb.debian.org/debian unstable/main arm64 python3-charset-normalizer arm64 3.4.0-1+b1 [129 kB] Get: 115 http://deb.debian.org/debian unstable/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [24.9 kB] Get: 116 http://deb.debian.org/debian unstable/main arm64 xclip arm64 0.13-4+b1 [21.1 kB] Get: 117 http://deb.debian.org/debian unstable/main arm64 python3-pyperclip all 1.8.2-2 [13.2 kB] Get: 118 http://deb.debian.org/debian unstable/main arm64 python3-cmd2 all 2.5.7+ds-1 [148 kB] Get: 119 http://deb.debian.org/debian unstable/main arm64 python3-roman all 4.2-1 [10.4 kB] Get: 120 http://deb.debian.org/debian unstable/main arm64 python3-docutils all 0.21.2+dfsg-2 [403 kB] Get: 121 http://deb.debian.org/debian unstable/main arm64 python3-pbr all 6.1.0-4 [56.6 kB] Get: 122 http://deb.debian.org/debian unstable/main arm64 python3-prettytable all 3.12.0-1 [39.5 kB] Get: 123 http://deb.debian.org/debian unstable/main arm64 python3-stevedore all 5.3.0-3 [20.9 kB] Get: 124 http://deb.debian.org/debian unstable/main arm64 python3-yaml arm64 6.0.2-1+b1 [148 kB] Get: 125 http://deb.debian.org/debian unstable/main arm64 python3-cliff all 4.7.0-3 [42.5 kB] Get: 126 http://deb.debian.org/debian unstable/main arm64 python3-colorama all 0.4.6-4 [36.2 kB] Get: 127 http://deb.debian.org/debian unstable/main arm64 python3-coverage arm64 7.6.0+dfsg1-2+b1 [177 kB] Get: 128 http://deb.debian.org/debian unstable/main arm64 python3-decorator all 5.1.1-5 [15.1 kB] Get: 129 http://deb.debian.org/debian unstable/main arm64 python3-defusedxml all 0.7.1-3 [43.4 kB] Get: 130 http://deb.debian.org/debian unstable/main arm64 python3-extras all 1.0.0-6 [7528 B] Get: 131 http://deb.debian.org/debian unstable/main arm64 python3-testtools all 2.7.2-4 [122 kB] Get: 132 http://deb.debian.org/debian unstable/main arm64 python3-fixtures all 4.1.0-3 [34.2 kB] Get: 133 http://deb.debian.org/debian unstable/main arm64 python3-hacking all 4.1.0-4 [22.3 kB] Get: 134 http://deb.debian.org/debian unstable/main arm64 python3-pyparsing all 3.1.2-1 [146 kB] Get: 135 http://deb.debian.org/debian unstable/main arm64 python3-httplib2 all 0.22.0-1 [36.1 kB] Get: 136 http://deb.debian.org/debian unstable/main arm64 python3-idna all 3.8-2 [41.6 kB] Get: 137 http://deb.debian.org/debian unstable/main arm64 python3-imagesize all 1.4.1-1 [6688 B] Get: 138 http://deb.debian.org/debian unstable/main arm64 python3-iniconfig all 1.1.1-2 [6396 B] Get: 139 http://deb.debian.org/debian unstable/main arm64 python3-markupsafe arm64 2.1.5-1+b3 [14.0 kB] Get: 140 http://deb.debian.org/debian unstable/main arm64 python3-jinja2 all 3.1.3-1.1 [120 kB] Get: 141 http://deb.debian.org/debian unstable/main arm64 python3-ply all 3.11-7 [62.6 kB] Get: 142 http://deb.debian.org/debian unstable/main arm64 python3-six all 1.17.0-1 [16.5 kB] Get: 143 http://deb.debian.org/debian unstable/main arm64 python3-jsonpath-rw all 1.4.0-7 [14.8 kB] Get: 144 http://deb.debian.org/debian unstable/main arm64 python3-jsonpath-rw-ext all 1.2.2-4 [11.7 kB] Get: 145 http://deb.debian.org/debian unstable/main arm64 python3-packaging all 24.2-1 [55.3 kB] Get: 146 http://deb.debian.org/debian unstable/main arm64 python3-pluggy all 1.5.0-1 [26.9 kB] Get: 147 http://deb.debian.org/debian unstable/main arm64 python3-pygments all 2.18.0+dfsg-1 [836 kB] Get: 148 http://deb.debian.org/debian unstable/main arm64 python3-pytest all 8.3.4-1 [250 kB] Get: 149 http://deb.debian.org/debian unstable/main arm64 python3-pytest-cov all 5.0.0-1 [26.8 kB] Get: 150 http://deb.debian.org/debian unstable/main arm64 python3-urllib3 all 2.2.3-4 [112 kB] Get: 151 http://deb.debian.org/debian unstable/main arm64 python3-requests all 2.32.3+dfsg-1 [71.9 kB] Get: 152 http://deb.debian.org/debian unstable/main arm64 python3-snowballstemmer all 2.2.0-4 [58.0 kB] Get: 153 http://deb.debian.org/debian unstable/main arm64 sphinx-common all 8.1.3-2 [616 kB] Get: 154 http://deb.debian.org/debian unstable/main arm64 python3-sphinx all 8.1.3-2 [468 kB] Get: 155 http://deb.debian.org/debian unstable/main arm64 python3-tomlkit all 0.13.2-1 [42.7 kB] Get: 156 http://deb.debian.org/debian unstable/main arm64 python3-voluptuous all 0.14.2-1 [45.8 kB] Get: 157 http://deb.debian.org/debian unstable/main arm64 python3-subunit all 1.4.2-3 [66.4 kB] Get: 158 http://deb.debian.org/debian unstable/main arm64 subunit all 1.4.2-3 [5248 B] Get: 159 http://deb.debian.org/debian unstable/main arm64 python3-stestr all 4.1.0-3 [56.9 kB] Get: 160 http://deb.debian.org/debian unstable/main arm64 python3-wsgi-intercept all 1.13.0-2 [18.6 kB] Fetched 50.3 MB in 0s (149 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libjs-jquery. (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 ... 20084 files and directories currently installed.) Preparing to unpack .../libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-jquery-hotkeys. Preparing to unpack .../libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2.1_all.deb ... Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... Selecting previously unselected package libpython3.12-minimal:arm64. Preparing to unpack .../libpython3.12-minimal_3.12.8-3_arm64.deb ... Unpacking libpython3.12-minimal:arm64 (3.12.8-3) ... Selecting previously unselected package libexpat1:arm64. Preparing to unpack .../libexpat1_2.6.4-1_arm64.deb ... Unpacking libexpat1:arm64 (2.6.4-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.8-3_arm64.deb ... Unpacking python3.12-minimal (3.12.8-3) ... Setting up libpython3.12-minimal:arm64 (3.12.8-3) ... Setting up libexpat1:arm64 (2.6.4-1) ... Setting up python3.12-minimal (3.12.8-3) ... 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 ... 20430 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.7-1_arm64.deb ... Unpacking python3-minimal (3.12.7-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024b-4_all.deb ... Unpacking tzdata (2024b-4) ... Selecting previously unselected package libkrb5support0:arm64. Preparing to unpack .../04-libkrb5support0_1.21.3-3_arm64.deb ... Unpacking libkrb5support0:arm64 (1.21.3-3) ... Selecting previously unselected package libcom-err2:arm64. Preparing to unpack .../05-libcom-err2_1.47.2~rc1-2_arm64.deb ... Unpacking libcom-err2:arm64 (1.47.2~rc1-2) ... Selecting previously unselected package libk5crypto3:arm64. Preparing to unpack .../06-libk5crypto3_1.21.3-3_arm64.deb ... Unpacking libk5crypto3:arm64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:arm64. Preparing to unpack .../07-libkeyutils1_1.6.3-4_arm64.deb ... Unpacking libkeyutils1:arm64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:arm64. Preparing to unpack .../08-libkrb5-3_1.21.3-3_arm64.deb ... Unpacking libkrb5-3:arm64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:arm64. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_arm64.deb ... Unpacking libgssapi-krb5-2:arm64 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:arm64. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3+b1_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3 to /lib/aarch64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/aarch64-linux-gnu/libtirpc.so.3.0.0 to /lib/aarch64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Selecting previously unselected package libnsl2:arm64. Preparing to unpack .../12-libnsl2_1.3.0-3+b3_arm64.deb ... Unpacking libnsl2:arm64 (1.3.0-3+b3) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-6_all.deb ... Unpacking readline-common (8.2-6) ... Selecting previously unselected package libreadline8t64:arm64. Preparing to unpack .../14-libreadline8t64_8.2-6_arm64.deb ... Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8 to /lib/aarch64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libhistory.so.8.2 to /lib/aarch64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8 to /lib/aarch64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/aarch64-linux-gnu/libreadline.so.8.2 to /lib/aarch64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:arm64 (8.2-6) ... Selecting previously unselected package libpython3.12-stdlib:arm64. Preparing to unpack .../15-libpython3.12-stdlib_3.12.8-3_arm64.deb ... Unpacking libpython3.12-stdlib:arm64 (3.12.8-3) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.8-3_arm64.deb ... Unpacking python3.12 (3.12.8-3) ... Selecting previously unselected package libpython3-stdlib:arm64. Preparing to unpack .../17-libpython3-stdlib_3.12.7-1_arm64.deb ... Unpacking libpython3-stdlib:arm64 (3.12.7-1) ... Setting up python3-minimal (3.12.7-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 ... 21493 files and directories currently installed.) Preparing to unpack .../000-python3_3.12.7-1_arm64.deb ... Unpacking python3 (3.12.7-1) ... Selecting previously unselected package libpython3.13-minimal:arm64. Preparing to unpack .../001-libpython3.13-minimal_3.13.1-2_arm64.deb ... Unpacking libpython3.13-minimal:arm64 (3.13.1-2) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../002-python3.13-minimal_3.13.1-2_arm64.deb ... Unpacking python3.13-minimal (3.13.1-2) ... Selecting previously unselected package sgml-base. Preparing to unpack .../003-sgml-base_1.31_all.deb ... Unpacking sgml-base (1.31) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../004-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../005-openssl_3.3.2-2_arm64.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../006-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../007-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:arm64. Preparing to unpack .../008-libmagic1t64_1%3a5.45-3+b1_arm64.deb ... Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../009-file_1%3a5.45-3+b1_arm64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../010-gettext-base_0.22.5-3_arm64.deb ... Unpacking gettext-base (0.22.5-3) ... Selecting previously unselected package libuchardet0:arm64. Preparing to unpack .../011-libuchardet0_0.0.8-1+b2_arm64.deb ... Unpacking libuchardet0:arm64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../012-groff-base_1.23.0-6_arm64.deb ... Unpacking groff-base (1.23.0-6) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../013-bsdextrautils_2.40.2-12_arm64.deb ... Unpacking bsdextrautils (2.40.2-12) ... Selecting previously unselected package libpipeline1:arm64. Preparing to unpack .../014-libpipeline1_1.5.8-1_arm64.deb ... Unpacking libpipeline1:arm64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../015-man-db_2.13.0-1_arm64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../016-m4_1.4.19-4_arm64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../017-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../018-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../019-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 .../020-autopoint_0.22.5-3_all.deb ... Unpacking autopoint (0.22.5-3) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../021-libdebhelper-perl_13.22_all.deb ... Unpacking libdebhelper-perl (13.22) ... Selecting previously unselected package libtool. Preparing to unpack .../022-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../023-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../024-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../025-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../026-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:arm64. Preparing to unpack .../027-libelf1t64_0.192-4_arm64.deb ... Unpacking libelf1t64:arm64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../028-dwz_0.15-1+b1_arm64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:arm64. Preparing to unpack .../029-libicu72_72.1-5+b1_arm64.deb ... Unpacking libicu72:arm64 (72.1-5+b1) ... Selecting previously unselected package libxml2:arm64. Preparing to unpack .../030-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_arm64.deb ... Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../031-gettext_0.22.5-3_arm64.deb ... Unpacking gettext (0.22.5-3) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../032-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 .../033-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../034-debhelper_13.22_all.deb ... Unpacking debhelper (13.22) ... Selecting previously unselected package python3-autocommand. Preparing to unpack .../035-python3-autocommand_2.2.2-3_all.deb ... Unpacking python3-autocommand (2.2.2-3) ... Selecting previously unselected package python3-more-itertools. Preparing to unpack .../036-python3-more-itertools_10.5.0-1_all.deb ... Unpacking python3-more-itertools (10.5.0-1) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../037-python3-typing-extensions_4.12.2-2_all.deb ... Unpacking python3-typing-extensions (4.12.2-2) ... Selecting previously unselected package python3-typeguard. Preparing to unpack .../038-python3-typeguard_4.4.1-1_all.deb ... Unpacking python3-typeguard (4.4.1-1) ... Selecting previously unselected package python3-inflect. Preparing to unpack .../039-python3-inflect_7.3.1-2_all.deb ... Unpacking python3-inflect (7.3.1-2) ... Selecting previously unselected package python3-jaraco.context. Preparing to unpack .../040-python3-jaraco.context_6.0.0-1_all.deb ... Unpacking python3-jaraco.context (6.0.0-1) ... Selecting previously unselected package python3-jaraco.functools. Preparing to unpack .../041-python3-jaraco.functools_4.1.0-1_all.deb ... Unpacking python3-jaraco.functools (4.1.0-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../042-python3-pkg-resources_75.6.0-1_all.deb ... Unpacking python3-pkg-resources (75.6.0-1) ... Selecting previously unselected package python3-jaraco.text. Preparing to unpack .../043-python3-jaraco.text_4.0.0-1_all.deb ... Unpacking python3-jaraco.text (4.0.0-1) ... Selecting previously unselected package python3-zipp. Preparing to unpack .../044-python3-zipp_3.21.0-1_all.deb ... Unpacking python3-zipp (3.21.0-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../045-python3-setuptools_75.6.0-1_all.deb ... Unpacking python3-setuptools (75.6.0-1) ... Selecting previously unselected package dh-python. Preparing to unpack .../046-dh-python_6.20241217_all.deb ... Unpacking dh-python (6.20241217) ... Selecting previously unselected package xml-core. Preparing to unpack .../047-xml-core_0.19_all.deb ... Unpacking xml-core (0.19) ... Selecting previously unselected package docutils-common. Preparing to unpack .../048-docutils-common_0.21.2+dfsg-2_all.deb ... Unpacking docutils-common (0.21.2+dfsg-2) ... Selecting previously unselected package python3-mccabe. Preparing to unpack .../049-python3-mccabe_0.7.0-1_all.deb ... Unpacking python3-mccabe (0.7.0-1) ... Selecting previously unselected package python3-pycodestyle. Preparing to unpack .../050-python3-pycodestyle_2.12.1-1_all.deb ... Unpacking python3-pycodestyle (2.12.1-1) ... Selecting previously unselected package python3-pyflakes. Preparing to unpack .../051-python3-pyflakes_3.2.0-2_all.deb ... Unpacking python3-pyflakes (3.2.0-2) ... Selecting previously unselected package python3-flake8. Preparing to unpack .../052-python3-flake8_7.1.1-2_all.deb ... Unpacking python3-flake8 (7.1.1-2) ... Selecting previously unselected package flake8. Preparing to unpack .../053-flake8_7.1.1-2_all.deb ... Unpacking flake8 (7.1.1-2) ... Selecting previously unselected package libonig5:arm64. Preparing to unpack .../054-libonig5_6.9.9-1+b1_arm64.deb ... Unpacking libonig5:arm64 (6.9.9-1+b1) ... Selecting previously unselected package libjq1:arm64. Preparing to unpack .../055-libjq1_1.7.1-3+b1_arm64.deb ... Unpacking libjq1:arm64 (1.7.1-3+b1) ... Selecting previously unselected package jq. Preparing to unpack .../056-jq_1.7.1-3+b1_arm64.deb ... Unpacking jq (1.7.1-3+b1) ... Selecting previously unselected package x11-common. Preparing to unpack .../057-x11-common_1%3a7.7+23.1_all.deb ... Unpacking x11-common (1:7.7+23.1) ... Selecting previously unselected package libice6:arm64. Preparing to unpack .../058-libice6_2%3a1.1.1-1_arm64.deb ... Unpacking libice6:arm64 (2:1.1.1-1) ... Selecting previously unselected package libjs-jquery-isonscreen. Preparing to unpack .../059-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... Selecting previously unselected package libjs-jquery-metadata. Preparing to unpack .../060-libjs-jquery-metadata_12-4_all.deb ... Unpacking libjs-jquery-metadata (12-4) ... Selecting previously unselected package libjs-jquery-tablesorter. Preparing to unpack .../061-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Selecting previously unselected package libjs-jquery-throttle-debounce. Preparing to unpack .../062-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../063-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../064-libjs-sphinxdoc_8.1.3-2_all.deb ... Unpacking libjs-sphinxdoc (8.1.3-2) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../065-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libpython3.13-stdlib:arm64. Preparing to unpack .../066-libpython3.13-stdlib_3.13.1-2_arm64.deb ... Unpacking libpython3.13-stdlib:arm64 (3.13.1-2) ... Selecting previously unselected package libsm6:arm64. Preparing to unpack .../067-libsm6_2%3a1.2.4-1_arm64.deb ... Unpacking libsm6:arm64 (2:1.2.4-1) ... Selecting previously unselected package libsubunit-perl. Preparing to unpack .../068-libsubunit-perl_1.4.2-3_all.deb ... Unpacking libsubunit-perl (1.4.2-3) ... Selecting previously unselected package libxau6:arm64. Preparing to unpack .../069-libxau6_1%3a1.0.11-1_arm64.deb ... Unpacking libxau6:arm64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:arm64. Preparing to unpack .../070-libxdmcp6_1%3a1.1.5-1_arm64.deb ... Unpacking libxdmcp6:arm64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:arm64. Preparing to unpack .../071-libxcb1_1.17.0-2+b1_arm64.deb ... Unpacking libxcb1:arm64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../072-libx11-data_2%3a1.8.10-2_all.deb ... Unpacking libx11-data (2:1.8.10-2) ... Selecting previously unselected package libx11-6:arm64. Preparing to unpack .../073-libx11-6_2%3a1.8.10-2_arm64.deb ... Unpacking libx11-6:arm64 (2:1.8.10-2) ... Selecting previously unselected package libxext6:arm64. Preparing to unpack .../074-libxext6_2%3a1.3.4-1+b2_arm64.deb ... Unpacking libxext6:arm64 (2:1.3.4-1+b2) ... Selecting previously unselected package libxt6t64:arm64. Preparing to unpack .../075-libxt6t64_1%3a1.2.1-1.2+b1_arm64.deb ... Unpacking libxt6t64:arm64 (1:1.2.1-1.2+b1) ... Selecting previously unselected package libxmu6:arm64. Preparing to unpack .../076-libxmu6_2%3a1.1.3-3+b3_arm64.deb ... Unpacking libxmu6:arm64 (2:1.1.3-3+b3) ... Selecting previously unselected package libyaml-0-2:arm64. Preparing to unpack .../077-libyaml-0-2_0.2.5-1+b2_arm64.deb ... Unpacking libyaml-0-2:arm64 (0.2.5-1+b2) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../078-python3-wheel_0.45.1-1_all.deb ... Unpacking python3-wheel (0.45.1-1) ... Selecting previously unselected package python3-pip. Preparing to unpack .../079-python3-pip_24.3.1+dfsg-1_all.deb ... Unpacking python3-pip (24.3.1+dfsg-1) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../080-openstack-pkg-tools_130_all.deb ... Unpacking openstack-pkg-tools (130) ... Selecting previously unselected package pyflakes3. Preparing to unpack .../081-pyflakes3_3.2.0-2_all.deb ... Unpacking pyflakes3 (3.2.0-2) ... Selecting previously unselected package python-babel-localedata. Preparing to unpack .../082-python-babel-localedata_2.16.0-1_all.deb ... Unpacking python-babel-localedata (2.16.0-1) ... Selecting previously unselected package python3-alabaster. Preparing to unpack .../083-python3-alabaster_0.7.16-0.1_all.deb ... Unpacking python3-alabaster (0.7.16-0.1) ... Selecting previously unselected package python3.13. Preparing to unpack .../084-python3.13_3.13.1-2_arm64.deb ... Unpacking python3.13 (3.13.1-2) ... Selecting previously unselected package python3-all. Preparing to unpack .../085-python3-all_3.12.7-1_arm64.deb ... Unpacking python3-all (3.12.7-1) ... Selecting previously unselected package python3-autopage. Preparing to unpack .../086-python3-autopage_0.4.0-4_all.deb ... Unpacking python3-autopage (0.4.0-4) ... Selecting previously unselected package python3-babel. Preparing to unpack .../087-python3-babel_2.16.0-1_all.deb ... Unpacking python3-babel (2.16.0-1) ... Selecting previously unselected package python3-certifi. Preparing to unpack .../088-python3-certifi_2024.8.30+dfsg-1_all.deb ... Unpacking python3-certifi (2024.8.30+dfsg-1) ... Selecting previously unselected package python3-chardet. Preparing to unpack .../089-python3-chardet_5.2.0+dfsg-1_all.deb ... Unpacking python3-chardet (5.2.0+dfsg-1) ... Selecting previously unselected package python3-charset-normalizer. Preparing to unpack .../090-python3-charset-normalizer_3.4.0-1+b1_arm64.deb ... Unpacking python3-charset-normalizer (3.4.0-1+b1) ... Selecting previously unselected package python3-wcwidth. Preparing to unpack .../091-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... Selecting previously unselected package xclip. Preparing to unpack .../092-xclip_0.13-4+b1_arm64.deb ... Unpacking xclip (0.13-4+b1) ... Selecting previously unselected package python3-pyperclip. Preparing to unpack .../093-python3-pyperclip_1.8.2-2_all.deb ... Unpacking python3-pyperclip (1.8.2-2) ... Selecting previously unselected package python3-cmd2. Preparing to unpack .../094-python3-cmd2_2.5.7+ds-1_all.deb ... Unpacking python3-cmd2 (2.5.7+ds-1) ... Selecting previously unselected package python3-roman. Preparing to unpack .../095-python3-roman_4.2-1_all.deb ... Unpacking python3-roman (4.2-1) ... Selecting previously unselected package python3-docutils. Preparing to unpack .../096-python3-docutils_0.21.2+dfsg-2_all.deb ... Unpacking python3-docutils (0.21.2+dfsg-2) ... Selecting previously unselected package python3-pbr. Preparing to unpack .../097-python3-pbr_6.1.0-4_all.deb ... Unpacking python3-pbr (6.1.0-4) ... Selecting previously unselected package python3-prettytable. Preparing to unpack .../098-python3-prettytable_3.12.0-1_all.deb ... Unpacking python3-prettytable (3.12.0-1) ... Selecting previously unselected package python3-stevedore. Preparing to unpack .../099-python3-stevedore_5.3.0-3_all.deb ... Unpacking python3-stevedore (5.3.0-3) ... Selecting previously unselected package python3-yaml. Preparing to unpack .../100-python3-yaml_6.0.2-1+b1_arm64.deb ... Unpacking python3-yaml (6.0.2-1+b1) ... Selecting previously unselected package python3-cliff. Preparing to unpack .../101-python3-cliff_4.7.0-3_all.deb ... Unpacking python3-cliff (4.7.0-3) ... Selecting previously unselected package python3-colorama. Preparing to unpack .../102-python3-colorama_0.4.6-4_all.deb ... Unpacking python3-colorama (0.4.6-4) ... Selecting previously unselected package python3-coverage. Preparing to unpack .../103-python3-coverage_7.6.0+dfsg1-2+b1_arm64.deb ... Unpacking python3-coverage (7.6.0+dfsg1-2+b1) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../104-python3-decorator_5.1.1-5_all.deb ... Unpacking python3-decorator (5.1.1-5) ... Selecting previously unselected package python3-defusedxml. Preparing to unpack .../105-python3-defusedxml_0.7.1-3_all.deb ... Unpacking python3-defusedxml (0.7.1-3) ... Selecting previously unselected package python3-extras. Preparing to unpack .../106-python3-extras_1.0.0-6_all.deb ... Unpacking python3-extras (1.0.0-6) ... Selecting previously unselected package python3-testtools. Preparing to unpack .../107-python3-testtools_2.7.2-4_all.deb ... Unpacking python3-testtools (2.7.2-4) ... Selecting previously unselected package python3-fixtures. Preparing to unpack .../108-python3-fixtures_4.1.0-3_all.deb ... Unpacking python3-fixtures (4.1.0-3) ... Selecting previously unselected package python3-hacking. Preparing to unpack .../109-python3-hacking_4.1.0-4_all.deb ... Unpacking python3-hacking (4.1.0-4) ... Selecting previously unselected package python3-pyparsing. Preparing to unpack .../110-python3-pyparsing_3.1.2-1_all.deb ... Unpacking python3-pyparsing (3.1.2-1) ... Selecting previously unselected package python3-httplib2. Preparing to unpack .../111-python3-httplib2_0.22.0-1_all.deb ... Unpacking python3-httplib2 (0.22.0-1) ... Selecting previously unselected package python3-idna. Preparing to unpack .../112-python3-idna_3.8-2_all.deb ... Unpacking python3-idna (3.8-2) ... Selecting previously unselected package python3-imagesize. Preparing to unpack .../113-python3-imagesize_1.4.1-1_all.deb ... Unpacking python3-imagesize (1.4.1-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../114-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-markupsafe. Preparing to unpack .../115-python3-markupsafe_2.1.5-1+b3_arm64.deb ... Unpacking python3-markupsafe (2.1.5-1+b3) ... Selecting previously unselected package python3-jinja2. Preparing to unpack .../116-python3-jinja2_3.1.3-1.1_all.deb ... Unpacking python3-jinja2 (3.1.3-1.1) ... Selecting previously unselected package python3-ply. Preparing to unpack .../117-python3-ply_3.11-7_all.deb ... Unpacking python3-ply (3.11-7) ... Selecting previously unselected package python3-six. Preparing to unpack .../118-python3-six_1.17.0-1_all.deb ... Unpacking python3-six (1.17.0-1) ... Selecting previously unselected package python3-jsonpath-rw. Preparing to unpack .../119-python3-jsonpath-rw_1.4.0-7_all.deb ... Unpacking python3-jsonpath-rw (1.4.0-7) ... Selecting previously unselected package python3-jsonpath-rw-ext. Preparing to unpack .../120-python3-jsonpath-rw-ext_1.2.2-4_all.deb ... Unpacking python3-jsonpath-rw-ext (1.2.2-4) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../121-python3-packaging_24.2-1_all.deb ... Unpacking python3-packaging (24.2-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../122-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pygments. Preparing to unpack .../123-python3-pygments_2.18.0+dfsg-1_all.deb ... Unpacking python3-pygments (2.18.0+dfsg-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../124-python3-pytest_8.3.4-1_all.deb ... Unpacking python3-pytest (8.3.4-1) ... Selecting previously unselected package python3-pytest-cov. Preparing to unpack .../125-python3-pytest-cov_5.0.0-1_all.deb ... Unpacking python3-pytest-cov (5.0.0-1) ... Selecting previously unselected package python3-urllib3. Preparing to unpack .../126-python3-urllib3_2.2.3-4_all.deb ... Unpacking python3-urllib3 (2.2.3-4) ... Selecting previously unselected package python3-requests. Preparing to unpack .../127-python3-requests_2.32.3+dfsg-1_all.deb ... Unpacking python3-requests (2.32.3+dfsg-1) ... Selecting previously unselected package python3-snowballstemmer. Preparing to unpack .../128-python3-snowballstemmer_2.2.0-4_all.deb ... Unpacking python3-snowballstemmer (2.2.0-4) ... Selecting previously unselected package sphinx-common. Preparing to unpack .../129-sphinx-common_8.1.3-2_all.deb ... Unpacking sphinx-common (8.1.3-2) ... Selecting previously unselected package python3-sphinx. Preparing to unpack .../130-python3-sphinx_8.1.3-2_all.deb ... Unpacking python3-sphinx (8.1.3-2) ... Selecting previously unselected package python3-tomlkit. Preparing to unpack .../131-python3-tomlkit_0.13.2-1_all.deb ... Unpacking python3-tomlkit (0.13.2-1) ... Selecting previously unselected package python3-voluptuous. Preparing to unpack .../132-python3-voluptuous_0.14.2-1_all.deb ... Unpacking python3-voluptuous (0.14.2-1) ... Selecting previously unselected package python3-subunit. Preparing to unpack .../133-python3-subunit_1.4.2-3_all.deb ... Unpacking python3-subunit (1.4.2-3) ... Selecting previously unselected package subunit. Preparing to unpack .../134-subunit_1.4.2-3_all.deb ... Unpacking subunit (1.4.2-3) ... Selecting previously unselected package python3-stestr. Preparing to unpack .../135-python3-stestr_4.1.0-3_all.deb ... Unpacking python3-stestr (4.1.0-3) ... Selecting previously unselected package python3-wsgi-intercept. Preparing to unpack .../136-python3-wsgi-intercept_1.13.0-2_all.deb ... Unpacking python3-wsgi-intercept (1.13.0-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:arm64 (1.5.8-1) ... Setting up libxau6:arm64 (1:1.0.11-1) ... Setting up libxdmcp6:arm64 (1:1.1.5-1) ... Setting up libsubunit-perl (1.4.2-3) ... Setting up libkeyutils1:arm64 (1.6.3-4) ... Setting up libxcb1:arm64 (1.17.0-2+b1) ... Setting up libicu72:arm64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-12) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:arm64 (0.2.5-1+b2) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.22) ... Setting up libmagic1t64:arm64 (1:5.45-3+b1) ... Setting up x11-common (1:7.7+23.1) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up gettext-base (0.22.5-3) ... Setting up m4 (1.4.19-4) ... Setting up libcom-err2:arm64 (1.47.2~rc1-2) ... Setting up file (1:5.45-3+b1) ... Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... Setting up libelf1t64:arm64 (0.192-4) ... Setting up python-babel-localedata (2.16.0-1) ... Setting up libkrb5support0:arm64 (1.21.3-3) ... Setting up tzdata (2024b-4) ... Current default time zone: 'Etc/UTC' Local time is now: Wed Jan 21 23:44:46 UTC 2026. Universal Time is now: Wed Jan 21 23:44:46 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up libpython3.13-minimal:arm64 (3.13.1-2) ... Setting up autotools-dev (20220109.1) ... Setting up libx11-data (2:1.8.10-2) ... Setting up autopoint (0.22.5-3) ... Setting up libk5crypto3:arm64 (1.21.3-3) ... Setting up autoconf (2.72-3) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:arm64 (0.0.8-1+b2) ... Setting up libjson-perl (4.10000-1) ... Setting up python3.13-minimal (3.13.1-2) ... Setting up libx11-6:arm64 (2:1.8.10-2) ... Setting up netbase (6.4) ... Setting up sgml-base (1.31) ... Setting up libkrb5-3:arm64 (1.21.3-3) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2.1) ... Setting up openssl (3.3.2-2) ... Setting up readline-common (8.2-6) ... Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libonig5:arm64 (6.9.9-1+b1) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 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.14.0-1) ... Setting up libice6:arm64 (2:1.1.1-1) ... Setting up gettext (0.22.5-3) ... Setting up libtool (2.4.7-8) ... Setting up libjq1:arm64 (1.7.1-3+b1) ... Setting up libxext6:arm64 (2:1.3.4-1+b2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libjs-jquery-metadata (12-4) ... Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... Setting up libgssapi-krb5-2:arm64 (1.21.3-3) ... Setting up libjs-sphinxdoc (8.1.3-2) ... Setting up libreadline8t64:arm64 (8.2-6) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... Setting up groff-base (1.23.0-6) ... Setting up xml-core (0.19) ... Setting up jq (1.7.1-3+b1) ... Setting up libsm6:arm64 (2:1.2.4-1) ... Setting up libpython3.13-stdlib:arm64 (3.13.1-2) ... Setting up libtirpc3t64:arm64 (1.3.4+ds-1.3+b1) ... Setting up python3.13 (3.13.1-2) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up sphinx-common (8.1.3-2) ... Setting up libxt6t64:arm64 (1:1.2.1-1.2+b1) ... Setting up libnsl2:arm64 (1.3.0-3+b3) ... Setting up libxmu6:arm64 (2:1.1.3-3+b3) ... Setting up libpython3.12-stdlib:arm64 (3.12.8-3) ... Setting up python3.12 (3.12.8-3) ... Setting up debhelper (13.22) ... Setting up xclip (0.13-4+b1) ... Setting up libpython3-stdlib:arm64 (3.12.7-1) ... Setting up python3 (3.12.7-1) ... Setting up python3-zipp (3.21.0-1) ... Setting up python3-autocommand (2.2.2-3) ... Setting up python3-markupsafe (2.1.5-1+b3) ... Setting up python3-wheel (0.45.1-1) ... Setting up python3-six (1.17.0-1) ... Setting up python3-roman (4.2-1) ... Setting up python3-decorator (5.1.1-5) ... Setting up python3-pycodestyle (2.12.1-1) ... Setting up python3-jinja2 (3.1.3-1.1) ... Setting up python3-packaging (24.2-1) ... Setting up python3-wcwidth (0.2.13+dfsg1-1) ... Setting up python3-pyparsing (3.1.2-1) ... Setting up python3-certifi (2024.8.30+dfsg-1) ... Setting up python3-snowballstemmer (2.2.0-4) ... Setting up python3-idna (3.8-2) ... Setting up python3-typing-extensions (4.12.2-2) ... Setting up python3-pip (24.3.1+dfsg-1) ... Setting up python3-urllib3 (2.2.3-4) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-httplib2 (0.22.0-1) ... Setting up python3-mccabe (0.7.0-1) ... Setting up python3-voluptuous (0.14.2-1) ... Setting up python3-prettytable (3.12.0-1) ... Setting up python3-tomlkit (0.13.2-1) ... Setting up python3-imagesize (1.4.1-1) ... Setting up python3-more-itertools (10.5.0-1) ... Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-jaraco.functools (4.1.0-1) ... Setting up python3-jaraco.context (6.0.0-1) ... Setting up python3-colorama (0.4.6-4) ... Setting up python3-defusedxml (0.7.1-3) ... Setting up python3-charset-normalizer (3.4.0-1+b1) ... Setting up python3-pytest (8.3.4-1) ... Setting up python3-alabaster (0.7.16-0.1) ... Setting up python3-ply (3.11-7) ... Setting up python3-autopage (0.4.0-4) ... Setting up python3-typeguard (4.4.1-1) ... Setting up python3-wsgi-intercept (1.13.0-2) ... Setting up python3-extras (1.0.0-6) ... Setting up python3-jsonpath-rw (1.4.0-7) ... Setting up python3-all (3.12.7-1) ... Setting up python3-coverage (7.6.0+dfsg1-2+b1) ... Setting up python3-yaml (6.0.2-1+b1) ... Setting up python3-pyperclip (1.8.2-2) ... Setting up python3-pytest-cov (5.0.0-1) ... Setting up openstack-pkg-tools (130) ... Setting up python3-inflect (7.3.1-2) ... Setting up python3-cmd2 (2.5.7+ds-1) ... Setting up python3-jaraco.text (4.0.0-1) ... Setting up python3-pkg-resources (75.6.0-1) ... Setting up python3-setuptools (75.6.0-1) ... Setting up python3-babel (2.16.0-1) ... update-alternatives: using /usr/bin/pybabel-python3 to provide /usr/bin/pybabel (pybabel) in auto mode Setting up python3-pbr (6.1.0-4) ... Setting up python3-pyflakes (3.2.0-2) ... Setting up python3-flake8 (7.1.1-2) ... Setting up python3-pygments (2.18.0+dfsg-1) ... Setting up python3-chardet (5.2.0+dfsg-1) ... Setting up python3-requests (2.32.3+dfsg-1) ... Setting up python3-jsonpath-rw-ext (1.2.2-4) ... Setting up python3-stevedore (5.3.0-3) ... Setting up dh-python (6.20241217) ... Setting up pyflakes3 (3.2.0-2) ... Setting up flake8 (7.1.1-2) ... Setting up python3-hacking (4.1.0-4) ... Setting up python3-testtools (2.7.2-4) ... Setting up python3-subunit (1.4.2-3) ... Setting up python3-fixtures (4.1.0-3) ... Setting up subunit (1.4.2-3) ... Processing triggers for libc-bin (2.40-4) ... Processing triggers for sgml-base (1.31) ... Setting up docutils-common (0.21.2+dfsg-2) ... Processing triggers for sgml-base (1.31) ... Setting up python3-docutils (0.21.2+dfsg-2) ... Setting up python3-cliff (4.7.0-3) ... Setting up python3-sphinx (8.1.3-2) ... Setting up python3-stestr (4.1.0-3) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.36-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: user script /srv/workspace/pbuilder/83677/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for unstable I: user script /srv/workspace/pbuilder/83677/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/python-gabbi-3.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../python-gabbi_3.0.0-3_source.changes dpkg-buildpackage: info: source package python-gabbi dpkg-buildpackage: info: source version 3.0.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture arm64 dpkg-source: info: using options from python-gabbi-3.0.0/debian/source/options: --extend-diff-ignore=^[^/]*[.]egg-info/ fakeroot debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --buildsystem=pybuild --with python3,sphinxdoc debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions rm -rf build .stestr gabbi.egg-info find . -iname '*.pyc' -delete for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules build make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh build --buildsystem=pybuild --with python3,sphinxdoc dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:311: python3.13 setup.py config /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running config I: pybuild base:311: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running config debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' create-stamp debian/debhelper-build-stamp fakeroot debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --buildsystem=pybuild --with python3,sphinxdoc dh_testroot -O--buildsystem=pybuild dh_prep -O--buildsystem=pybuild debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + for i in $@ + case "${1}" in + echo 'WARNING: --no-py2 is deprecated and always on.' WARNING: --no-py2 is deprecated and always on. + shift + for i in $@ + case "${1}" in + PKGOS_IN_TMP=yes + shift ++ dpkg-parsechangelog -SSource + SRC_PKG_NAME=python-gabbi ++ echo python-gabbi ++ sed s/python-// + PY_MODULE_NAME=gabbi ++ py3versions -vr + PYTHON3S='3.13 3.12' + '[' yes = yes ']' + TARGET_DIR=tmp + for pyvers in ${PYTHON3S} ++ pwd + python3.13 setup.py install --install-layout=deb --root /build/reproducible-path/python-gabbi-3.0.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py creating build/lib/gabbi/handlers copying gabbi/handlers/yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/handlers copying gabbi/handlers/jsonhandler.py -> build/lib/gabbi/handlers copying gabbi/handlers/core.py -> build/lib/gabbi/handlers copying gabbi/handlers/base.py -> build/lib/gabbi/handlers copying gabbi/handlers/__init__.py -> build/lib/gabbi/handlers creating build/lib/gabbi/tests copying gabbi/tests/util.py -> build/lib/gabbi/tests copying gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> build/lib/gabbi/tests copying gabbi/tests/test_utils.py -> build/lib/gabbi/tests copying gabbi/tests/test_use_prior_test.py -> build/lib/gabbi/tests copying gabbi/tests/test_unsafe_yaml.py -> build/lib/gabbi/tests copying gabbi/tests/test_syntax_warning.py -> build/lib/gabbi/tests copying gabbi/tests/test_suitemaker.py -> build/lib/gabbi/tests copying gabbi/tests/test_suite.py -> build/lib/gabbi/tests copying gabbi/tests/test_runner.py -> build/lib/gabbi/tests copying gabbi/tests/test_replacers.py -> build/lib/gabbi/tests copying gabbi/tests/test_parse_url.py -> build/lib/gabbi/tests copying gabbi/tests/test_load_data_file.py -> build/lib/gabbi/tests copying gabbi/tests/test_live.py -> build/lib/gabbi/tests copying gabbi/tests/test_jsonpath.py -> build/lib/gabbi/tests copying gabbi/tests/test_intercept.py -> build/lib/gabbi/tests copying gabbi/tests/test_inner_fixture.py -> build/lib/gabbi/tests copying gabbi/tests/test_history.py -> build/lib/gabbi/tests copying gabbi/tests/test_handlers.py -> build/lib/gabbi/tests copying gabbi/tests/test_fixtures.py -> build/lib/gabbi/tests copying gabbi/tests/test_driver.py -> build/lib/gabbi/tests copying gabbi/tests/test_data_to_string.py -> build/lib/gabbi/tests copying gabbi/tests/simple_wsgi.py -> build/lib/gabbi/tests copying gabbi/tests/custom_response_handler.py -> build/lib/gabbi/tests copying gabbi/tests/__init__.py -> build/lib/gabbi/tests copying gabbi/utils.py -> build/lib/gabbi copying gabbi/suitemaker.py -> build/lib/gabbi copying gabbi/suite.py -> build/lib/gabbi copying gabbi/runner.py -> build/lib/gabbi copying gabbi/reporter.py -> build/lib/gabbi copying gabbi/pytester.py -> build/lib/gabbi copying gabbi/json_parser.py -> build/lib/gabbi copying gabbi/httpclient.py -> build/lib/gabbi copying gabbi/fixture.py -> build/lib/gabbi copying gabbi/exception.py -> build/lib/gabbi copying gabbi/driver.py -> build/lib/gabbi copying gabbi/case.py -> build/lib/gabbi copying gabbi/__init__.py -> build/lib/gabbi running egg_info creating gabbi.egg-info writing gabbi.egg-info/PKG-INFO writing dependency_links to gabbi.egg-info/dependency_links.txt writing entry points to gabbi.egg-info/entry_points.txt writing requirements to gabbi.egg-info/requires.txt writing top-level names to gabbi.egg-info/top_level.txt [pbr] Processing SOURCES.txt writing manifest file 'gabbi.egg-info/SOURCES.txt' warning: no files found matching 'AUTHORS' warning: no files found matching 'ChangeLog' warning: no previously-included files found matching '.gitignore' warning: no previously-included files found matching '.gitreview' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE' writing manifest file 'gabbi.egg-info/SOURCES.txt' running install_lib creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/case.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/driver.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/exception.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/fixture.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/httpclient.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/json_parser.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/pytester.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/reporter.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/suitemaker.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi copying build/lib/gabbi/utils.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/custom_response_handler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/simple_wsgi.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_data_to_string.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_driver.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_fixtures.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_handlers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_history.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_inner_fixture.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_intercept.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_jsonpath.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_live.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_load_data_file.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_parse_url.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_replacers.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_runner.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_suite.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_suitemaker.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_syntax_warning.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_unsafe_yaml.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_use_prior_test.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_utils.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/test_yaml_disk_loading_jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests copying build/lib/gabbi/tests/util.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests creating /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/__init__.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/base.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/core.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers copying build/lib/gabbi/handlers/yaml_disk_loading_jsonhandler.py -> /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/driver.py to driver.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/fixture.py to fixture.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/httpclient.py to httpclient.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/json_parser.py to json_parser.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/reporter.py to reporter.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suitemaker.py to suitemaker.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_history.py to test_history.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_inner_fixture.py to test_inner_fixture.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_live.py to test_live.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/util.py to util.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/core.py to core.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-313.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/yaml_disk_loading_jsonhandler.py to yaml_disk_loading_jsonhandler.cpython-313.pyc running install_egg_info Copying gabbi.egg-info to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info Skipping SOURCES.txt running install_scripts Installing gabbi-run script to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/bin + for pyvers in ${PYTHON3S} ++ pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-gabbi-3.0.0/debian/tmp /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) /usr/lib/python3/dist-packages/setuptools/command/develop.py:41: EasyInstallDeprecationWarning: easy_install command is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` and ``easy_install``. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://github.com/pypa/setuptools/issues/917 for details. ******************************************************************************** !! easy_install.initialize_options(self) /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() /usr/lib/python3/dist-packages/pbr/core.py:140: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running build running build_py running egg_info writing gabbi.egg-info/PKG-INFO writing dependency_links to gabbi.egg-info/dependency_links.txt writing entry points to gabbi.egg-info/entry_points.txt writing requirements to gabbi.egg-info/requires.txt writing top-level names to gabbi.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt running install_lib byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/case.py to case.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/driver.py to driver.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/exception.py to exception.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/fixture.py to fixture.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/httpclient.py to httpclient.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/json_parser.py to json_parser.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/pytester.py to pytester.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/reporter.py to reporter.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/runner.py to runner.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suite.py to suite.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/suitemaker.py to suitemaker.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/custom_response_handler.py to custom_response_handler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/simple_wsgi.py to simple_wsgi.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_data_to_string.py to test_data_to_string.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_driver.py to test_driver.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_fixtures.py to test_fixtures.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_handlers.py to test_handlers.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_history.py to test_history.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_inner_fixture.py to test_inner_fixture.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_intercept.py to test_intercept.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_jsonpath.py to test_jsonpath.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_live.py to test_live.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_load_data_file.py to test_load_data_file.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_parse_url.py to test_parse_url.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_replacers.py to test_replacers.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_runner.py to test_runner.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suite.py to test_suite.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_suitemaker.py to test_suitemaker.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_syntax_warning.py to test_syntax_warning.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_unsafe_yaml.py to test_unsafe_yaml.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_use_prior_test.py to test_use_prior_test.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/test_yaml_disk_loading_jsonhandler.py to test_yaml_disk_loading_jsonhandler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/tests/util.py to util.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/core.py to core.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/jsonhandler.py to jsonhandler.cpython-312.pyc byte-compiling /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi/handlers/yaml_disk_loading_jsonhandler.py to yaml_disk_loading_jsonhandler.cpython-312.pyc running install_egg_info removing '/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info' (and everything under it) Copying gabbi.egg-info to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages/gabbi-3.0.0.egg-info Skipping SOURCES.txt running install_scripts Installing gabbi-run script to /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/bin ++ pwd + rm -rf '/build/reproducible-path/python-gabbi-3.0.0/debian/python*/usr/lib/python*/dist-packages/*.pth' ++ pwd + rm -rf '/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python*/dist-packages/*.pth' # test_live are doing internet access. pkgos-dh_auto_test --no-py2 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' + PKGOS_TEST_PARALLEL=yes + PKGOS_TEST_SERIAL=no + PYTHONS=disabled + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= + for i in $@ + case "${1}" in + echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift + for i in $@ + case "${1}" in ++ py3versions -vr + PYTHON3S='3.13 3.12' + '[' yes = no ']' + '[' no = yes ']' + for pyvers in ${PYTHON3S} + '[' 3.13 = disabled ']' ++ echo 3.13 ++ cut -d. -f1 + PYMAJOR=3 + echo '===> Testing with python (python3)' ===> Testing with python (python3) ++ pwd + '[' -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -z '' ']' ++ pwd + echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ++ pwd + export PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages + PYTHONPATH=/build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages + '[' -e .stestr.conf ']' + '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr + PYTHON=python3.13 + stestr run --parallel --subunit 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' + subunit2pyunit /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception ... ok gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop ... ok gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers gabbi.tests.test_handlers.HandlersTest.test_response_headers ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex ... ok gabbi.tests.test_data_to_string.TestDataToString.testHappyPath gabbi.tests.test_data_to_string.TestDataToString.testHappyPath ... ok gabbi.tests.test_data_to_string.TestDataToString.testNoContentType gabbi.tests.test_data_to_string.TestDataToString.testNoContentType ... ok gabbi.tests.test_data_to_string.TestDataToString.testNoHandler gabbi.tests.test_data_to_string.TestDataToString.testNoHandler ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_inner_fixture.inner_get_three.test_request gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_inner_fixture.inner_get_two.test_request gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok gabbi.tests.test_inner_fixture.inner_get_one.test_request gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_use_prior_location.test_request gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok gabbi.tests.test_intercept.self_checklimit.test_request gabbi.tests.test_intercept.self_checklimit.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.skipall_a_skipped_test.test_request gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' gabbi.tests.test_intercept.poll_poller.test_request gabbi.tests.test_intercept.poll_poller.test_request ... ok gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_json.test_request gabbi.tests.test_intercept.regex_regex_string_test_json.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... ok gabbi.tests.test_intercept.self_post_a_body_with_query.test_request gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok gabbi.tests.test_intercept.self_get_ssl_page.test_request gabbi.tests.test_intercept.self_get_ssl_page.test_request ... ok gabbi.tests.test_intercept.self_bogus_method.test_request gabbi.tests.test_intercept.self_bogus_method.test_request ... ok gabbi.tests.test_intercept.self_confirm_environ.test_request gabbi.tests.test_intercept.self_confirm_environ.test_request ... ok gabbi.tests.test_intercept.self_query_returned.test_request gabbi.tests.test_intercept.self_query_returned.test_request ... ok gabbi.tests.test_intercept.self_simple_post.test_request gabbi.tests.test_intercept.self_simple_post.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... ok gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number ... ok gabbi.tests.test_intercept.json-extensions_test_len.test_request gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok gabbi.tests.test_intercept.self_test_binary_handling.test_request gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok gabbi.tests.test_intercept.last-url_get_prior_url.test_request gabbi.tests.test_intercept.last-url_get_prior_url.test_request ... ok gabbi.tests.test_intercept.self_fail_pluggable_response.test_request gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure gabbi.tests.test_intercept.self_fail_pluggable_response.test_request gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_use_a_historical_location.test_request gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... ok Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' gabbi.tests.test_intercept.self_post_a_body.test_request gabbi.tests.test_intercept.self_post_a_body.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch ... ok gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok gabbi.tests.test_intercept.poll_create_a_thing.test_request gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close gabbi.tests.test_intercept.self_test_exception_wrapper.test_request gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex ... ok gabbi.tests.test_intercept.self_test_exception_wrapper.test_request gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok gabbi.tests.test_intercept.queryparams_joined_params.test_request gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok gabbi.tests.test_intercept.queryparams_simple_param.test_request gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... ok gabbi.tests.test_intercept.self_json_derived_content_type.test_request gabbi.tests.test_intercept.self_json_derived_content_type.test_request ... ok gabbi.tests.test_intercept.failskip_wrong_status.test_request gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure gabbi.tests.test_intercept.failskip_wrong_status.test_request gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok gabbi.tests.test_intercept.self_test_pluggable_response.test_request gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok gabbi.tests.test_intercept.poll_loop_location.test_request gabbi.tests.test_intercept.poll_loop_location.test_request ... ok gabbi.tests.test_intercept.last-url_add_some_query_params.test_request gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... ok gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_no_host.test_request gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok gabbi.tests.test_intercept.json-extensions_test_sort.test_request gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request ... ok gabbi.tests.test_intercept.poll_poller_fail.test_request gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure gabbi.tests.test_intercept.poll_poller_fail.test_request gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok gabbi.tests.test_intercept.queryparams_url_in_param.test_request gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_with_host.test_request gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see.test_request gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_one.test_request gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler ... ok gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings gabbi.tests.test_handlers.HandlersTest.test_response_strings ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload ... ok gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok gabbi.tests.test_intercept.json-extensions_test_filtered.test_request gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close gabbi.tests.test_intercept.self_get_simple_page.test_request gabbi.tests.test_intercept.self_get_simple_page.test_request ... ok if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' gabbi.tests.test_intercept.method-shortcut_simple_get.test_request gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok gabbi.tests.test_intercept.data_load_data_list.test_request gabbi.tests.test_intercept.data_load_data_list.test_request ... ok gabbi.tests.test_intercept.contenttype_put_content-type.test_request gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok gabbi.tests.test_intercept.host-header_host_without_ssl.test_request gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok gabbi.tests.test_intercept.header-key_header_named_http.test_request gabbi.tests.test_intercept.header-key_header_named_http.test_request ... ok gabbi.tests.test_intercept.casting_default_casts.test_request gabbi.tests.test_intercept.casting_default_casts.test_request ... ok gabbi.tests.test_intercept.method-shortcut_simple_post.test_request gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok gabbi.tests.test_intercept.casting_cast_to_string.test_request gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok gabbi.tests.test_intercept.self_get_location_from_headers.test_request gabbi.tests.test_intercept.self_get_location_from_headers.test_request ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok gabbi.tests.test_intercept.cookie_get_a_cookie.test_request gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int ... ok gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params ... ok gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_full gabbi.tests.test_parse_url.UrlParseTest.test_parse_full ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_url gabbi.tests.test_parse_url.UrlParseTest.test_parse_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl ... ok #### confirm notempty #### > GET http://2c2c963d-9cda-422d-b92f-94c861d947cf:8001/notempty > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK notempty #### get simple page #### > GET http://c5e5d672-1eb5-4d39-aaa5-c3903e17f025:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c5e5d672-1eb5-4d39-aaa5-c3903e17f025:8001/ {} #### default casts #### > POST http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ < Location: http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ < Location: http://1fef3b61-5d0d-4d66-93d3-130a3f026397:8001/ { "string": "2" } gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... expected failure gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_two.test_request gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_three.test_request gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok gabbi.tests.test_intercept.data_load_json_file.test_request gabbi.tests.test_intercept.data_load_json_file.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok gabbi.tests.test_intercept.data_load_data_dictionary.test_request gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok gabbi.tests.test_intercept.self_xml_derived_content_type.test_request gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_xml_derived_content_type.test_request gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok gabbi.tests.test_intercept.regex_regex_header_test.test_request gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok gabbi.tests.test_intercept.data_json_value_from_disk.test_request gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok gabbi.tests.test_intercept.data_load_image_file.test_request gabbi.tests.test_intercept.data_load_image_file.test_request ... ok gabbi.tests.test_intercept.data_post_data_for_next.test_request gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok gabbi.tests.test_intercept.contenttype_post_content-type.test_request gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok gabbi.tests.test_intercept.contenttype_patch_content-type.test_request gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok gabbi.tests.test_intercept.queryparams_multi_params.test_request gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok gabbi.tests.test_intercept.queryparams_unicode.test_request gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok gabbi.tests.test_intercept.coerce_use_data.test_request gabbi.tests.test_intercept.coerce_use_data.test_request ... ok gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok gabbi.tests.test_intercept.coerce_post_data.test_request gabbi.tests.test_intercept.coerce_post_data.test_request ... ok gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... expected failure gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... ok gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok gabbi.tests.test_intercept.failskip_skip_me.test_request gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok #### get simple page #### > GET http://679dc823-1966-4948-a431-fa7eca713c42:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://679dc823-1966-4948-a431-fa7eca713c42:8001/ {} #### yaml encoded value from disk #### > POST http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere < Location: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere < Location: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### yaml parital from disk #### > POST http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere < Location: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere { "type": "cat", "sound": "meow" } #### yaml partial both sides #### > POST http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere < Location: http://aef7e7a7-de42-44ca-bc27-36723b771a74:8001/somewhere [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] gabbi.tests.test_intercept.data_load_encoded_text.test_request gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok gabbi.tests.test_intercept.coerce_from_environ.test_request gabbi.tests.test_intercept.coerce_from_environ.test_request ... ok gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok gabbi.tests.test_intercept.casting_send_casted_json.test_request gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok gabbi.tests.test_intercept.data_partial_json_from_disk.test_request gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok gabbi.tests.test_intercept.coerce_with_list.test_request gabbi.tests.test_intercept.coerce_with_list.test_request ... ok #### get simple page #### > GET http://94f79857-82a2-454d-9d9a-b2914c22b6e3:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://94f79857-82a2-454d-9d9a-b2914c22b6e3:8001/ {} #### json encoded value from disk #### > POST http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ < Location: http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ { "foo": { "b\u00e1r": 1 } } #### json parital from disk #### > POST http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ < Location: http://c689b99d-e577-43d4-9db7-e7ad9f399d56:8001/ { "type": "cat", "sound": "meow" } #### post data #### > POST http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ < Location: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ < Location: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ < Location: http://cbc1e4ea-dfa2-4918-83e6-0e1fcbf4a27a:8001/ { "one_environ": 1 } #### yaml encoded value from disk #### > POST http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere < Location: http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere < Location: http://04bc8ac9-8a58-49f7-ab74-a86dcf44dab1:8001/somewhere { "foo": { "b\u00e1r": 1 } } gabbi.tests.test_intercept.casting_internal_json_fine.test_request gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok gabbi.tests.test_intercept.coerce_post_extra_data.test_request gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_port gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_simple gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok #### get simple page #### > GET http://c039fb55-f1dd-456b-bb75-d4f6fc6ecff7:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c039fb55-f1dd-456b-bb75-d4f6fc6ecff7:8001/ {} #### post data #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ { "one_environ": 1 } #### with list #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ < Location: http://0cd020c9-bd7d-4234-9906-f5ee81bf93c2:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } gabbi.tests.test_intercept.backref_post_some_more_json.test_request gabbi.tests.test_intercept.backref_post_some_more_json.test_request ... ok gabbi.tests.test_intercept.backref_post_even_more_json.test_request gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... ok gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok gabbi.tests.test_runner.RunnerTest.test_custom_response_handler gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok gabbi.tests.test_runner.RunnerTest.test_data_dir_good gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_exit_code gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_input_files gabbi.tests.test_runner.RunnerTest.test_input_files ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok gabbi.tests.test_intercept.backref_get_a_historical_response.test_request gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_target_url_parsing gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok #### get simple page #### > GET http://5847db1a-085e-4b4a-a6cb-73c31314c2f4:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://5847db1a-085e-4b4a-a6cb-73c31314c2f4:8001/ {} #### left side json one #### > POST http://c1bec04e-bf80-49ba-8d80-6414acd9c02b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c1bec04e-bf80-49ba-8d80-6414acd9c02b:8001/ < Location: http://c1bec04e-bf80-49ba-8d80-6414acd9c02b:8001/ { "alpha": "alpha1", "beta": "beta1" } #### post data #### > POST http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ < Location: http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ < Location: http://7fc2e35f-b3c1-4991-8887-42c95fed1c73:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### default casts #### > POST http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ < Location: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ < Location: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ { "string": "2" } #### json set up #### > POST http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ < Location: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ < Location: http://bc1022e5-0018-47a2-bf62-1faf025da42d:8001/ { "casted": 2 } /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok gabbi.tests.test_utils.BinaryTypesTest.test_binary gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok gabbi.tests.test_utils.BinaryTypesTest.test_not_binary gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok #### get simple page #### > GET http://a305563f-512a-4a29-b4aa-cc6b27075f24:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a305563f-512a-4a29-b4aa-cc6b27075f24:8001/ {} #### json encoded value from disk #### > POST http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ < Location: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ { "foo": { "b\u00e1r": 1 } } #### json parital from disk #### > POST http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ < Location: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ { "type": "cat", "sound": "meow" } #### json partial both sides #### > POST http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ < Location: http://9662d362-5aa5-4f89-b0f1-b0ef5a2e1761:8001/ [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] #### post data #### > POST http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ < Location: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ < Location: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ < Location: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ { "one_environ": 1 } #### with list #### > POST http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ < Location: http://bdb99da1-833d-4090-843e-563eaaa958e6:8001/ [ 1, 2, "3" ] #### get simple page #### > GET http://59f0edd2-cb44-413a-aef1-351ba09e8750:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://59f0edd2-cb44-413a-aef1-351ba09e8750:8001/ {} #### loop location #### > GET http://d08bc6fd-8b0d-4735-9426-4a3010205444:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 400 Bad Reqest #### loop location #### > GET http://d08bc6fd-8b0d-4735-9426-4a3010205444:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 400 Bad Reqest #### loop location #### > GET http://d08bc6fd-8b0d-4735-9426-4a3010205444:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d08bc6fd-8b0d-4735-9426-4a3010205444:8001/poller?count=2&x=1&y=2&z=3.4 { "count": [ "2" ], "x": [ "1" ], "y": [ "2" ], "z": [ "3.4" ] } #### left side json one #### > POST http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ < Location: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ < Location: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ < Location: http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### set key and value #### > GET http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### check key and value #### > GET http://8d3b3728-c24a-4ff4-9823-e078646ce0cc:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### header named http #### > GET http://bbbdd1cb-f726-409a-9789-b02d13eec7c5:8001/header_key > http: some-scheme > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://bbbdd1cb-f726-409a-9789-b02d13eec7c5:8001/header_key < HTTP: some-scheme {} #### default casts #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "string": "2" } #### json set up #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "casted": 2 } #### historic casted json #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "casted": 2 } #### internal json fine #### > POST http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": "in this 2 is not errors" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ < Location: http://ac176b27-2dbf-4f3c-86ac-1a98258f7831:8001/ { "casted": "in this 2 is not errors" } gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok #### get simple page #### > GET http://83ab7ea5-11bd-48f5-a104-ef641522e0d7:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://83ab7ea5-11bd-48f5-a104-ef641522e0d7:8001/ {} #### left side json one #### > POST http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ < Location: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ < Location: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ < Location: http://a2b3ac17-7be7-4729-b797-e947c55605c0:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### yaml encoded value from disk #### > POST http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere < Location: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere < Location: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### yaml parital from disk #### > POST http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere < Location: http://4bccc087-8fcb-4604-8333-96e47c5b7512:8001/somewhere { "type": "cat", "sound": "meow" } /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_driver.DriverTest.test_build_require_ssl gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok gabbi.tests.test_driver.DriverTest.test_build_url_target gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok gabbi.tests.test_driver.DriverTest.test_driver_prefix gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_history gabbi.tests.test_history.HistoryTest.test_cookie_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_prior gabbi.tests.test_history.HistoryTest.test_header_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_with_history gabbi.tests.test_history.HistoryTest.test_header_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_history gabbi.tests.test_history.HistoryTest.test_location_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_prior gabbi.tests.test_history.HistoryTest.test_location_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_with_history gabbi.tests.test_history.HistoryTest.test_response_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_history gabbi.tests.test_history.HistoryTest.test_url_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior gabbi.tests.test_history.HistoryTest.test_url_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok #### get simple page #### > GET http://13887b86-c5b7-4ff8-aade-d523e010b6d4:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://13887b86-c5b7-4ff8-aade-d523e010b6d4:8001/ {} #### json encoded value from disk #### > POST http://e15de9d9-1e61-4b46-a536-576686523922:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://e15de9d9-1e61-4b46-a536-576686523922:8001/ < Location: http://e15de9d9-1e61-4b46-a536-576686523922:8001/ { "foo": { "b\u00e1r": 1 } } #### post data #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "one_environ": 1 } #### with list #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ < Location: http://178c4220-722c-424e-a1c7-e2a648a6bea5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/http/client.py", line 434, in close if self.fp: AttributeError: 'HTTPResponse' object has no attribute 'fp' gabbi.tests.test_intercept.coerce_string_internal_replace.test_request gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok gabbi.tests.test_intercept.self_non_json_response_failure.test_request gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure gabbi.tests.test_intercept.self_non_json_response_failure.test_request gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request ... ok gabbi.tests.test_intercept.failskip_non_existent_header.test_request gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure gabbi.tests.test_intercept.failskip_non_existent_header.test_request gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok #### get simple page #### > GET http://ca4e876b-9c79-46ee-9adc-d27e53a0fab3:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ca4e876b-9c79-46ee-9adc-d27e53a0fab3:8001/ {} #### post data #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "one_environ": 1 } #### with list #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results (reversed) #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### string internal replace #### > POST http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ < Location: http://ec3a3b34-0616-492d-9bec-e942e641d13a:8001/ { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" } #### default casts #### > POST http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ < Location: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ < Location: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ { "string": "2" } #### json set up #### > POST http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ < Location: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false }gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok gabbi.tests.test_intercept.casting_historic_casted_json.test_request gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok #### send casted json #### > POST http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ < Location: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ { "casted": 2 } #### historic casted json #### > POST http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ < Location: http://612a735f-c1a6-4a2e-a809-09c34bd59654:8001/ { "casted": 2 } gabbi.tests.test_intercept.coerce_object_with_list.test_request gabbi.tests.test_intercept.coerce_object_with_list.test_request ... ok gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok #### get simple page #### > GET http://67266628-9f3c-4839-80f8-cd0a3889f52f:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://67266628-9f3c-4839-80f8-cd0a3889f52f:8001/ {} #### left side json one #### > POST http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ < Location: http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ < Location: http://75973db6-6e45-4f36-a18e-65a605ba234e:8001/ { "alpha1": "alpha", "beta1": "beta" } #### post data #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "one_environ": 1 } #### with list #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results (reversed) #### > POST http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ < Location: http://dbec6474-3891-4473-9b30-90881b3421d3:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### default casts #### > POST http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ < Location: http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ < Location: http://f5af428c-6494-41f3-8d9f-ac19020b30fe:8001/ { "string": "2" } gabbi.tests.test_intercept.coerce_check_posted_data.test_request gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok gabbi.tests.test_intercept.casting_json_set_up.test_request gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok #### get simple page #### > GET http://f920c920-fb62-4f37-8370-20dd4c8487c4:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://f920c920-fb62-4f37-8370-20dd4c8487c4:8001/ {} #### left side json one #### > POST http://22770650-1d37-44db-9200-183003cd6741:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://22770650-1d37-44db-9200-183003cd6741:8001/ < Location: http://22770650-1d37-44db-9200-183003cd6741:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://22770650-1d37-44db-9200-183003cd6741:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://22770650-1d37-44db-9200-183003cd6741:8001/ < Location: http://22770650-1d37-44db-9200-183003cd6741:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://22770650-1d37-44db-9200-183003cd6741:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://22770650-1d37-44db-9200-183003cd6741:8001/ < Location: http://22770650-1d37-44db-9200-183003cd6741:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### set key and value #### > GET http://22770650-1d37-44db-9200-183003cd6741:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### post data #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "one_environ": 1 } #### with list #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ < Location: http://ec711774-243d-46dc-9074-08be799ad3d9:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### default casts #### > POST http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ < Location: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ < Location: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ { "string": "2" } #### json set up #### > POST http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ < Location: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ < Location: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ { "casted": 2 } #### historic casted json #### > POST http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ > content-type: application/jsongabbi.tests.test_intercept.casting_internal_json_fail.test_request gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure gabbi.tests.test_intercept.casting_internal_json_fail.test_request gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok gabbi.tests.test_intercept.backref_post_some_json.test_request gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url ... ok > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ < Location: http://7cf65226-6fa3-4601-b0f3-86b795c732a3:8001/ { "casted": 2 } ---------------------------------------------------------------------- Ran 314 tests in 19.590s OK (skipped=2, expected failures=15) + stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------ ----------- gabbi.tests.test_driver.DriverTest.test_build_require_ssl 7.760 gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 6.026 gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 5.482 gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request 5.085 gabbi.tests.test_intercept.coerce_post_extra_data.test_request 2.186 gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request 2.116 gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request 1.992 gabbi.tests.test_intercept.casting_internal_json_fine.test_request 1.878 gabbi.tests.test_intercept.casting_send_casted_json.test_request 1.443 gabbi.tests.test_intercept.self_json_derived_content_type.test_request 1.395 + rm -rf .stestr + for pyvers in ${PYTHON3S} + '[' 3.12 = disabled ']' ++ cut -d. -f1 ++ echo 3.12 + PYMAJOR=3 + echo '===> Testing with python (python3)' ===> Testing with python (python3) ++ pwd + '[' -d /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -z /build/reproducible-path/python-gabbi-3.0.0/debian/tmp/usr/lib/python3/dist-packages ']' + '[' -e .stestr.conf ']' + '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr + PYTHON=python3.12 + subunit2pyunit + stestr run --parallel --subunit 'gabbi\.tests\.(?!test_live.*|test_intercept\.prefix_get_that_link\.test_request|test_intercept\.prefix_get_relative_link\.test_request|test_intercept\.prefix_provide_a_link\.test_request)' /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_history.HistoryTest.test_cookie_replace_history gabbi.tests.test_history.HistoryTest.test_cookie_replace_history ... ok gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types gabbi.tests.test_handlers.TestJSONHandlerAccept.test_many_content_types ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_cookie_replace_prior_regex ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_prior gabbi.tests.test_history.HistoryTest.test_header_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_with_history gabbi.tests.test_history.HistoryTest.test_header_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex gabbi.tests.test_history.HistoryTest.test_header_replace_with_history_regex ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_history gabbi.tests.test_history.HistoryTest.test_location_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_prior gabbi.tests.test_history.HistoryTest.test_location_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_location_replace_prior_regex ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_inner_fixture.inner_get_three.test_request gabbi.tests.test_inner_fixture.inner_get_three.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler gabbi.tests.test_handlers.HandlersTest.test_empty_response_handler ... ok gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify gabbi.tests.test_handlers.HandlersTest.test_resonse_headers_stringify ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers gabbi.tests.test_handlers.HandlersTest.test_response_headers ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_data ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header gabbi.tests.test_handlers.HandlersTest.test_response_headers_fail_header ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_match ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_headers_noregex_path_nomatch ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_match ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_headers_regex_path_nomatch ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_esc_regex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_noregex ... ok gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex gabbi.tests.test_handlers.HandlersTest.test_response_headers_substitute_regex ... ok gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception gabbi.tests.test_fixtures.FixtureTest.test_fixture_informs_on_exception ... ok gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop gabbi.tests.test_fixtures.FixtureTest.test_fixture_starts_and_stop ... ok gabbi.tests.test_data_to_string.TestDataToString.testHappyPath gabbi.tests.test_data_to_string.TestDataToString.testHappyPath ... ok gabbi.tests.test_data_to_string.TestDataToString.testNoContentType gabbi.tests.test_data_to_string.TestDataToString.testNoContentType ... ok gabbi.tests.test_data_to_string.TestDataToString.testNoHandler gabbi.tests.test_data_to_string.TestDataToString.testNoHandler ... ok gabbi.tests.test_inner_fixture.inner_get_one.test_request gabbi.tests.test_inner_fixture.inner_get_one.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_get_simple_page.test_request gabbi.tests.test_intercept.self_get_simple_page.test_request ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior gabbi.tests.test_history.HistoryTest.test_response_replace_prior ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths gabbi.tests.test_handlers.HandlersTest.test_response_json_paths ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_dict_type ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_response_replace_prior_regex ... ok gabbi.tests.test_intercept.self_simple_post.test_request gabbi.tests.test_intercept.self_simple_post.test_request ... ok gabbi.tests.test_intercept.self_use_a_historical_location.test_request gabbi.tests.test_intercept.self_use_a_historical_location.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request gabbi.tests.test_intercept.regex_regex_string_test_multiline.test_request ... ok gabbi.tests.test_history.HistoryTest.test_response_replace_with_history gabbi.tests.test_history.HistoryTest.test_response_replace_with_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_history gabbi.tests.test_history.HistoryTest.test_url_replace_history ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior gabbi.tests.test_history.HistoryTest.test_url_replace_prior ... ok gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex gabbi.tests.test_history.HistoryTest.test_url_replace_prior_regex ... ok gabbi.tests.test_intercept.queryparams_joined_params.test_request gabbi.tests.test_intercept.queryparams_joined_params.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_data ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_bogus_method.test_request gabbi.tests.test_intercept.self_bogus_method.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_fail_path ... ok gabbi.tests.test_intercept.self_query_returned.test_request gabbi.tests.test_intercept.self_query_returned.test_request ... ok gabbi.tests.test_intercept.self_post_a_body.test_request gabbi.tests.test_intercept.self_post_a_body.test_request ... ok gabbi.tests.test_intercept.self_get_location_from_headers.test_request gabbi.tests.test_intercept.self_get_location_from_headers.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path ... ok gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request gabbi.tests.test_intercept.regex_regex_string_test_mix.test_request ... ok gabbi.tests.test_intercept.self_confirm_environ.test_request gabbi.tests.test_intercept.self_confirm_environ.test_request ... ok gabbi.tests.test_intercept.queryparams_simple_param.test_request gabbi.tests.test_intercept.queryparams_simple_param.test_request ... ok gabbi.tests.test_intercept.self_post_a_body_with_query.test_request gabbi.tests.test_intercept.self_post_a_body_with_query.test_request ... ok gabbi.tests.test_intercept.skipall_a_skipped_test.test_request gabbi.tests.test_intercept.skipall_a_skipped_test.test_request ... skipped 'entire suite skipped' gabbi.tests.test_intercept.poll_poller_fail.test_request gabbi.tests.test_intercept.poll_poller_fail.test_request ... expected failure gabbi.tests.test_intercept.poll_poller_fail.test_request gabbi.tests.test_intercept.poll_poller_fail.test_request ... ok gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... expected failure gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request gabbi.tests.test_intercept.self_confirm_environ_no_key_fail.test_request ... ok gabbi.tests.test_intercept.self_test_pluggable_response.test_request gabbi.tests.test_intercept.self_test_pluggable_response.test_request ... ok gabbi.tests.test_intercept.self_fail_pluggable_response.test_request gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... expected failure gabbi.tests.test_intercept.self_fail_pluggable_response.test_request gabbi.tests.test_intercept.self_fail_pluggable_response.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_from_disk_json_path_fail ... ok gabbi.tests.test_intercept.method-shortcut_simple_post.test_request gabbi.tests.test_intercept.method-shortcut_simple_post.test_request ... ok gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request gabbi.tests.test_intercept.last-url_now_last_url_does_not_have_those_query_params.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_inner_fixture.inner_get_two.test_request gabbi.tests.test_inner_fixture.inner_get_two.test_request ... ok gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request gabbi.tests.test_intercept.verbosity_confirm_notempty.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex ... ok gabbi.tests.test_intercept.queryparams_url_in_param.test_request gabbi.tests.test_intercept.queryparams_url_in_param.test_request ... ok gabbi.tests.test_intercept.self_test_exception_wrapper.test_request gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... expected failure gabbi.tests.test_intercept.self_test_exception_wrapper.test_request gabbi.tests.test_intercept.self_test_exception_wrapper.test_request ... ok gabbi.tests.test_intercept.method-shortcut_simple_get.test_request gabbi.tests.test_intercept.method-shortcut_simple_get.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_number ... ok gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request gabbi.tests.test_intercept.last-url_last_with_adjusted_parameters.test_request ... ok gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request gabbi.tests.test_intercept.last-url_get_a_historical_url.test_request ... ok gabbi.tests.test_intercept.self_json_derived_content_type.test_request gabbi.tests.test_intercept.self_json_derived_content_type.test_request ... ok gabbi.tests.test_intercept.regex_regex_string_test_json.test_request gabbi.tests.test_intercept.regex_regex_string_test_json.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_match ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request gabbi.tests.test_intercept.self_get_historical_location_from_headers.test_request ... ok gabbi.tests.test_intercept.regex_regex_header_test.test_request gabbi.tests.test_intercept.regex_regex_header_test.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request gabbi.tests.test_intercept.jsonbody_test_empty_dict.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_regex_path_nomatch ... ok gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request gabbi.tests.test_intercept.regex_regex_string_test_splat.test_request ... ok gabbi.tests.test_intercept.self_xml_derived_content_type.test_request gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... expected failure gabbi.tests.test_intercept.self_xml_derived_content_type.test_request gabbi.tests.test_intercept.self_xml_derived_content_type.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_esc_regex ... ok gabbi.tests.test_intercept.self_use_prior_location.test_request gabbi.tests.test_intercept.self_use_prior_location.test_request ... ok gabbi.tests.test_intercept.poll_create_a_thing.test_request gabbi.tests.test_intercept.poll_create_a_thing.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see.test_request gabbi.tests.test_intercept.fixture_just_to_see.test_request ... ok gabbi.tests.test_intercept.data_load_data_list.test_request gabbi.tests.test_intercept.data_load_data_list.test_request ... ok gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request gabbi.tests.test_intercept.queryparams_replacers_in_params.test_request ... ok gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request gabbi.tests.test_intercept.json-left-side_left_side_json_one.test_request ... ok gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request gabbi.tests.test_intercept.method-shortcut_post_with_query.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_noregex ... ok gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request gabbi.tests.test_intercept.method-shortcut_arbitrary_method.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_with_host.test_request gabbi.tests.test_intercept.host-header_ssl_with_host.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request gabbi.tests.test_intercept.host-header_ssl_with_capitalised_host.test_request ... ok gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request gabbi.tests.test_intercept.forbiddenheaders_header_not_there_basic.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_substitution_regex ... ok gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... expected failure gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail.test_request ... ok gabbi.tests.test_intercept.queryparams_multi_params.test_request gabbi.tests.test_intercept.queryparams_multi_params.test_request ... ok gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request gabbi.tests.test_intercept.cookie_use_that_cookie_in_a_url.test_request ... ok gabbi.tests.test_intercept.contenttype_post_content-type.test_request gabbi.tests.test_intercept.contenttype_post_content-type.test_request ... ok gabbi.tests.test_intercept.contenttype_patch_content-type.test_request gabbi.tests.test_intercept.contenttype_patch_content-type.test_request ... ok gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request gabbi.tests.test_intercept.regex_regex_jsonpath_test.test_request ... ok gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request gabbi.tests.test_intercept.last-url_get_that_same_url_again.test_request ... ok gabbi.tests.test_intercept.queryparams_unicode.test_request gabbi.tests.test_intercept.queryparams_unicode.test_request ... ok gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... expected failure gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_fail.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request gabbi.tests.test_intercept.jsonbody_test_fully_body.test_request ... ok gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request gabbi.tests.test_intercept.json-left-side_expand_environ_left_side.test_request ... ok gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler gabbi.tests.test_handlers.HandlersTest.test_response_json_paths_yamlhandler ... ok gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type gabbi.tests.test_handlers.HandlersTest.test_response_string_list_type ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings gabbi.tests.test_handlers.HandlersTest.test_response_strings ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_output ... ok gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload gabbi.tests.test_handlers.HandlersTest.test_response_strings_fail_big_payload ... ok gabbi.tests.test_intercept.failskip_non_existent_header.test_request gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... expected failure gabbi.tests.test_intercept.failskip_non_existent_header.test_request gabbi.tests.test_intercept.failskip_non_existent_header.test_request ... ok gabbi.tests.test_intercept.cookie_get_a_cookie.test_request gabbi.tests.test_intercept.cookie_get_a_cookie.test_request ... ok gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request gabbi.tests.test_intercept.contenttype_put_no_content-type.test_request ... ok gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request gabbi.tests.test_intercept.json-left-side_check_key_and_value.test_request ... ok gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request gabbi.tests.test_intercept.json-left-side_expand_left_side.test_request ... ok gabbi.tests.test_intercept.failskip_skip_me.test_request gabbi.tests.test_intercept.failskip_skip_me.test_request ... skipped "Skipping for now because we can't do it" gabbi.tests.test_intercept.host-header_host_without_ssl.test_request gabbi.tests.test_intercept.host-header_host_without_ssl.test_request ... ok gabbi.tests.test_intercept.header-key_header_named_http.test_request gabbi.tests.test_intercept.header-key_header_named_http.test_request ... ok gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request gabbi.tests.test_intercept.self_inheritance_of_defaults.test_request ... ok gabbi.tests.test_intercept.data_post_data_for_next.test_request gabbi.tests.test_intercept.data_post_data_for_next.test_request ... ok gabbi.tests.test_intercept.failskip_wrong_status.test_request gabbi.tests.test_intercept.failskip_wrong_status.test_request ... expected failure gabbi.tests.test_intercept.failskip_wrong_status.test_request gabbi.tests.test_intercept.failskip_wrong_status.test_request ... ok gabbi.tests.test_intercept.contenttype_put_content-type.test_request gabbi.tests.test_intercept.contenttype_put_content-type.test_request ... ok gabbi.tests.test_intercept.self_checklimit.test_request gabbi.tests.test_intercept.self_checklimit.test_request ... ok gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request gabbi.tests.test_intercept.last-url_get_a_url_the_first_time.test_request ... ok gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request gabbi.tests.test_intercept.last-url_get_it_a_third_time.test_request ... ok gabbi.tests.test_intercept.last-url_add_some_query_params.test_request gabbi.tests.test_intercept.last-url_add_some_query_params.test_request ... ok gabbi.tests.test_intercept.json-extensions_test_len.test_request gabbi.tests.test_intercept.json-extensions_test_len.test_request ... ok gabbi.tests.test_intercept.self_non_json_response_failure.test_request gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... expected failure gabbi.tests.test_intercept.self_non_json_response_failure.test_request gabbi.tests.test_intercept.self_non_json_response_failure.test_request ... ok gabbi.tests.test_intercept.host-header_ssl_no_host.test_request gabbi.tests.test_intercept.host-header_ssl_no_host.test_request ... ok gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request gabbi.tests.test_intercept.jsonbody_test_empty_list.test_request ... ok gabbi.tests.test_intercept.poll_poller.test_request gabbi.tests.test_intercept.poll_poller.test_request ... ok gabbi.tests.test_intercept.last-url_get_prior_url.test_request gabbi.tests.test_intercept.last-url_get_prior_url.test_request ... ok gabbi.tests.test_intercept.data_load_data_dictionary.test_request gabbi.tests.test_intercept.data_load_data_dictionary.test_request ... ok gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request gabbi.tests.test_intercept.cookie_use_a_historical_cookie.test_request ... ok gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request gabbi.tests.test_intercept.json-right-side_json_encoded_value_from_disk.test_request ... ok gabbi.tests.test_intercept.data_load_json_file.test_request gabbi.tests.test_intercept.data_load_json_file.test_request ... ok gabbi.tests.test_intercept.backref_post_some_more_json.test_request gabbi.tests.test_intercept.backref_post_some_more_json.test_request ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_already_bracket ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_full ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port gabbi.tests.test_utils.CreateURLTest.test_create_url_ipv6_ssl_weird_port ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon gabbi.tests.test_utils.CreateURLTest.test_create_url_no_double_colon ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 gabbi.tests.test_utils.CreateURLTest.test_create_url_not_ssl_on_443 ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_port gabbi.tests.test_utils.CreateURLTest.test_create_url_port ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_port_and_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix gabbi.tests.test_utils.CreateURLTest.test_create_url_prefix ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query gabbi.tests.test_utils.CreateURLTest.test_create_url_preserve_query ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_simple gabbi.tests.test_utils.CreateURLTest.test_create_url_simple ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl ... ok gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 gabbi.tests.test_utils.CreateURLTest.test_create_url_ssl_on_80 ... ok gabbi.tests.test_intercept.json-extensions_test_sort.test_request gabbi.tests.test_intercept.json-extensions_test_sort.test_request ... ok gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... expected failure gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request gabbi.tests.test_intercept.forbiddenheaders_header_is_there_fail_case_insensitive.test_request ... ok gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request gabbi.tests.test_intercept.disable-response-handler_get_some_not_json_gloss.test_request ... ok gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request gabbi.tests.test_intercept.contenttype_post_no_content-type.test_request ... ok gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request gabbi.tests.test_intercept.json-right-side_json_parital_from_disk.test_request ... ok gabbi.tests.test_intercept.data_json_value_from_disk.test_request gabbi.tests.test_intercept.data_json_value_from_disk.test_request ... ok gabbi.tests.test_intercept.coerce_use_data.test_request gabbi.tests.test_intercept.coerce_use_data.test_request ... ok gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request ... ok gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... expected failure gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request gabbi.tests.test_intercept.cookie_confirm_no_cookies_causes_error.test_request ... ok gabbi.tests.test_intercept.data_partial_json_from_disk.test_request gabbi.tests.test_intercept.data_partial_json_from_disk.test_request ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_json_encoded_value_from_disk.test_request ... ok #### get simple page #### > GET http://a7bb6815-1cd6-49be-8b79-6eaa82b2d342:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a7bb6815-1cd6-49be-8b79-6eaa82b2d342:8001/ {} #### yaml encoded value from disk #### > POST http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere < Location: http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere < Location: http://6d21059a-0e57-4841-97ab-b9378583de9f:8001/somewhere { "foo": { "b\u00e1r": 1 } } gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request gabbi.tests.test_intercept.json-left-side_set_key_and_value.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_two.test_request gabbi.tests.test_intercept.fixture_just_to_see_two.test_request ... ok gabbi.tests.test_intercept.data_load_encoded_text.test_request gabbi.tests.test_intercept.data_load_encoded_text.test_request ... ok gabbi.tests.test_intercept.json-extensions_test_filtered.test_request gabbi.tests.test_intercept.json-extensions_test_filtered.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_one.test_request gabbi.tests.test_intercept.fixture_just_to_see_one.test_request ... ok gabbi.tests.test_intercept.coerce_object_with_list.test_request gabbi.tests.test_intercept.coerce_object_with_list.test_request ... ok gabbi.tests.test_intercept.coerce_post_data.test_request gabbi.tests.test_intercept.coerce_post_data.test_request ... ok gabbi.tests.test_intercept.casting_cast_to_string.test_request gabbi.tests.test_intercept.casting_cast_to_string.test_request ... ok gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... expected failure gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request gabbi.tests.test_intercept.casting_cast_to_int_internal.test_request ... ok gabbi.tests.test_intercept.casting_default_casts.test_request gabbi.tests.test_intercept.casting_default_casts.test_request ... ok gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail gabbi.tests.test_suite.SuiteTest.test_suite_catches_fixture_fail ... ok gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color gabbi.tests.test_utils.ColorizeTest.test_colorize_missing_color ... ok #### get simple page #### > GET http://fa59d56c-8d2e-42f8-875d-e4f5ab56b02e:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://fa59d56c-8d2e-42f8-875d-e4f5ab56b02e:8001/ {} #### post data #### > POST http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ < Location: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ < Location: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ < Location: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ { "one_environ": 1 } #### with list #### > POST http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ < Location: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ < Location: http://62d6595c-997d-4641-9a40-55f5223da90e:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### default casts #### > POST http://0fc3ceea-a567-4dc5-a2a1-9d1e34288abf:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://0fc3ceea-a567-4dc5-a2a1-9d1e34288abf:8001/ < Location: http://0fc3ceea-a567-4dc5-a2a1-9d1e34288abf:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } gabbi.tests.test_intercept.data_load_image_file.test_request gabbi.tests.test_intercept.data_load_image_file.test_request ... ok gabbi.tests.test_intercept.casting_json_set_up.test_request gabbi.tests.test_intercept.casting_json_set_up.test_request ... ok gabbi.tests.test_intercept.coerce_from_environ.test_request gabbi.tests.test_intercept.coerce_from_environ.test_request ... ok gabbi.tests.test_intercept.casting_historic_casted_json.test_request gabbi.tests.test_intercept.casting_historic_casted_json.test_request ... ok #### get simple page #### > GET http://8bfeaab3-9ce7-4da5-a10b-78acd3e382db:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8bfeaab3-9ce7-4da5-a10b-78acd3e382db:8001/ {} #### left side json one #### > POST http://2a5508b4-3383-4a07-809a-9dbb2d9ef4be:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://2a5508b4-3383-4a07-809a-9dbb2d9ef4be:8001/ < Location: http://2a5508b4-3383-4a07-809a-9dbb2d9ef4be:8001/ { "alpha": "alpha1", "beta": "beta1" } #### default casts #### > POST http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ < Location: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ < Location: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ { "string": "2" } #### json set up #### > POST http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ < Location: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ < Location: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ { "casted": 2 } #### historic casted json #### > POST http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ < Location: http://160cf498-cb9b-4ecf-8bf7-aaab3f6e0c3f:8001/ { "casted": 2 } gabbi.tests.test_intercept.coerce_with_list.test_request gabbi.tests.test_intercept.coerce_with_list.test_request ... ok gabbi.tests.test_intercept.casting_internal_json_fine.test_request gabbi.tests.test_intercept.casting_internal_json_fine.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_driver.DriverTest.test_build_require_ssl gabbi.tests.test_driver.DriverTest.test_build_require_ssl ... ok gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept gabbi.tests.test_driver.DriverTest.test_build_requires_host_or_intercept ... ok gabbi.tests.test_driver.DriverTest.test_build_url_target gabbi.tests.test_driver.DriverTest.test_build_url_target ... ok gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl gabbi.tests.test_driver.DriverTest.test_build_url_target_forced_ssl ... ok gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test gabbi.tests.test_driver.DriverTest.test_build_url_use_prior_test ... ok gabbi.tests.test_intercept.casting_send_casted_json.test_request gabbi.tests.test_intercept.casting_send_casted_json.test_request ... ok gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host gabbi.tests.test_driver.DriverTest.test_build_with_url_provides_host ... ok gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests gabbi.tests.test_driver.DriverTest.test_driver_loads_three_tests ... ok gabbi.tests.test_intercept.coerce_post_extra_data.test_request gabbi.tests.test_intercept.coerce_post_extra_data.test_request ... ok gabbi.tests.test_driver.DriverTest.test_driver_prefix gabbi.tests.test_driver.DriverTest.test_driver_prefix ... ok gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... expected failure gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request gabbi.tests.test_intercept.backref_backref_json_fail_end.test_request ... ok gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params gabbi.tests.test_parse_url.UrlParseTest.test_add_query_params ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http gabbi.tests.test_parse_url.UrlParseTest.test_default_port_http ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl gabbi.tests.test_parse_url.UrlParseTest.test_default_port_https_no_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int gabbi.tests.test_parse_url.UrlParseTest.test_default_port_int ... ok gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params ... ok gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url gabbi.tests.test_parse_url.UrlParseTest.test_extend_query_params_full_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl gabbi.tests.test_parse_url.UrlParseTest.test_https_port_80_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_full_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_no_double_colon_wacky_ssl ... ok gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url gabbi.tests.test_parse_url.UrlParseTest.test_ipv6_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_full gabbi.tests.test_parse_url.UrlParseTest.test_parse_full ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix gabbi.tests.test_parse_url.UrlParseTest.test_parse_prefix ... ok gabbi.tests.test_parse_url.UrlParseTest.test_parse_url gabbi.tests.test_parse_url.UrlParseTest.test_parse_url ... ok gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl gabbi.tests.test_parse_url.UrlParseTest.test_with_ssl ... ok gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request gabbi.tests.test_unsafe_yaml.nan_test_nan.test_request ... ok gabbi.tests.test_intercept.backref_post_some_json.test_request gabbi.tests.test_intercept.backref_post_some_json.test_request ... ok #### get simple page #### > GET http://53e98a30-9026-4e44-9085-3672e9d45015:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://53e98a30-9026-4e44-9085-3672e9d45015:8001/ {} gabbi.tests.test_intercept.backref_post_even_more_json.test_request gabbi.tests.test_intercept.backref_post_even_more_json.test_request ... ok gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request gabbi.tests.test_intercept.backref_post_even_more_json_quote_different.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_custom_response_handler gabbi.tests.test_runner.RunnerTest.test_custom_response_handler ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_data_dir_good gabbi.tests.test_runner.RunnerTest.test_data_dir_good ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_exit_code gabbi.tests.test_runner.RunnerTest.test_exit_code ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_intercept.self_get_ssl_page.test_request gabbi.tests.test_intercept.self_get_ssl_page.test_request ... ok gabbi.tests.test_intercept.self_test_binary_handling.test_request gabbi.tests.test_intercept.self_test_binary_handling.test_request ... ok gabbi.tests.test_runner.RunnerTest.test_input_files gabbi.tests.test_runner.RunnerTest.test_input_files ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet gabbi.tests.test_runner.RunnerTest.test_quiet_is_quiet ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir gabbi.tests.test_runner.RunnerTest.test_stdin_data_dir ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_target_url_parsing gabbi.tests.test_runner.RunnerTest.test_target_url_parsing ... ok gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port gabbi.tests.test_runner.RunnerTest.test_target_url_parsing_standard_port ... ok gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request ... ok gabbi.tests.test_utils.BinaryTypesTest.test_binary gabbi.tests.test_utils.BinaryTypesTest.test_binary ... ok gabbi.tests.test_utils.BinaryTypesTest.test_not_binary gabbi.tests.test_utils.BinaryTypesTest.test_not_binary ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml gabbi.tests.test_runner.RunnerTest.test_unsafe_yaml ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting gabbi.tests.test_runner.RunnerTest.test_verbose_output_formatting ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_all ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_body ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_headers ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_encoded_value_from_disk.test_request ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none gabbi.tests.test_runner.RunnerTest.test_verbosity_arg_none ... ok #### left side json one #### > POST http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ < Location: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ < Location: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ < Location: http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### set key and value #### > GET http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### check key and value #### > GET http://0065c4c4-fa0f-4d16-b39d-085e8ace3e01:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### post data #### > POST http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ < Location: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ < Location: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ < Location: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ { "one_environ": 1 } #### with list #### > POST http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ < Location: http://b6a68a63-4ec9-43ed-8665-76d377e9fe98:8001/ [ 1, 2, "3" ] #### confirm notempty #### > GET http://132279f4-278d-4758-b0b8-945ee768ccb9:8001/notempty > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK notempty #### get simple page #### > GET http://0f3b52d0-a947-4f0c-9621-b9102599a146:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://0f3b52d0-a947-4f0c-9621-b9102599a146:8001/ {} #### json encoded value from disk #### > POST http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ < Location: http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ { "foo": { "b\u00e1r": 1 } } #### json parital from disk #### > POST http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ < Location: http://59be5699-8443-44d5-bfed-ea3e1a04cb38:8001/ { "type": "cat", "sound": "meow" } #### left side json one #### > POST http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ < Location: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ < Location: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ < Location: http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### set key and value #### > GET http://9639a365-18b3-4cb2-b66f-121b97e55939:8001/jsonator?key=1&value=10 > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < Content-Type: application/json { "1": "10" } #### yaml encoded value from disk #### > POST http://3c13406c-558d-4cec-9d00-17ef396322a5:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://3c13406c-558d-4cec-9d00-17ef396322a5:8001/somewhere < Location: http://3c13406c-558d-4cec-9d00-17ef396322a5:8001/somewhere { "foo": { "b\u00e1r": 1 } } gabbi.tests.test_intercept.backref_get_a_historical_response.test_request gabbi.tests.test_intercept.backref_get_a_historical_response.test_request ... ok gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request gabbi.tests.test_intercept.backref_use_raw_json_from_response.test_request ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_bad_params ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_both ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_default_charset ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_multiple_params ... ok gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset gabbi.tests.test_utils.ExtractContentTypeTest.test_extract_content_type_with_charset ... ok gabbi.tests.test_intercept.poll_loop_location.test_request gabbi.tests.test_intercept.poll_loop_location.test_request ... ok #### get simple page #### > GET http://b4c0af2c-4e94-415b-80a7-6fdaa73bcbf0:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b4c0af2c-4e94-415b-80a7-6fdaa73bcbf0:8001/ {} #### json encoded value from disk #### > POST http://fffe1275-2ad6-400f-b15e-6f7c77258f48:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://fffe1275-2ad6-400f-b15e-6f7c77258f48:8001/ < Location: http://fffe1275-2ad6-400f-b15e-6f7c77258f48:8001/ { "foo": { "b\u00e1r": 1 } } #### post data #### > POST http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ < Location: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ < Location: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ < Location: http://141d9512-5ddf-4b56-ba86-fc2408d6c46d:8001/ { "one_environ": 1 } #### default casts #### > POST http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ < Location: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ < Location: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ { "string": "2" } #### json set up #### > POST http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ < Location: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ < Location: http://c4a52362-9060-41d6-8028-06a3c140644a:8001/ { "casted": 2 } gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request ... ok gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers gabbi.tests.test_replacers.TestReplaceHeaders.test_empty_headers ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_default_true ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_false ... ok gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true gabbi.tests.test_use_prior_test.UsePriorTest.test_use_prior_true ... ok gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_partial_both_sides.test_request ... ok #### get simple page #### > GET http://7a06eb8b-1da6-42b4-bac2-25c96fe7575f:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://7a06eb8b-1da6-42b4-bac2-25c96fe7575f:8001/ {} #### left side json one #### > POST http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ < Location: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ < Location: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ { "alpha1": "alpha", "beta1": "beta" } #### expand environ left side #### > POST http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta", "1": "cow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ < Location: http://a96018d5-91df-4f8d-8820-eceb1cc52042:8001/ { "alpha1": "alpha", "beta1": "beta", "1": "cow" } #### post data #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ { "one_environ": 1 } #### with list #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ < Location: http://4f0b001f-ce91-4dc4-b5f8-247be43b3310:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### get simple page #### > GET http://b4d4c8bd-ddae-46f4-aec9-0f39696c3dff:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://b4d4c8bd-ddae-46f4-aec9-0f39696c3dff:8001/ {} #### post data #### > POST http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ < Location: http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ < Location: http://8dd5e0d4-9cf5-45ca-9426-00c7a6890cf4:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### default casts #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "string": "2" } #### json set up #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "casted": 2 } #### historic casted json #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "casted": 2 } #### internal json fine #### > POST http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": "in this 2 is not errors" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ < Location: http://55b91ea2-8175-4ba9-9574-5cf30905a069:8001/ { "casted": "in this 2 is not errors" } #### yaml encoded value from disk #### > POST http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere < Location: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere < Location: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### yaml parital from disk #### > POST http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere < Location: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere { "type": "cat", "sound": "meow" } #### yaml partial both sides #### > POST http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere < Location: http://c5ad042b-6178-4fb8-b4ba-9f72228f80f6:8001/somewhere [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request gabbi.tests.test_intercept.json-right-side_json_partial_both_sides.test_request ... ok gabbi.tests.test_intercept.fixture_just_to_see_three.test_request gabbi.tests.test_intercept.fixture_just_to_see_three.test_request ... ok gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request gabbi.tests.test_intercept.contenttype_patch_no_content-type.test_request ... ok gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request ... ok gabbi.tests.test_intercept.coerce_string_internal_replace.test_request gabbi.tests.test_intercept.coerce_string_internal_replace.test_request ... ok gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request gabbi.tests.test_intercept.backref_backref_json_fail_start.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match gabbi.tests.test_jsonpath.JSONPathTest.test_basic_match ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_embedded_list_handling ... ok gabbi.tests.test_intercept.coerce_check_posted_data.test_request gabbi.tests.test_intercept.coerce_check_posted_data.test_request ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list gabbi.tests.test_jsonpath.JSONPathTest.test_filtered_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_object_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_len_simple_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling gabbi.tests.test_jsonpath.JSONPathTest.test_list_handling ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_object_list ... ok gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list gabbi.tests.test_jsonpath.JSONPathTest.test_sorted_simple_list ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key gabbi.tests.test_suitemaker.SuiteMakerTest.test_dict_on_invalid_key ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_inner_list_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_duplication_format_error ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error gabbi.tests.test_suitemaker.SuiteMakerTest.test_method_url_pair_format_error ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_name_key_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_first ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last gabbi.tests.test_suitemaker.SuiteMakerTest.test_response_handlers_same_test_key_yaml_last ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_tests_key_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors gabbi.tests.test_suitemaker.SuiteMakerTest.test_unsupported_key_errors ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_upper_dict_required ... ok gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required gabbi.tests.test_suitemaker.SuiteMakerTest.test_url_key_required ... ok gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request gabbi.tests.test_intercept.backref_repost_that_raw_int.test_request ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_host_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_hostport_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_localhost ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ipv6_url_long ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_no_port ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_plain_url_with_port ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_simple_hostport_with_prefix ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port80_url ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_port_url ... ok gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url gabbi.tests.test_utils.UtilsHostInfoFromTarget.test_ssl_url ... ok /usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files gabbi.tests.test_syntax_warning.DriverTest.test_driver_warnings_on_files ... ok gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request gabbi.tests.test_intercept.coerce_post_again_and_check_the_results.test_request ... ok #### get simple page #### > GET http://875a48fa-6621-4baf-97c5-cdf17bca2651:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://875a48fa-6621-4baf-97c5-cdf17bca2651:8001/ {} #### post data #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "one_environ": 1 } #### with list #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results (reversed) #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### string internal replace #### > POST http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ < Location: http://116ab958-b2d5-412d-81b6-e7ad0c140c6b:8001/ { "endpoint_resp": "/api/0.1/item/1", "endpoint_var": "/api/0.1/item/1" } #### yaml encoded value from disk #### > POST http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere < Location: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### json encoded value from disk #### > POST http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere < Location: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere { "foo": { "b\u00e1r": 1 } } #### yaml parital from disk #### > POST http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewhere < Location: http://96f07a45-149d-44a4-9a45-a9877cc9bcd9:8001/somewheregabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request gabbi.tests.test_yaml_disk_loading_jsonhandler.yaml-from-disk_yaml_parital_from_disk.test_request ... ok { "type": "cat", "sound": "meow" } #### get simple page #### > GET http://97a9cf94-0e23-42f9-ac04-f2239f9a7e77:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://97a9cf94-0e23-42f9-ac04-f2239f9a7e77:8001/ {} #### left side json one #### > POST http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha": "alpha1", "beta": "beta1" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ < Location: http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ { "alpha": "alpha1", "beta": "beta1" } #### expand left side #### > POST http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "alpha1": "alpha", "beta1": "beta" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ < Location: http://79a4b2c3-12d0-48a1-9d4d-90ee045d751d:8001/ { "alpha1": "alpha", "beta1": "beta" } #### header named http #### > GET http://e9bd1533-c4f5-4912-97eb-93ffcd8dc1d0:8001/header_key > http: some-scheme > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://e9bd1533-c4f5-4912-97eb-93ffcd8dc1d0:8001/header_key < HTTP: some-scheme {} #### post data #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "one_environ": 1 } #### with list #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results (reversed) #### > POST http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ < Location: http://d27bb6e9-09a9-4d08-a52d-9b6260eba1a5:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### get simple page #### > GET http://5695ebe4-7e5a-4a9e-8f7c-27ee40f2e333:8001/ > x-random-header: ya > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://5695ebe4-7e5a-4a9e-8f7c-27ee40f2e333:8001/ {} #### loop location #### > GET http://c9895704-b094-456e-987b-f69a64cc730c:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 400 Bad Reqest #### loop location #### > GET http://c9895704-b094-456e-987b-f69a64cc730c:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 400 Bad Reqest #### loop location #### > GET http://c9895704-b094-456e-987b-f69a64cc730c:8001/poller?count=2&x=1&y=2&z=3.4 > user-agent: gabbi/3.0.0 (Python urllib3) < 200 OK < X-Gabbi-method: GET < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://c9895704-b094-456e-987b-f69a64cc730c:8001/poller?count=2&x=1&y=2&z=3.4 { "count": [ "2" ], "x": [ "1" ], "y": [ "2" ], "z": [ "3.4" ] } #### json encoded value from disk #### > POST http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "foo": { "b\u00e1r": 1 } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ < Location: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ { "foo": { "b\u00e1r": 1 } } #### json parital from disk #### > POST http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "type": "cat", "sound": "meow" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ < Location: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ { "type": "cat", "sound": "meow" } #### json partial both sides #### > POST http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ < Location: http://e87b5131-f373-4eb0-bd42-3d2bd9b2f23d:8001/ [ { "type": "cat", "sound": "meow" }, { "type": "dog", "sound": "woof" } ] #### post data #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### use data #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_string": "1", "one_int": 1, "one_float": 1.1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "one_string": "1", "one_int": 1, "one_float": 1.1 } #### from environ #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "one_environ": 1 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "one_environ": 1 } #### with list #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) [ 1, 2, "3" ] < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ [ 1, 2, "3" ] #### object with list #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "collection": [ { "alpha": 1, "beta": "max" }, { "alpha": 2, "beta": "climb" } ] } #### post extra data #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### check posted data #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### Post again and check the results #### > POST http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ > content-type: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json ; charset=utf-8 ; stop=no < X-Gabbi-url: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ < Location: http://28ec1630-3839-41fd-b0b6-a75050663a22:8001/ { "a": 1, "b": 1.0, "c": "[1,2,3]", "d": true, "e": false, "f": { "key": "val" }, "g": null, "h": { "key": { "less_key": [ 1, true, null ], "more_key": 1 } } } #### default casts #### > POST http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ < Location: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ { "int": 1, "float": 1.5, "string": 2, "tbool": true, "fbool": false } #### cast to string ####gabbi.tests.test_intercept.casting_internal_json_fail.test_request gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... expected failure gabbi.tests.test_intercept.casting_internal_json_fail.test_request gabbi.tests.test_intercept.casting_internal_json_fail.test_request ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file gabbi.tests.test_load_data_file.DataFileTest.test_load_file ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_directory ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_parent_dir ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root gabbi.tests.test_load_data_file.DataFileTest.test_load_file_in_root ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_not_within_test_directory ... ok gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory gabbi.tests.test_load_data_file.DataFileTest.test_load_file_within_test_directory ... ok gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean gabbi.tests.test_replacers.EnvironReplaceTest.test_environ_boolean ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_error_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra gabbi.tests.test_utils.ParseContentTypeTest.test_parse_extra ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_nocharset_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default gabbi.tests.test_utils.ParseContentTypeTest.test_parse_override_default ... ok gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple gabbi.tests.test_utils.ParseContentTypeTest.test_parse_simple ... ok > POST http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "string": "2" } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ < Location: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ { "string": "2" } #### json set up #### > POST http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ < Location: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ { "int": 1, "float": 1.5, "string": "2", "tbool": true, "fbool": false } #### send casted json #### > POST http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ < Location: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ { "casted": 2 } #### historic casted json #### > POST http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ > content-type: application/json > accept: application/json > user-agent: gabbi/3.0.0 (Python urllib3) { "casted": 2 } < 200 OK < X-Gabbi-method: POST < Content-Type: application/json < X-Gabbi-url: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ < Location: http://04a94bce-faa0-4b6f-8cee-7e262e779983:8001/ { "casted": 2 } ---------------------------------------------------------------------- Ran 314 tests in 13.410s OK (skipped=2, expected failures=15) + stestr slowest Test id Runtime (s) ------------------------------------------------------------------------------------------ ----------- gabbi.tests.test_intercept.coerce_string_internal_replace.test_request 2.361 gabbi.tests.test_intercept.coerce_post_again_and_check_the_results_(reversed).test_request 2.328 gabbi.tests.test_driver.DriverTest.test_build_require_ssl 2.302 gabbi.tests.test_intercept.backref_get_a_historical_response_via_jsonpath.test_request 1.104 gabbi.tests.test_intercept.coerce_post_extra_data.test_request 0.924 gabbi.tests.test_intercept.backref_get_a_historical_response.test_request 0.890 gabbi.tests.test_intercept.coerce_object_with_list.test_request 0.836 gabbi.tests.test_intercept.backref_post_a_raw_int_as_json.test_request 0.746 gabbi.tests.test_intercept.data_post_data_from_prior_response.test_request 0.721 gabbi.tests.test_intercept.json-extensions_test_filtered.test_request 0.691 + rm -rf .stestr make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_install -O--buildsystem=pybuild dh_installdocs -O--buildsystem=pybuild debian/rules override_dh_sphinxdoc make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions python3 -m sphinx -b html docs/source debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html Running Sphinx v8.1.3 loading translations [en]... done making output directory... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 12 source files that are out of date updating environment: [new config] 12 added, 0 changed, 0 removed reading sources... [ 8%] example reading sources... [ 17%] faq reading sources... [ 25%] fixtures reading sources... [ 33%] format reading sources... [ 42%] gabbi reading sources... [ 50%] handlers reading sources... [ 58%] host reading sources... [ 67%] index reading sources... [ 75%] jsonpath reading sources... [ 83%] loader reading sources... [ 92%] release reading sources... [100%] runner /build/reproducible-path/python-gabbi-3.0.0/docs/source/release.rst:18: WARNING: Title underline too short. 2.11.0 ----- [docutils] /build/reproducible-path/python-gabbi-3.0.0/docs/source/release.rst:18: WARNING: Title underline too short. 2.11.0 ----- [docutils] looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/language_data.js Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/documentation_options.js Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/basic.css Writing evaluated template result to /build/reproducible-path/python-gabbi-3.0.0/debian/python-gabbi-doc/usr/share/doc/python-gabbi-doc/html/_static/nature.css copying static files: done copying extra files... copying extra files: done copying assets: done writing output... [ 8%] example writing output... [ 17%] faq writing output... [ 25%] fixtures writing output... [ 33%] format writing output... [ 42%] gabbi writing output... [ 50%] handlers writing output... [ 58%] host writing output... [ 67%] index writing output... [ 75%] jsonpath writing output... [ 83%] loader writing output... [ 92%] release writing output... [100%] runner /build/reproducible-path/python-gabbi-3.0.0/docs/source/jsonpath.rst:72: WARNING: Lexing literal_block 'response_json_paths:\n $: @>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done ++ ls -1 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done ++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done ++ ls 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' debian/rules override_dh_installsystemd make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions # Create the init scripts and systemd unit files from the template set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in//` ; \ cp $i $MYINIT.init ; \ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done ++ ls -1 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory # If there's a service.in file, use that one instead of the generated one set -e ; set -x ; for i in `ls -1 debian/*.service.in`; do \ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done ++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ MYINIT=`echo $i | sed s/.init.in/.service.in/` ; \ if ! [ -e $MYINIT ] ; then \ pkgos-gen-systemd-unit $i ; \ fi \ done ++ ls 'debian/*.init.in' ls: cannot access 'debian/*.init.in': No such file or directory dh_installsystemd make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_perl -O--buildsystem=pybuild dh_link -O--buildsystem=pybuild dh_strip_nondeterminism -O--buildsystem=pybuild dh_compress -O--buildsystem=pybuild dh_fixperms -O--buildsystem=pybuild dh_missing -O--buildsystem=pybuild dh_installdeb -O--buildsystem=pybuild debian/rules override_dh_gencontrol make[1]: Entering directory '/build/reproducible-path/python-gabbi-3.0.0' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions if dpkg-vendor --derives-from ubuntu ; then \ dh_gencontrol -- -T/build/reproducible-path/python-gabbi-3.0.0/debian/ubuntu_control_vars ; \ else \ dh_gencontrol -- -T/build/reproducible-path/python-gabbi-3.0.0/debian/debian_control_vars ; \ fi dpkg-gencontrol: warning: package python-gabbi-doc: substitution variable ${sphinxdoc:Built-Using} unused, but is defined make[1]: Leaving directory '/build/reproducible-path/python-gabbi-3.0.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python-gabbi-doc' in '../python-gabbi-doc_3.0.0-3_all.deb'. dpkg-deb: building package 'python3-gabbi' in '../python3-gabbi_3.0.0-3_all.deb'. dpkg-genbuildinfo --build=binary -O../python-gabbi_3.0.0-3_arm64.buildinfo dpkg-genchanges --build=binary -O../python-gabbi_3.0.0-3_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-source: info: using options from python-gabbi-3.0.0/debian/source/options: --extend-diff-ignore=^[^/]*[.]egg-info/ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/83677/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/83677/tmp/hooks/B01_cleanup finished 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/83677 and its subdirectories I: Current time: Thu Jan 22 13:46:37 +14 2026 I: pbuilder-time-stamp: 1769039197