Diff of the two buildlogs: -- --- b1/build.log 2021-07-15 09:55:17.644847060 +0000 +++ b2/build.log 2021-07-15 09:57:30.751846643 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Jul 14 21:53:25 -12 2021 -I: pbuilder-time-stamp: 1626342805 +I: Current time: Thu Jul 15 23:55:49 +14 2021 +I: pbuilder-time-stamp: 1626342949 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bullseye-reproducible-base.tgz] I: copying local configuration @@ -16,8 +16,8 @@ I: copying [./ruby-http-2_0.10.2-1.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' -gpgv: keyblock resource '/tmp/dpkg-verify-sig.FMUJiZc_/trustedkeys.kbx': General error -gpgv: Signature made Wed Jun 24 09:27:02 2020 -12 +gpgv: keyblock resource '/tmp/dpkg-verify-sig.sEdx7dbl/trustedkeys.kbx': General error +gpgv: Signature made Thu Jun 25 11:27:02 2020 +14 gpgv: using RSA key 58E1222F9696C885A3CD104C5D328D082AAAB140 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./ruby-http-2_0.10.2-1.dsc @@ -28,135 +28,169 @@ dpkg-source: info: applying 0001-Drop-spec-hpack_test_spec.rb-since-there-is-no-raw-d.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/21290/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/12644/tmp/hooks/D01_modify_environment starting +debug: Running on virt32b. +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 +Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' +Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' +Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' +Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by 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/12644/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/12644/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=3' - DISTRIBUTION='' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="1" [2]="4" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.1.4(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all,-fixfilepath parallel=4' + DIRSTACK=() + DISTRIBUTION= + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='98d7330a6ee644efb809ab4d824e5ede' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='21290' - PS1='# ' - PS2='> ' + INVOCATION_ID=7fdc0ad1115246d19732c242be6bd566 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=12644 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.jpVwhPAdWM/pbuilderrc_fLzU --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.jpVwhPAdWM/b1 --logfile b1/build.log ruby-http-2_0.10.2-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:8000/' + 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/tmp.jpVwhPAdWM/pbuilderrc_wqD6 --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bullseye-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.jpVwhPAdWM/b2 --logfile b2/build.log --extrapackages usrmerge ruby-http-2_0.10.2-1.dsc' + SUDO_GID=112 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:8000/ I: uname -a - Linux virt64b 5.10.0-7-arm64 #1 SMP Debian 5.10.40-1 (2021-05-28) aarch64 GNU/Linux + Linux i-capture-the-hostname 5.10.0-7-armmp-lpae #1 SMP Debian 5.10.40-1 (2021-05-28) armv7l GNU/Linux I: ls -l /bin total 3580 - -rwxr-xr-x 1 root root 816764 Jun 21 14:26 bash - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bunzip2 - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzcat - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzcmp -> bzdiff - -rwxr-xr-x 1 root root 2225 Jul 20 2020 bzdiff - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzegrep -> bzgrep - -rwxr-xr-x 1 root root 4877 Sep 4 2019 bzexe - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzfgrep -> bzgrep - -rwxr-xr-x 1 root root 3775 Jul 20 2020 bzgrep - -rwxr-xr-x 3 root root 26052 Jul 20 2020 bzip2 - -rwxr-xr-x 1 root root 9636 Jul 20 2020 bzip2recover - lrwxrwxrwx 1 root root 6 Jul 20 2020 bzless -> bzmore - -rwxr-xr-x 1 root root 1297 Jul 20 2020 bzmore - -rwxr-xr-x 1 root root 26668 Sep 22 2020 cat - -rwxr-xr-x 1 root root 43104 Sep 22 2020 chgrp - -rwxr-xr-x 1 root root 38984 Sep 22 2020 chmod - -rwxr-xr-x 1 root root 43112 Sep 22 2020 chown - -rwxr-xr-x 1 root root 92616 Sep 22 2020 cp - -rwxr-xr-x 1 root root 75524 Dec 10 2020 dash - -rwxr-xr-x 1 root root 75880 Sep 22 2020 date - -rwxr-xr-x 1 root root 55436 Sep 22 2020 dd - -rwxr-xr-x 1 root root 59912 Sep 22 2020 df - -rwxr-xr-x 1 root root 96764 Sep 22 2020 dir - -rwxr-xr-x 1 root root 55012 Feb 7 02:38 dmesg - lrwxrwxrwx 1 root root 8 Nov 6 2019 dnsdomainname -> hostname - lrwxrwxrwx 1 root root 8 Nov 6 2019 domainname -> hostname - -rwxr-xr-x 1 root root 22508 Sep 22 2020 echo - -rwxr-xr-x 1 root root 28 Nov 9 2020 egrep - -rwxr-xr-x 1 root root 22496 Sep 22 2020 false - -rwxr-xr-x 1 root root 28 Nov 9 2020 fgrep - -rwxr-xr-x 1 root root 47492 Feb 7 02:38 findmnt - -rwsr-xr-x 1 root root 26076 Feb 26 04:12 fusermount - -rwxr-xr-x 1 root root 124508 Nov 9 2020 grep - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 gunzip - -rwxr-xr-x 1 root root 6376 Mar 2 11:30 gzexe - -rwxr-xr-x 1 root root 64212 Mar 2 11:30 gzip - -rwxr-xr-x 1 root root 13784 Nov 6 2019 hostname - -rwxr-xr-x 1 root root 43180 Sep 22 2020 ln - -rwxr-xr-x 1 root root 35068 Feb 7 2020 login - -rwxr-xr-x 1 root root 96764 Sep 22 2020 ls - -rwxr-xr-x 1 root root 99940 Feb 7 02:38 lsblk - -rwxr-xr-x 1 root root 51408 Sep 22 2020 mkdir - -rwxr-xr-x 1 root root 43184 Sep 22 2020 mknod - -rwxr-xr-x 1 root root 30780 Sep 22 2020 mktemp - -rwxr-xr-x 1 root root 34408 Feb 7 02:38 more - -rwsr-xr-x 1 root root 34400 Feb 7 02:38 mount - -rwxr-xr-x 1 root root 9824 Feb 7 02:38 mountpoint - -rwxr-xr-x 1 root root 88524 Sep 22 2020 mv - lrwxrwxrwx 1 root root 8 Nov 6 2019 nisdomainname -> hostname - lrwxrwxrwx 1 root root 14 Apr 18 03:38 pidof -> /sbin/killall5 - -rwxr-xr-x 1 root root 26652 Sep 22 2020 pwd - lrwxrwxrwx 1 root root 4 Jun 21 14:26 rbash -> bash - -rwxr-xr-x 1 root root 30740 Sep 22 2020 readlink - -rwxr-xr-x 1 root root 43104 Sep 22 2020 rm - -rwxr-xr-x 1 root root 30732 Sep 22 2020 rmdir - -rwxr-xr-x 1 root root 14144 Sep 27 2020 run-parts - -rwxr-xr-x 1 root root 76012 Dec 22 2018 sed - lrwxrwxrwx 1 root root 4 Jul 12 21:25 sh -> dash - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sleep - -rwxr-xr-x 1 root root 55360 Sep 22 2020 stty - -rwsr-xr-x 1 root root 46704 Feb 7 02:38 su - -rwxr-xr-x 1 root root 22532 Sep 22 2020 sync - -rwxr-xr-x 1 root root 340872 Feb 16 21:55 tar - -rwxr-xr-x 1 root root 9808 Sep 27 2020 tempfile - -rwxr-xr-x 1 root root 67696 Sep 22 2020 touch - -rwxr-xr-x 1 root root 22496 Sep 22 2020 true - -rwxr-xr-x 1 root root 9636 Feb 26 04:12 ulockmgr_server - -rwsr-xr-x 1 root root 22108 Feb 7 02:38 umount - -rwxr-xr-x 1 root root 22520 Sep 22 2020 uname - -rwxr-xr-x 2 root root 2346 Mar 2 11:30 uncompress - -rwxr-xr-x 1 root root 96764 Sep 22 2020 vdir - -rwxr-xr-x 1 root root 38512 Feb 7 02:38 wdctl - lrwxrwxrwx 1 root root 8 Nov 6 2019 ypdomainname -> hostname - -rwxr-xr-x 1 root root 1984 Mar 2 11:30 zcat - -rwxr-xr-x 1 root root 1678 Mar 2 11:30 zcmp - -rwxr-xr-x 1 root root 5880 Mar 2 11:30 zdiff - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zegrep - -rwxr-xr-x 1 root root 29 Mar 2 11:30 zfgrep - -rwxr-xr-x 1 root root 2081 Mar 2 11:30 zforce - -rwxr-xr-x 1 root root 7585 Mar 2 11:30 zgrep - -rwxr-xr-x 1 root root 2206 Mar 2 11:30 zless - -rwxr-xr-x 1 root root 1842 Mar 2 11:30 zmore - -rwxr-xr-x 1 root root 4553 Mar 2 11:30 znew -I: user script /srv/workspace/pbuilder/21290/tmp/hooks/D02_print_environment finished + -rwxr-xr-x 1 root root 816764 Jun 22 16:26 bash + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bunzip2 + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzcat + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzcmp -> bzdiff + -rwxr-xr-x 1 root root 2225 Jul 21 2020 bzdiff + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzegrep -> bzgrep + -rwxr-xr-x 1 root root 4877 Sep 5 2019 bzexe + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzfgrep -> bzgrep + -rwxr-xr-x 1 root root 3775 Jul 21 2020 bzgrep + -rwxr-xr-x 3 root root 26052 Jul 21 2020 bzip2 + -rwxr-xr-x 1 root root 9636 Jul 21 2020 bzip2recover + lrwxrwxrwx 1 root root 6 Jul 21 2020 bzless -> bzmore + -rwxr-xr-x 1 root root 1297 Jul 21 2020 bzmore + -rwxr-xr-x 1 root root 26668 Sep 23 2020 cat + -rwxr-xr-x 1 root root 43104 Sep 23 2020 chgrp + -rwxr-xr-x 1 root root 38984 Sep 23 2020 chmod + -rwxr-xr-x 1 root root 43112 Sep 23 2020 chown + -rwxr-xr-x 1 root root 92616 Sep 23 2020 cp + -rwxr-xr-x 1 root root 75524 Dec 11 2020 dash + -rwxr-xr-x 1 root root 75880 Sep 23 2020 date + -rwxr-xr-x 1 root root 55436 Sep 23 2020 dd + -rwxr-xr-x 1 root root 59912 Sep 23 2020 df + -rwxr-xr-x 1 root root 96764 Sep 23 2020 dir + -rwxr-xr-x 1 root root 55012 Feb 8 04:38 dmesg + lrwxrwxrwx 1 root root 8 Nov 8 2019 dnsdomainname -> hostname + lrwxrwxrwx 1 root root 8 Nov 8 2019 domainname -> hostname + -rwxr-xr-x 1 root root 22508 Sep 23 2020 echo + -rwxr-xr-x 1 root root 28 Nov 10 2020 egrep + -rwxr-xr-x 1 root root 22496 Sep 23 2020 false + -rwxr-xr-x 1 root root 28 Nov 10 2020 fgrep + -rwxr-xr-x 1 root root 47492 Feb 8 04:38 findmnt + -rwsr-xr-x 1 root root 26076 Feb 27 06:12 fusermount + -rwxr-xr-x 1 root root 124508 Nov 10 2020 grep + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 gunzip + -rwxr-xr-x 1 root root 6376 Mar 3 13:30 gzexe + -rwxr-xr-x 1 root root 64212 Mar 3 13:30 gzip + -rwxr-xr-x 1 root root 13784 Nov 8 2019 hostname + -rwxr-xr-x 1 root root 43180 Sep 23 2020 ln + -rwxr-xr-x 1 root root 35068 Feb 8 2020 login + -rwxr-xr-x 1 root root 96764 Sep 23 2020 ls + -rwxr-xr-x 1 root root 99940 Feb 8 04:38 lsblk + -rwxr-xr-x 1 root root 51408 Sep 23 2020 mkdir + -rwxr-xr-x 1 root root 43184 Sep 23 2020 mknod + -rwxr-xr-x 1 root root 30780 Sep 23 2020 mktemp + -rwxr-xr-x 1 root root 34408 Feb 8 04:38 more + -rwsr-xr-x 1 root root 34400 Feb 8 04:38 mount + -rwxr-xr-x 1 root root 9824 Feb 8 04:38 mountpoint + -rwxr-xr-x 1 root root 88524 Sep 23 2020 mv + lrwxrwxrwx 1 root root 8 Nov 8 2019 nisdomainname -> hostname + lrwxrwxrwx 1 root root 14 Apr 19 05:38 pidof -> /sbin/killall5 + -rwxr-xr-x 1 root root 26652 Sep 23 2020 pwd + lrwxrwxrwx 1 root root 4 Jun 22 16:26 rbash -> bash + -rwxr-xr-x 1 root root 30740 Sep 23 2020 readlink + -rwxr-xr-x 1 root root 43104 Sep 23 2020 rm + -rwxr-xr-x 1 root root 30732 Sep 23 2020 rmdir + -rwxr-xr-x 1 root root 14144 Sep 28 2020 run-parts + -rwxr-xr-x 1 root root 76012 Dec 23 2018 sed + lrwxrwxrwx 1 root root 4 Jul 15 23:56 sh -> bash + lrwxrwxrwx 1 root root 4 Jul 13 23:26 sh.distrib -> dash + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sleep + -rwxr-xr-x 1 root root 55360 Sep 23 2020 stty + -rwsr-xr-x 1 root root 46704 Feb 8 04:38 su + -rwxr-xr-x 1 root root 22532 Sep 23 2020 sync + -rwxr-xr-x 1 root root 340872 Feb 17 23:55 tar + -rwxr-xr-x 1 root root 9808 Sep 28 2020 tempfile + -rwxr-xr-x 1 root root 67696 Sep 23 2020 touch + -rwxr-xr-x 1 root root 22496 Sep 23 2020 true + -rwxr-xr-x 1 root root 9636 Feb 27 06:12 ulockmgr_server + -rwsr-xr-x 1 root root 22108 Feb 8 04:38 umount + -rwxr-xr-x 1 root root 22520 Sep 23 2020 uname + -rwxr-xr-x 2 root root 2346 Mar 3 13:30 uncompress + -rwxr-xr-x 1 root root 96764 Sep 23 2020 vdir + -rwxr-xr-x 1 root root 38512 Feb 8 04:38 wdctl + lrwxrwxrwx 1 root root 8 Nov 8 2019 ypdomainname -> hostname + -rwxr-xr-x 1 root root 1984 Mar 3 13:30 zcat + -rwxr-xr-x 1 root root 1678 Mar 3 13:30 zcmp + -rwxr-xr-x 1 root root 5880 Mar 3 13:30 zdiff + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zegrep + -rwxr-xr-x 1 root root 29 Mar 3 13:30 zfgrep + -rwxr-xr-x 1 root root 2081 Mar 3 13:30 zforce + -rwxr-xr-x 1 root root 7585 Mar 3 13:30 zgrep + -rwxr-xr-x 1 root root 2206 Mar 3 13:30 zless + -rwxr-xr-x 1 root root 1842 Mar 3 13:30 zmore + -rwxr-xr-x 1 root root 4553 Mar 3 13:30 znew +I: user script /srv/workspace/pbuilder/12644/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -355,7 +389,7 @@ Get: 153 http://deb.debian.org/debian bullseye/main armhf ruby-rspec-expectations all 3.9.0c2e2m1s3-2 [89.9 kB] Get: 154 http://deb.debian.org/debian bullseye/main armhf ruby-rspec-mocks all 3.9.0c2e2m1s3-2 [81.4 kB] Get: 155 http://deb.debian.org/debian bullseye/main armhf ruby-rspec all 3.9.0c2e2m1s3-2 [8348 B] -Fetched 43.9 MB in 17s (2613 kB/s) +Fetched 43.9 MB in 6s (7655 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package bsdextrautils. (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 ... 19398 files and directories currently installed.) @@ -999,8 +1033,45 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl +The following NEW packages will be installed: + libfile-find-rule-perl libnumber-compare-perl libtext-glob-perl usrmerge +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Need to get 59.5 kB of archives. +After this operation, 157 kB of additional disk space will be used. +Get:1 http://deb.debian.org/debian bullseye/main armhf libnumber-compare-perl all 0.03-1.1 [6956 B] +Get:2 http://deb.debian.org/debian bullseye/main armhf libtext-glob-perl all 0.11-1 [8888 B] +Get:3 http://deb.debian.org/debian bullseye/main armhf libfile-find-rule-perl all 0.34-1 [30.6 kB] +Get:4 http://deb.debian.org/debian bullseye/main armhf usrmerge all 25 [13.0 kB] +debconf: delaying package configuration, since apt-utils is not installed +Fetched 59.5 kB in 0s (946 kB/s) +Selecting previously unselected package libnumber-compare-perl. +(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 ... 27476 files and directories currently installed.) +Preparing to unpack .../libnumber-compare-perl_0.03-1.1_all.deb ... +Unpacking libnumber-compare-perl (0.03-1.1) ... +Selecting previously unselected package libtext-glob-perl. +Preparing to unpack .../libtext-glob-perl_0.11-1_all.deb ... +Unpacking libtext-glob-perl (0.11-1) ... +Selecting previously unselected package libfile-find-rule-perl. +Preparing to unpack .../libfile-find-rule-perl_0.34-1_all.deb ... +Unpacking libfile-find-rule-perl (0.34-1) ... +Selecting previously unselected package usrmerge. +Preparing to unpack .../archives/usrmerge_25_all.deb ... +Unpacking usrmerge (25) ... +Setting up libtext-glob-perl (0.11-1) ... +Setting up libnumber-compare-perl (0.03-1.1) ... +Setting up libfile-find-rule-perl (0.34-1) ... +Setting up usrmerge (25) ... +The system has been successfully converted. +Processing triggers for man-db (2.9.4-2) ... +Not building database; man-db/auto-update is not 'true'. I: Building the package -I: Running cd /build/ruby-http-2-0.10.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-http-2_0.10.2-1_source.changes +hostname: Name or service not known +I: Running cd /build/ruby-http-2-0.10.2/ && 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 > ../ruby-http-2_0.10.2-1_source.changes dpkg-buildpackage: info: source package ruby-http-2 dpkg-buildpackage: info: source version 0.10.2-1 dpkg-buildpackage: info: source distribution unstable @@ -1031,7 +1102,7 @@ dh_auto_install -O--buildsystem=ruby dh_ruby --install /build/ruby-http-2-0.10.2/debian/ruby-http-2 dh_ruby --install -/usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20210714-904-12gl6zv/gemspec +/usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20210715-17759-yq9vrw/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: open-ended dependency on bundler (>= 0, development) is not recommended @@ -1041,7 +1112,7 @@ Name: http-2 Version: 0.10.2 File: http-2-0.10.2.gem -/usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-http-2/usr/share/rubygems-integration/all /tmp/d20210714-904-12gl6zv/http-2-0.10.2.gem +/usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-http-2/usr/share/rubygems-integration/all /tmp/d20210715-17759-yq9vrw/http-2-0.10.2.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-http-2-0.10.2/debian/ruby-http-2/usr/share/rubygems-integration/all/gems/http-2-0.10.2/example/Gemfile /build/ruby-http-2-0.10.2/debian/ruby-http-2/usr/share/rubygems-integration/all/gems/http-2-0.10.2/example/README.md @@ -1077,7 +1148,7 @@ rm -rf extensions cd gems/http-2-0.10.2 rm -f -chmod 644 lib/http/2/flow_buffer.rb lib/http/2/huffman.rb lib/http/2/client.rb lib/http/2/emitter.rb lib/http/2/connection.rb lib/http/2/stream.rb lib/http/2/framer.rb lib/http/2/compressor.rb lib/http/2/server.rb lib/http/2/buffer.rb lib/http/2/huffman_statemachine.rb lib/http/2/error.rb lib/http/2/version.rb lib/http/2.rb lib/tasks/generate_huffman_table.rb +chmod 644 lib/tasks/generate_huffman_table.rb lib/http/2.rb lib/http/2/framer.rb lib/http/2/version.rb lib/http/2/buffer.rb lib/http/2/flow_buffer.rb lib/http/2/connection.rb lib/http/2/huffman_statemachine.rb lib/http/2/emitter.rb lib/http/2/stream.rb lib/http/2/client.rb lib/http/2/server.rb lib/http/2/error.rb lib/http/2/compressor.rb lib/http/2/huffman.rb find lib/ -type d -empty -delete cd - cd - @@ -1096,392 +1167,199 @@ RUBYLIB=. GEM_PATH=/build/ruby-http-2-0.10.2/debian/ruby-http-2/usr/share/rubygems-integration/all:/build/ruby-http-2-0.10.2/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/2.7.0 ruby2.7 -S rake -f debian/ruby-tests.rake /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Randomized with seed 31733 +Randomized with seed 19185 -HTTP2::Stream - server API - should emit received headers via on(:headers) - should emit received priority parameters via on(:priority) - should emit received payload via on(:data) - push - .promise should emit server initiated stream - .promise push stream should have parent stream - stream states - server: active > half close > close - client: promise_headers > active > headers > .. > data > close - client API - .data should emit DATA frames - .data should split large multibyte DATA frames - .reprioritize should raise error if invoked by server - .cancel should reset stream with cancel error code - .headers should emit HEADERS frames - .window_update should emit WINDOW_UPDATE frames - .reprioritize should emit PRIORITY frame - .data should split large DATA frames - .refuse should reset stream with refused stream error code - flow control - should not update window when data received is less than half of maximum local window size - should update window when data received is over half of the maximum local window size - should update window size on receipt of WINDOW_UPDATE - should update window size on DATA frames only - should observe session flow control - should initialize to default flow control window - stream states - should initiliaze all streams to IDLE - should set custom stream priority - reserved (remote) - should raise error on receipt of invalid frames - should transition to closed on received RST_STREAM - should increment local_window on sent WINDOW_UPDATE - should raise error if sending invalid frames - should transition on received PUSH_PROMISE - should transition to half closed (local) on received HEADERS - should reprioritize stream on PRIORITY - should transition to closed on sent RST_STREAM - idle - should transition to open on received HEADERS - should transition to open on sent HEADERS - should transition to reserved (remote) on received PUSH_PROMISE - should reprioritize stream on received PRIORITY - should transition to reserved (local) on sent PUSH_PROMISE - should reprioritize stream on sent PRIORITY - half closed (local) - should reprioritize stream on sent PRIORITY - should reprioritize stream (and decendants) on received PRIORITY - should increment local_window on sent WINDOW_UPDATE - should ignore received WINDOW_UPDATE frames - should ignore received PRIORITY frames - should transition to closed if RST_STREAM frame is sent - should raise error on attempt to send invalid frames - should emit :half_close event on transition - should transition to closed on receipt of RST_STREAM frame - should transition to closed on receipt of END_STREAM flag - should emit :close event on transition to closed - half closed (remote) - should transition to closed if RST_STREAM is sent - should transition to closed on reciept of RST_STREAM frame - should emit :close event on close transition - should transition to closed when send buffer is emptied - should reprioritize stream on sent PRIORITY - should increment remote_window on received WINDOW_UPDATE - should raise STREAM_CLOSED error on reciept of frames - should not transition to closed if END_STREAM flag is sent when overflowing window - should emit :half_close event on transition - should reprioritize stream on received PRIORITY - should ignore sent WINDOW_UPDATE frames - should transition to closed if END_STREAM flag is sent - reserved (local) - should transition on sent PUSH_PROMISE - should transition to closed on received RST_STREAM - should allow HEADERS to be sent - should transition to half closed (remote) on sent HEADERS - should raise error on receipt of invalid frames - should increment remote_window on received WINDOW_UPDATE - should reprioritize stream on PRIORITY - should raise error if sending invalid frames - should transition to closed on sent RST_STREAM - closed - local closed via RST_STREAM frame - should ignore received frames - remote closed stream - should ignore received WINDOW_UPDATE frames - should raise STREAM_CLOSED on receipt of frame - should allow PRIORITY, RST_STREAM to be received - should raise STREAM_CLOSED on attempt to send frames - should reprioritize stream on sent PRIORITY - should reprioritize stream on received PRIORITY - should allow PRIORITY, RST_STREAM to be sent - open - should transition to closed if sending RST_STREAM - should reprioritize stream on received PRIORITY - should reprioritize stream on sent PRIORITY - should not emit :active on transition from open - should allow frames of any type to be received - should transition to closed if receiving RST_STREAM - should allow any valid frames types to be sent - should emit :close with reason - should transition to half closed (local) if sending END_STREAM - should emit :active on open transition - should emit :close after frame is processed - should transition to half closed (remote) if receiving END_STREAM - should emit :close on close transition - should transition to half closed if remote opened with END_STREAM - should transition to half closed if local opened with END_STREAM +HTTP2::Emitter + should allow multiple callbacks on single event + should pass emitted callbacks to listeners + should allow events with no callbacks + should execute callback with optional args + should execute callback exactly once + should raise error on missing callback -HTTP2::Header::Huffman - encode - should encode www.example.com into f1e3c2e5f23a6ba0ab90f4ff - should encode no-cache into a8eb10649cbf - should encode Mon, 21 Oct 2013 20:13:21 GMT into d07abe941054d444a8200595040b8166e082a62d1bff - decode - should raise when EOS is explicitly encoded - should encode then decode 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0' into the same - should encode/decode all_possible 2-byte sequences - should encode then decode 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' into the same - should decode d07abe941054d444a8200595040b8166e082a62d1bff into Mon, 21 Oct 2013 20:13:21 GMT - should decode a8eb10649cbf into no-cache - should encode then decode 'BX=c99r6jp89a7no&b=3&s=q4; localization=en-us%3Bus%3Bus' into the same - should decode f1e3c2e5f23a6ba0ab90f4ff into www.example.com - should raise when input is not padded by 1s - should raise when input is shorter than expected - should encode then decode 'image/png,image/*;q=0.8,*/*;q=0.5' into the same - should encode then decode 'http://www.craigslist.org/about/sites/' into the same - should raise when exceedingly padded - should encode then decode 'cl_b=AB2BKbsl4hGM7M4nH5PYWghTM5A; cl_def_lang=en; cl_def_hp=shoals' into the same - should encode then decode 'UTF-8でエンコードした日本語文字列' into the same +HTTP2::Buffer + should unpack an unsigned 32-bit int + should return bytesize of the buffer + should force 8-bit encoding + should read single byte at a time + should force 8-bit encoding when adding data HTTP2::Client initialization and settings - should emit connection header and SETTINGS on new client connection should return odd stream IDs should initialize client when receiving server settings before sending ack should initialize client with custom connection settings + should emit connection header and SETTINGS on new client connection upgrade sends the preface initializes the first stream in the half-closed state fails when client has already created streams alt-svc - received in a stream - should emit :altsvc - should not emit :alt_svc when the frame when contains a origin received in the connection - should emit :altsvc when receiving one should not emit :altsvc when the frame when contains no host + should emit :altsvc when receiving one + received in a stream + should not emit :alt_svc when the frame when contains a origin + should emit :altsvc push - should raise error on PUSH_PROMISE against stream 0 + should emit stream object for received PUSH_PROMISE should raise error on PUSH_PROMISE against non-idle stream + should raise error on PUSH_PROMISE against bogus stream should emit promise headers for received PUSH_PROMISE should auto RST_STREAM promises against locally-RST stream + should raise error on PUSH_PROMISE against stream 0 should disallow client initiated push - should raise error on PUSH_PROMISE against bogus stream - should emit stream object for received PUSH_PROMISE - -HTTP2::Framer - should process full frames only - should ignore unknown extension frames - should parse single frame at a time - should determine frame length - GOAWAY - should treat debug payload as optional - should generate and parse bytes - PRIORITY - should generate and parse bytes - WINDOW_UPDATE - should generate and parse bytes - SETTINGS - should generate and parse bytes - should raise exception on sending invalid stream ID - should generate settings when id is given as an integer - should raise exception on receiving invalid stream ID - should raise exception on receiving invalid payload length - should ignore custom settings when receiving - should raise exception on sending invalid setting - should ignore custom settings when sending - ALTSVC - should generate and parse bytes - RST_STREAM - should generate and parse bytes - PUSH_PROMISE - should generate and parse bytes - CONTINUATION - should generate and parse bytes - Padding - generating headers frame padded 256 - should parse a frame with padding - should fill padded octets with zero - should preserve payload - should generate a frame with padding - generating headers frame padded 1 - should generate a frame with padding - should preserve payload - should parse a frame with padding - should fill padded octets with zero - generating push_promise frame padded 256 - should preserve payload - should generate a frame with padding - should parse a frame with padding - should fill padded octets with zero - generating data frame padded 256 - should parse a frame with padding - should generate a frame with padding - should preserve payload - should fill padded octets with zero - parsing frames with invalid paddings - should raise exception when the given padding is longer than the payload - generating push_promise frame padded 1 - should parse a frame with padding - should preserve payload - should fill padded octets with zero - should generate a frame with padding - generating data frame padded 1 - should fill padded octets with zero - should parse a frame with padding - should generate a frame with padding - should preserve payload - generating with invalid padding length - should raise error on trying to generate data frame padded with invalid 1334 - should raise error on trying to generate data frame padded with invalid 0 - should raise error when adding a padding would make frame too large - should raise error on trying to generate data frame padded with invalid 257 - common header - should generate common 9 byte header - should generate a large frame - should raise exception on invalid frame size - should raise exception on invalid frame type when sending - should raise exception on invalid frame flag - should raise exception on invalid stream ID - should parse common 9 byte header - PING - should generate and parse bytes - should raise exception on invalid payload - HEADERS - should generate and parse bytes - should carry an optional stream priority - DATA - should generate and parse bytes - -HTTP2::Server - should allow server push - initialization and settings - should emit SETTINGS on new connection - should return even stream IDs - should initialize client with custom connection settings HTTP2::Header - literal representation - integer - should encode 1337 using a 0-bit prefix - should encode 10 using a 5-bit prefix - should encode 10 using a 0-bit prefix - should encode 1337 using a 5-bit prefix - string - should handle long utf-8 strings without huffman - should handle long utf-8 strings with huffman - should handle utf-8 codepoints with huffman - should handle ascii codepoints without huffman - should handle utf-8 codepoints without huffman - should handle ascii codepoints with huffman - choosing shorter representation - should return plain representation - should return plain representation - should return huffman representation + shared compression context + should be initialized with empty headers + processing + should shrink table if set smaller size + should reject table size update if exceed limit + should clear table if entry exceeds table size + incremental indexing + should process literal header with literal value + should process indexed header with literal value + never indexed + should process indexed header with literal value + should process literal header with literal value + size bounds + should drop headers from end of table + no indexing + should process indexed header with literal value + should process literal header with literal value + encode + downcases the field + fills :path if empty encode - spec example D.4. Request Examples with Huffman + spec example D.4.a. Request Examples with Huffman - Client Handling of Improperly Ordered Headers request 1 828684418cf1e3c2e5f23a6ba0ab90f4ff should emit expected bytes on wire should update header table should compute header table size - request 3 -828785bf408825a849e95ba97d7f8925a849e95bb8e8b4bf - should emit expected bytes on wire - should update header table - should compute header table size request 2 -828684be5886a8eb10649cbf - should emit expected bytes on wire should update header table should compute header table size - spec example D.6. Response Examples with Huffman - request 1 -488264025885aec3771a4b6196d07abe941054d444a8200595040b8166e082a62d1bff6e919d29ad171863c78f0b97c8e9ae82ae43d3 +828684be5886a8eb10649cbf should emit expected bytes on wire - should compute header table size - should update header table request 3 should compute header table size should update header table -88c16196d07abe941054d444a8200595040b8166e084a62d1bffc05a839bd9ab77ad94e7821dd7f2e6c7b335dfdfcd5b3960d5af27087f3672c1ab270fb5291f9587316065c003ed4ee5b1063d5007 +828785bf408825a849e95ba97d7f8925a849e95bb8e8b4bf should emit expected bytes on wire - request 2 + spec example D.4. Request Examples with Huffman + request 1 + should update header table should compute header table size -4883640effc1c0bf +828684418cf1e3c2e5f23a6ba0ab90f4ff should emit expected bytes on wire - should update header table - spec example D.5. Response Examples without Huffman request 2 should compute header table size -4803333037c1c0bf +828684be5886a8eb10649cbf should emit expected bytes on wire should update header table request 3 - should update header table -88c1611d4d6f6e2c203231204f637420323031332032303a31333a323220474d54c05a04677a69707738666f6f3d4153444a4b48514b425a584f5157454f50495541585157454f49553b206d61782d6167653d333630303b2076657273696f6e3d31 - should emit expected bytes on wire - should compute header table size - request 1 -4803333032580770726976617465611d4d6f6e2c203231204f637420323031332032303a31333a323120474d546e1768747470733a2f2f7777772e6578616d706c652e636f6d - should emit expected bytes on wire should compute header table size should update header table +828785bf408825a849e95ba97d7f8925a849e95bb8e8b4bf + should emit expected bytes on wire spec example D.3. Request Examples without Huffman request 3 + should update header table should compute header table size 828785bf400a637573746f6d2d6b65790c637573746f6d2d76616c7565 should emit expected bytes on wire + request 1 +828684410f7777772e6578616d706c652e636f6d + should emit expected bytes on wire + should compute header table size should update header table request 2 828684be58086e6f2d6361636865 should emit expected bytes on wire should compute header table size should update header table - request 1 -828684410f7777772e6578616d706c652e636f6d + spec example D.5. Response Examples without Huffman + request 3 + should update header table + should compute header table size +88c1611d4d6f6e2c203231204f637420323031332032303a31333a323220474d54c05a04677a69707738666f6f3d4153444a4b48514b425a584f5157454f50495541585157454f49553b206d61782d6167653d333630303b2076657273696f6e3d31 + should emit expected bytes on wire + request 2 +4803333037c1c0bf should emit expected bytes on wire should compute header table size should update header table - spec example D.4.a. Request Examples with Huffman - Client Handling of Improperly Ordered Headers request 1 -828684418cf1e3c2e5f23a6ba0ab90f4ff - should emit expected bytes on wire should compute header table size should update header table +4803333032580770726976617465611d4d6f6e2c203231204f637420323031332032303a31333a323120474d546e1768747470733a2f2f7777772e6578616d706c652e636f6d + should emit expected bytes on wire + spec example D.6. Response Examples with Huffman request 3 - should compute header table size - should update header table -828785bf408825a849e95ba97d7f8925a849e95bb8e8b4bf +88c16196d07abe941054d444a8200595040b8166e084a62d1bffc05a839bd9ab77ad94e7821dd7f2e6c7b335dfdfcd5b3960d5af27087f3672c1ab270fb5291f9587316065c003ed4ee5b1063d5007 should emit expected bytes on wire - request 2 should update header table should compute header table size -828684be5886a8eb10649cbf - should emit expected bytes on wire - decode - spec example D.6.a. Response Examples with Huffman - dynamic table size updates should not trigger exceptions request 1 should compute header table size +488264025885aec3771a4b6196d07abe941054d444a8200595040b8166e082a62d1bff6e919d29ad171863c78f0b97c8e9ae82ae43d3 + should emit expected bytes on wire should update header table - should emit expected headers - spec example D.5. Response Examples without Huffman request 2 - should emit expected headers - should update header table +4883640effc1c0bf + should emit expected bytes on wire should compute header table size - request 3 should update header table - should compute header table size + literal representation + integer + should encode 10 using a 0-bit prefix + should encode 1337 using a 0-bit prefix + should encode 10 using a 5-bit prefix + should encode 1337 using a 5-bit prefix + string + should handle long utf-8 strings without huffman + should handle ascii codepoints with huffman + should handle utf-8 codepoints with huffman + should handle utf-8 codepoints without huffman + should handle ascii codepoints without huffman + should handle long utf-8 strings with huffman + choosing shorter representation + should return plain representation + should return huffman representation + should return plain representation + header representation + should raise when decoding indexed representation with index zero + should handle indexed representation + literal never indexed + should handle indexed header + should handle literal header + literal w/ incremental indexing + should handle literal header + should handle indexed header + literal w/o indexing representation + should handle literal header + should handle indexed header + decode + spec example D.4. Request Examples with Huffman + request 3 should emit expected headers - request 1 should compute header table size should update header table - should emit expected headers - spec example D.4.b. Request Examples with Huffman - Server Handling of Improperly Ordered Headers - request 1 - should raise CompressionError - spec example D.6. Response Examples with Huffman request 1 should emit expected headers - should compute header table size should update header table + should compute header table size request 2 should update header table should compute header table size should emit expected headers + spec example D.3. Request Examples without Huffman request 3 - should compute header table size should emit expected headers + should compute header table size should update header table - spec example D.4. Request Examples with Huffman request 2 should compute header table size should update header table @@ -1490,147 +1368,340 @@ should emit expected headers should compute header table size should update header table + spec example D.5. Response Examples without Huffman request 3 - should update header table + should compute header table size should emit expected headers + should update header table + request 2 should compute header table size - spec example D.4.a. Request Examples with Huffman - Client Handling of Improperly Ordered Headers + should emit expected headers + should update header table request 1 + should update header table should compute header table size should emit expected headers + spec example D.6.a. Response Examples with Huffman - dynamic table size updates should not trigger exceptions + request 1 should update header table - request 2 - should update header table + should compute header table size should emit expected headers + spec example D.6. Response Examples with Huffman + request 1 should compute header table size - request 3 + should emit expected headers + should update header table + request 2 should compute header table size should emit expected headers should update header table - spec example D.3. Request Examples without Huffman request 3 - should emit expected headers - should compute header table size should update header table + should compute header table size + should emit expected headers + spec example D.4.b. Request Examples with Huffman - Server Handling of Improperly Ordered Headers request 1 + should raise CompressionError + spec example D.4.a. Request Examples with Huffman - Client Handling of Improperly Ordered Headers + request 3 + should emit expected headers should update header table should compute header table size - should emit expected headers request 2 + should emit expected headers + should compute header table size + should update header table + request 1 should compute header table size should update header table should emit expected headers - shared compression context - should be initialized with empty headers - encode - fills :path if empty - downcases the field - processing - should reject table size update if exceed limit - should clear table if entry exceeds table size - should shrink table if set smaller size - no indexing - should process literal header with literal value - should process indexed header with literal value - never indexed - should process indexed header with literal value - should process literal header with literal value - size bounds - should drop headers from end of table - incremental indexing - should process indexed header with literal value - should process literal header with literal value - header representation - should handle indexed representation - should raise when decoding indexed representation with index zero - literal w/ incremental indexing - should handle indexed header - should handle literal header - literal never indexed - should handle literal header - should handle indexed header - literal w/o indexing representation - should handle literal header - should handle indexed header -HTTP2::Emitter - should raise error on missing callback - should execute callback exactly once - should allow multiple callbacks on single event - should pass emitted callbacks to listeners - should allow events with no callbacks - should execute callback with optional args - -HTTP2::Connection +HTTP2::Server + should allow server push initialization and settings - should raise error if SETTINGS stream != 0 - should not raise error if first frame is SETTINGS - should raise error if first frame is not settings - connection management - should respond to PING frames - should not raise an error on frame for a closed stream ID - should raise error when opening new stream after receiving GOAWAY - should not raise error when receiving connection management frames immediately after emitting goaway - should raise error on invalid connection header - should fire callback on PONG - should send GOAWAY frame on connection error - should process connection management frames after GOAWAY - should raise error on frame for invalid stream ID - should raise error when opening new stream after sending GOAWAY - should fire callback on receipt of GOAWAY - API - .settings should emit SETTINGS frames - .ping should generate PING frames + should emit SETTINGS on new connection + should return even stream IDs + should initialize client with custom connection settings + +HTTP2::Header::Huffman + encode + should encode Mon, 21 Oct 2013 20:13:21 GMT into d07abe941054d444a8200595040b8166e082a62d1bff + should encode no-cache into a8eb10649cbf + should encode www.example.com into f1e3c2e5f23a6ba0ab90f4ff + decode + should raise when input is not padded by 1s + should encode then decode 'image/png,image/*;q=0.8,*/*;q=0.5' into the same + should encode then decode 'BX=c99r6jp89a7no&b=3&s=q4; localization=en-us%3Bus%3Bus' into the same + should raise when input is shorter than expected + should decode a8eb10649cbf into no-cache + should raise when exceedingly padded + should encode then decode 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' into the same + should encode/decode all_possible 2-byte sequences + should raise when EOS is explicitly encoded + should decode d07abe941054d444a8200595040b8166e082a62d1bff into Mon, 21 Oct 2013 20:13:21 GMT + should decode f1e3c2e5f23a6ba0ab90f4ff into www.example.com + should encode then decode 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0' into the same + should encode then decode 'UTF-8でエンコードした日本語文字列' into the same + should encode then decode 'http://www.craigslist.org/about/sites/' into the same + should encode then decode 'cl_b=AB2BKbsl4hGM7M4nH5PYWghTM5A; cl_def_lang=en; cl_def_hp=shoals' into the same + +HTTP2::Stream + server API + should emit received priority parameters via on(:priority) + should emit received headers via on(:headers) + should emit received payload via on(:data) + push + .promise push stream should have parent stream + .promise should emit server initiated stream + stream states + server: active > half close > close + client: promise_headers > active > headers > .. > data > close + client API + .refuse should reset stream with refused stream error code + .data should emit DATA frames + .data should split large DATA frames + .cancel should reset stream with cancel error code + .data should split large multibyte DATA frames + .reprioritize should emit PRIORITY frame + .headers should emit HEADERS frames + .reprioritize should raise error if invoked by server .window_update should emit WINDOW_UPDATE frames - .goaway should generate GOAWAY frame with last processed stream ID - stream management - should not count reserved streams against stream limit - should initialize to default stream limit (100) - should initialize stream with HEADERS priority value - should change stream limit to received SETTINGS value - should initialize idle stream on PRIORITY frame - should count open streams against stream limit - should not exceed stream limit set by peer + flow control + should initialize to default flow control window + should update window size on DATA frames only + should update window when data received is over half of the maximum local window size + should not update window when data received is less than half of maximum local window size + should update window size on receipt of WINDOW_UPDATE + should observe session flow control + stream states + should set custom stream priority + should initiliaze all streams to IDLE + reserved (remote) + should transition on received PUSH_PROMISE + should reprioritize stream on PRIORITY + should transition to half closed (local) on received HEADERS + should transition to closed on received RST_STREAM + should raise error if sending invalid frames + should raise error on receipt of invalid frames + should increment local_window on sent WINDOW_UPDATE + should transition to closed on sent RST_STREAM + half closed (local) + should emit :close event on transition to closed + should ignore received PRIORITY frames + should emit :half_close event on transition + should transition to closed on receipt of END_STREAM flag + should increment local_window on sent WINDOW_UPDATE + should transition to closed if RST_STREAM frame is sent + should ignore received WINDOW_UPDATE frames + should reprioritize stream on sent PRIORITY + should raise error on attempt to send invalid frames + should reprioritize stream (and decendants) on received PRIORITY + should transition to closed on receipt of RST_STREAM frame + half closed (remote) + should transition to closed on reciept of RST_STREAM frame + should reprioritize stream on received PRIORITY + should transition to closed when send buffer is emptied + should ignore sent WINDOW_UPDATE frames + should increment remote_window on received WINDOW_UPDATE + should raise STREAM_CLOSED error on reciept of frames + should reprioritize stream on sent PRIORITY + should transition to closed if END_STREAM flag is sent + should emit :close event on close transition + should not transition to closed if END_STREAM flag is sent when overflowing window + should emit :half_close event on transition + should transition to closed if RST_STREAM is sent + reserved (local) + should reprioritize stream on PRIORITY + should transition on sent PUSH_PROMISE + should transition to closed on received RST_STREAM + should transition to closed on sent RST_STREAM + should increment remote_window on received WINDOW_UPDATE + should allow HEADERS to be sent + should raise error on receipt of invalid frames + should transition to half closed (remote) on sent HEADERS + should raise error if sending invalid frames + open + should not emit :active on transition from open + should emit :active on open transition + should transition to half closed (local) if sending END_STREAM + should emit :close on close transition + should allow frames of any type to be received + should emit :close with reason + should transition to half closed (remote) if receiving END_STREAM + should transition to closed if sending RST_STREAM + should transition to half closed if local opened with END_STREAM + should reprioritize stream on sent PRIORITY + should reprioritize stream on received PRIORITY + should emit :close after frame is processed + should transition to half closed if remote opened with END_STREAM + should allow any valid frames types to be sent + should transition to closed if receiving RST_STREAM + closed + local closed via RST_STREAM frame + should ignore received frames + remote closed stream + should reprioritize stream on received PRIORITY + should allow PRIORITY, RST_STREAM to be received + should ignore received WINDOW_UPDATE frames + should allow PRIORITY, RST_STREAM to be sent + should raise STREAM_CLOSED on attempt to send frames + should raise STREAM_CLOSED on receipt of frame + should reprioritize stream on sent PRIORITY + idle + should transition to reserved (remote) on received PUSH_PROMISE + should reprioritize stream on received PRIORITY + should reprioritize stream on sent PRIORITY + should transition to open on received HEADERS + should transition to open on sent HEADERS + should transition to reserved (local) on sent PUSH_PROMISE + +HTTP2::Framer + should process full frames only + should determine frame length + should ignore unknown extension frames + should parse single frame at a time + RST_STREAM + should generate and parse bytes + HEADERS + should generate and parse bytes + should carry an optional stream priority + PING + should raise exception on invalid payload + should generate and parse bytes + common header + should raise exception on invalid frame size + should raise exception on invalid frame type when sending + should parse common 9 byte header + should generate common 9 byte header + should raise exception on invalid stream ID + should raise exception on invalid frame flag + should generate a large frame + GOAWAY + should generate and parse bytes + should treat debug payload as optional + PUSH_PROMISE + should generate and parse bytes + DATA + should generate and parse bytes + ALTSVC + should generate and parse bytes + PRIORITY + should generate and parse bytes + SETTINGS + should raise exception on receiving invalid stream ID + should ignore custom settings when sending + should generate settings when id is given as an integer + should raise exception on receiving invalid payload length + should generate and parse bytes + should raise exception on sending invalid setting + should raise exception on sending invalid stream ID + should ignore custom settings when receiving + WINDOW_UPDATE + should generate and parse bytes + CONTINUATION + should generate and parse bytes + Padding + generating headers frame padded 1 + should fill padded octets with zero + should generate a frame with padding + should preserve payload + should parse a frame with padding + parsing frames with invalid paddings + should raise exception when the given padding is longer than the payload + generating data frame padded 256 + should preserve payload + should fill padded octets with zero + should parse a frame with padding + should generate a frame with padding + generating push_promise frame padded 256 + should fill padded octets with zero + should generate a frame with padding + should preserve payload + should parse a frame with padding + generating with invalid padding length + should raise error on trying to generate data frame padded with invalid 1334 + should raise error when adding a padding would make frame too large + should raise error on trying to generate data frame padded with invalid 257 + should raise error on trying to generate data frame padded with invalid 0 + generating push_promise frame padded 1 + should fill padded octets with zero + should parse a frame with padding + should preserve payload + should generate a frame with padding + generating headers frame padded 256 + should generate a frame with padding + should parse a frame with padding + should fill padded octets with zero + should preserve payload + generating data frame padded 1 + should fill padded octets with zero + should generate a frame with padding + should preserve payload + should parse a frame with padding + +HTTP2::Connection + cleanup_recently_closed + should cleanup old connections flow control should update window when data received is over half of the maximum local window size should initialize streams with window specified by peer + should initialize to default flow window should update connection and stream windows on SETTINGS should observe connection flow control - should initialize to default flow window - cleanup_recently_closed - should cleanup old connections + initialization and settings + should not raise error if first frame is SETTINGS + should raise error if SETTINGS stream != 0 + should raise error if first frame is not settings Headers pre/post processing should not concatenate multiple occurences of a header field with the same name should not split zero-concatenated header field values settings synchronization - should reflect outgoing settings when ack is received should send SETTINGS ACK when SETTINGS is received should reflect incoming settings when SETTINGS is received + should reflect outgoing settings when ack is received + API + .window_update should emit WINDOW_UPDATE frames + .goaway should generate GOAWAY frame with last processed stream ID + .ping should generate PING frames + .settings should emit SETTINGS frames framing - should raise compression error on encode of invalid frame should generate CONTINUATION if HEADERS is too long - should compress stream headers - should require that split header blocks are a contiguous sequence - should not generate CONTINUATION if HEADERS fits exactly in a frame - should decode non-contiguous header blocks should generate CONTINUATION if HEADERS exceed the max payload by one byte should raise connection error on decode of invalid frame - should emit encoded frames via on(:frame) - should decompress header blocks regardless of stream state should not generate CONTINUATION if HEADERS fits exactly in a frame + should not generate CONTINUATION if HEADERS fits exactly in a frame + should emit encoded frames via on(:frame) should buffer incomplete frames + should raise compression error on encode of invalid frame + should require that split header blocks are a contiguous sequence + should decode non-contiguous header blocks + should compress stream headers + should decompress header blocks regardless of stream state + connection management + should fire callback on receipt of GOAWAY + should raise error when opening new stream after sending GOAWAY + should respond to PING frames + should send GOAWAY frame on connection error + should raise error on frame for invalid stream ID + should raise error on invalid connection header + should fire callback on PONG + should process connection management frames after GOAWAY + should not raise error when receiving connection management frames immediately after emitting goaway + should not raise an error on frame for a closed stream ID + should raise error when opening new stream after receiving GOAWAY + stream management + should initialize idle stream on PRIORITY frame + should initialize to default stream limit (100) + should change stream limit to received SETTINGS value + should not exceed stream limit set by peer + should count open streams against stream limit + should not count reserved streams against stream limit + should initialize stream with HEADERS priority value -HTTP2::Buffer - should unpack an unsigned 32-bit int - should force 8-bit encoding when adding data - should return bytesize of the buffer - should force 8-bit encoding - should read single byte at a time - -Finished in 4.8 seconds (files took 0.93579 seconds to load) +Finished in 3.98 seconds (files took 0.81212 seconds to load) 381 examples, 0 failures -Randomized with seed 31733 +Randomized with seed 19185 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1661,12 +1732,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/12644/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/12644/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/21290 and its subdirectories -I: Current time: Wed Jul 14 21:55:10 -12 2021 -I: pbuilder-time-stamp: 1626342910 +I: removing directory /srv/workspace/pbuilder/12644 and its subdirectories +I: Current time: Thu Jul 15 23:57:27 +14 2021 +I: pbuilder-time-stamp: 1626343047