Diff of the two buildlogs: -- --- b1/build.log 2025-09-10 15:49:21.551451703 +0000 +++ b2/build.log 2025-09-10 15:51:39.651623117 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Oct 13 10:10:02 -12 2026 -I: pbuilder-time-stamp: 1791929402 +I: Current time: Thu Sep 11 05:49:22 +14 2025 +I: pbuilder-time-stamp: 1757519362 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration @@ -24,53 +24,85 @@ dpkg-source: info: applying 0001-Exclude-h2-test.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2757417/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3906127/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +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 Sep 10 15:49 /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/3906127/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3906127/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='forky' - HOME='/root' - HOST_ARCH='amd64' + 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]="3" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' + DIRSTACK=() + DISTRIBUTION=forky + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='832770a67578477fb89c9d25c1d6b08a' - 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='2757417' - PS1='# ' - PS2='> ' + INVOCATION_ID=a1cd2facb5d3445eaaee6b68968ac338 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-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=3906127 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.PQUeoo9M/pbuilderrc_i1Ia --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PQUeoo9M/b1 --logfile b1/build.log golang-github-google-martian_3.3.2-3.dsc' - SUDO_GID='110' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + 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.PQUeoo9M/pbuilderrc_ie6O --distribution forky --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.PQUeoo9M/b2 --logfile b2/build.log golang-github-google-martian_3.3.2-3.dsc' + SUDO_GID=110 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.12.43+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.43+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.43-1 (2025-08-27) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2757417/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3906127/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -155,7 +187,7 @@ Get: 39 http://deb.debian.org/debian forky/main amd64 golang-golang-x-text-dev all 0.22.0-1 [3995 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 golang-golang-x-crypto-dev all 1:0.25.0-1 [1682 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 golang-golang-x-net-dev all 1:0.27.0-2 [904 kB] -Fetched 68.4 MB in 6s (11.0 MB/s) +Fetched 68.4 MB in 6s (10.7 MB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (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 ... 19897 files and directories currently installed.) @@ -334,7 +366,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/golang-github-google-martian-3.3.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 > ../golang-github-google-martian_3.3.2-3_source.changes +I: user script /srv/workspace/pbuilder/3906127/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for forky +I: user script /srv/workspace/pbuilder/3906127/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-google-martian-3.3.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 > ../golang-github-google-martian_3.3.2-3_source.changes dpkg-buildpackage: info: source package golang-github-google-martian dpkg-buildpackage: info: source version 3.3.2-3 dpkg-buildpackage: info: source distribution unstable @@ -352,46 +388,46 @@ dh_autoreconf -O--buildsystem=golang dh_auto_configure -O--buildsystem=golang dh_auto_build -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 github.com/google/martian github.com/google/martian/api github.com/google/martian/auth github.com/google/martian/body github.com/google/martian/cookie github.com/google/martian/cors github.com/google/martian/cybervillains github.com/google/martian/failure github.com/google/martian/fifo github.com/google/martian/filter github.com/google/martian/h2 github.com/google/martian/har github.com/google/martian/header github.com/google/martian/httpspec github.com/google/martian/ipauth github.com/google/martian/log github.com/google/martian/marbl github.com/google/martian/martianhttp github.com/google/martian/martianlog github.com/google/martian/martiantest github.com/google/martian/martianurl github.com/google/martian/messageview github.com/google/martian/method github.com/google/martian/mitm github.com/google/martian/mobile github.com/google/martian/noop github.com/google/martian/nosigpipe github.com/google/martian/parse github.com/google/martian/pingback github.com/google/martian/port github.com/google/martian/priority github.com/google/martian/proxyauth github.com/google/martian/proxyutil github.com/google/martian/querystring github.com/google/martian/servemux github.com/google/martian/skip github.com/google/martian/stash github.com/google/martian/static github.com/google/martian/status github.com/google/martian/trafficshape github.com/google/martian/verify + cd obj-x86_64-linux-gnu && go install -trimpath -v -p 40 github.com/google/martian github.com/google/martian/api github.com/google/martian/auth github.com/google/martian/body github.com/google/martian/cookie github.com/google/martian/cors github.com/google/martian/cybervillains github.com/google/martian/failure github.com/google/martian/fifo github.com/google/martian/filter github.com/google/martian/h2 github.com/google/martian/har github.com/google/martian/header github.com/google/martian/httpspec github.com/google/martian/ipauth github.com/google/martian/log github.com/google/martian/marbl github.com/google/martian/martianhttp github.com/google/martian/martianlog github.com/google/martian/martiantest github.com/google/martian/martianurl github.com/google/martian/messageview github.com/google/martian/method github.com/google/martian/mitm github.com/google/martian/mobile github.com/google/martian/noop github.com/google/martian/nosigpipe github.com/google/martian/parse github.com/google/martian/pingback github.com/google/martian/port github.com/google/martian/priority github.com/google/martian/proxyauth github.com/google/martian/proxyutil github.com/google/martian/querystring github.com/google/martian/servemux github.com/google/martian/skip github.com/google/martian/stash github.com/google/martian/static github.com/google/martian/status github.com/google/martian/trafficshape github.com/google/martian/verify +crypto/internal/fips140/alias internal/profilerecord -internal/byteorder internal/godebugs -github.com/google/martian/cybervillains -internal/asan +unicode/utf8 +internal/unsafeheader internal/msan -math/bits -internal/goarch -log/internal -cmp internal/coverage/rtcov vendor/golang.org/x/crypto/cryptobyte/asn1 -crypto/internal/fips140/alias +internal/asan +math/bits +github.com/google/martian/cybervillains +internal/goarch +vendor/golang.org/x/crypto/internal/alias +container/list internal/itoa +cmp +unicode internal/nettrace -container/list -vendor/golang.org/x/crypto/internal/alias -internal/runtime/syscall +internal/goos +log/internal unicode/utf16 -unicode/utf8 -sync/atomic encoding -internal/unsafeheader -crypto/internal/boring/sig -internal/goos +internal/goexperiment +internal/byteorder internal/runtime/atomic -unicode +crypto/internal/boring/sig internal/cpu -internal/goexperiment crypto/internal/fips140/subtle +sync/atomic +internal/runtime/syscall internal/runtime/math -internal/chacha8rand -crypto/internal/fips140deps/byteorder internal/runtime/sys internal/abi +crypto/internal/fips140deps/byteorder +internal/chacha8rand +internal/runtime/exithook crypto/internal/fips140deps/cpu internal/bytealg math -internal/runtime/exithook internal/stringslite internal/race internal/sync @@ -404,114 +440,114 @@ sync maps slices -errors -sort internal/bisect -internal/singleflight unique +internal/singleflight internal/testlog runtime/cgo -internal/oserror -path +internal/godebug +errors io +sort +strconv +internal/oserror vendor/golang.org/x/net/dns/dnsmessage +crypto/internal/fips140deps/godebug +path math/rand/v2 -strconv -internal/godebug +math/rand syscall +hash bytes strings -hash +hash/crc32 crypto/internal/randutil -reflect crypto -crypto/internal/fips140deps/godebug net/netip -math/rand -hash/crc32 +reflect +golang.org/x/text/transform vendor/golang.org/x/text/transform -net/http/internal/ascii crypto/internal/impl +net/http/internal/ascii +crypto/internal/fips140 bufio -golang.org/x/text/transform regexp/syntax -crypto/internal/fips140 +crypto/internal/fips140/sha3 +crypto/tls/internal/fips140tls crypto/internal/fips140/sha256 crypto/internal/fips140/sha512 -crypto/tls/internal/fips140tls -crypto/internal/fips140/sha3 -regexp crypto/internal/fips140/hmac crypto/sha3 +crypto/internal/fips140/check +crypto/internal/fips140hash internal/syscall/execenv internal/syscall/unix time -crypto/internal/fips140/check -crypto/internal/fips140hash +crypto/internal/fips140/aes crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 crypto/internal/fips140/edwards25519/field crypto/internal/fips140/bigmod -crypto/internal/fips140/aes crypto/internal/fips140/nistec/fiat crypto/internal/fips140/tls13 +regexp crypto/internal/fips140/edwards25519 -crypto/internal/fips140/nistec context io/fs internal/poll -internal/fmtsort -encoding/binary internal/filepathlite +crypto/internal/fips140/nistec os -encoding/base64 +internal/fmtsort +encoding/binary vendor/golang.org/x/crypto/internal/poly1305 +encoding/base64 encoding/pem crypto/internal/sysrand io/ioutil +path/filepath fmt vendor/golang.org/x/sys/cpu -path/filepath net crypto/internal/entropy crypto/internal/fips140/drbg -crypto/internal/fips140/aes/gcm crypto/internal/fips140only -crypto/internal/fips140/ecdh crypto/internal/fips140/ed25519 -crypto/internal/fips140/ecdsa +crypto/internal/fips140/aes/gcm crypto/internal/fips140/mlkem crypto/internal/fips140/rsa crypto/rc4 crypto/md5 +crypto/internal/fips140/ecdh +crypto/internal/fips140/ecdsa crypto/cipher -crypto/internal/boring -vendor/golang.org/x/crypto/chacha20 -crypto/des encoding/hex log -flag net/url -golang.org/x/net/http2/hpack -encoding/json -golang.org/x/text/unicode/norm +flag vendor/golang.org/x/net/http2/hpack +golang.org/x/net/http2/hpack net/http/internal compress/flate mime -math/big mime/quotedprintable +encoding/json +math/big vendor/golang.org/x/text/unicode/norm +golang.org/x/text/unicode/norm +vendor/golang.org/x/crypto/chacha20 +crypto/des +crypto/internal/boring crypto/aes +crypto/ecdh crypto/sha512 crypto/hmac crypto/sha256 crypto/sha1 -crypto/ecdh vendor/golang.org/x/crypto/chacha20poly1305 github.com/google/martian/log -vendor/golang.org/x/text/unicode/bidi golang.org/x/text/unicode/bidi +vendor/golang.org/x/text/unicode/bidi compress/gzip golang.org/x/text/secure/bidirule vendor/golang.org/x/text/secure/bidirule @@ -519,8 +555,8 @@ vendor/golang.org/x/net/idna crypto/internal/boring/bbig crypto/rand -crypto/dsa crypto/elliptic +crypto/dsa encoding/asn1 crypto/ed25519 crypto/internal/hpke @@ -532,49 +568,49 @@ vendor/golang.org/x/net/http/httpproxy net/textproto crypto/x509 -vendor/golang.org/x/net/http/httpguts golang.org/x/net/http/httpguts +vendor/golang.org/x/net/http/httpguts mime/multipart crypto/tls net/http/httptrace net/http github.com/google/martian/cors -github.com/google/martian/proxyutil -net/http/httputil github.com/google/martian/trafficshape +github.com/google/martian/proxyutil golang.org/x/net/websocket +net/http/httputil golang.org/x/net/http2 github.com/google/martian/martiantest github.com/google/martian/messageview github.com/google/martian/h2 github.com/google/martian/mitm github.com/google/martian +github.com/google/martian/api github.com/google/martian/parse -github.com/google/martian/auth github.com/google/martian/verify -github.com/google/martian/api +github.com/google/martian/auth github.com/google/martian/har github.com/google/martian/marbl -github.com/google/martian/filter github.com/google/martian/body +github.com/google/martian/priority +github.com/google/martian/stash +github.com/google/martian/static +github.com/google/martian/martianlog +github.com/google/martian/skip +github.com/google/martian/port +github.com/google/martian/noop +github.com/google/martian/filter github.com/google/martian/failure github.com/google/martian/fifo -github.com/google/martian/martianlog github.com/google/martian/pingback github.com/google/martian/martianhttp -github.com/google/martian/port -github.com/google/martian/skip -github.com/google/martian/stash -github.com/google/martian/priority -github.com/google/martian/static github.com/google/martian/status -github.com/google/martian/noop github.com/google/martian/proxyauth github.com/google/martian/ipauth github.com/google/martian/cookie -github.com/google/martian/servemux -github.com/google/martian/method github.com/google/martian/querystring +github.com/google/martian/method +github.com/google/martian/servemux github.com/google/martian/martianurl github.com/google/martian/header github.com/google/martian/httpspec @@ -583,7 +619,7 @@ make[1]: Entering directory '/build/reproducible-path/golang-github-google-martian-3.3.2' # Test fails if there's http_proxy, for example Ubuntu's autopkgtest infrastructure. http_proxy="" dh_auto_test - cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 github.com/google/martian github.com/google/martian/api github.com/google/martian/auth github.com/google/martian/body github.com/google/martian/cookie github.com/google/martian/cors github.com/google/martian/cybervillains github.com/google/martian/failure github.com/google/martian/fifo github.com/google/martian/filter github.com/google/martian/h2 github.com/google/martian/har github.com/google/martian/header github.com/google/martian/httpspec github.com/google/martian/ipauth github.com/google/martian/log github.com/google/martian/marbl github.com/google/martian/martianhttp github.com/google/martian/martianlog github.com/google/martian/martiantest github.com/google/martian/martianurl github.com/google/martian/messageview github.com/google/martian/method github.com/google/martian/mitm github.com/google/martian/mobile github.com/google/martian/noop github.com/google/martian/nosigpipe github.com/google/martian/parse github.com/google/martian/pingback github.com/google/martian/port github.com/google/martian/priority github.com/google/martian/proxyauth github.com/google/martian/proxyutil github.com/google/martian/querystring github.com/google/martian/servemux github.com/google/martian/skip github.com/google/martian/stash github.com/google/martian/static github.com/google/martian/status github.com/google/martian/trafficshape github.com/google/martian/verify + cd obj-x86_64-linux-gnu && go test -vet=off -v -p 40 github.com/google/martian github.com/google/martian/api github.com/google/martian/auth github.com/google/martian/body github.com/google/martian/cookie github.com/google/martian/cors github.com/google/martian/cybervillains github.com/google/martian/failure github.com/google/martian/fifo github.com/google/martian/filter github.com/google/martian/h2 github.com/google/martian/har github.com/google/martian/header github.com/google/martian/httpspec github.com/google/martian/ipauth github.com/google/martian/log github.com/google/martian/marbl github.com/google/martian/martianhttp github.com/google/martian/martianlog github.com/google/martian/martiantest github.com/google/martian/martianurl github.com/google/martian/messageview github.com/google/martian/method github.com/google/martian/mitm github.com/google/martian/mobile github.com/google/martian/noop github.com/google/martian/nosigpipe github.com/google/martian/parse github.com/google/martian/pingback github.com/google/martian/port github.com/google/martian/priority github.com/google/martian/proxyauth github.com/google/martian/proxyutil github.com/google/martian/querystring github.com/google/martian/servemux github.com/google/martian/skip github.com/google/martian/stash github.com/google/martian/static github.com/google/martian/status github.com/google/martian/trafficshape github.com/google/martian/verify === RUN TestContexts --- PASS: TestContexts (0.00s) === RUN TestContextHijack @@ -625,118 +661,119 @@ === RUN TestRacyClose === PAUSE TestRacyClose === RUN TestConstantThrottleAndClose -2026/10/13 22:11:49 INFO: trafficshape: configuration request -2026/10/13 22:11:49 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:49 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:49 INFO: trafficshape: set capacity: 100 -2026/10/13 22:11:49 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:11:49 INFO: trafficshape: Changing connection bandwidth to 100 for urlregex http://example/example at byte offset 0 -2026/10/13 22:11:49 INFO: trafficshape: set capacity: 100 -2026/10/13 22:11:54 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 600 -2026/10/13 22:11:54 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:11:54 INFO: martian: closing down proxy -2026/10/13 22:11:54 INFO: martian: waiting for connections to close -2026/10/13 22:11:54 INFO: martian: all connections closed +2025/09/10 15:51:01 INFO: trafficshape: configuration request +2025/09/10 15:51:01 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:01 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:01 INFO: trafficshape: set capacity: 100 +2025/09/10 15:51:01 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:01 INFO: trafficshape: Changing connection bandwidth to 100 for urlregex http://example/example at byte offset 0 +2025/09/10 15:51:01 INFO: trafficshape: set capacity: 100 +2025/09/10 15:51:06 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 600 +2025/09/10 15:51:06 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:06 INFO: martian: closing down proxy +2025/09/10 15:51:06 INFO: martian: waiting for connections to close +2025/09/10 15:51:06 INFO: martian: all connections closed --- PASS: TestConstantThrottleAndClose (5.00s) === RUN TestSleepAndClose -2026/10/13 22:11:54 INFO: trafficshape: configuration request -2026/10/13 22:11:54 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:54 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:54 INFO: trafficshape: set capacity: 5000 -2026/10/13 22:11:54 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:11:54 INFO: trafficshape: Changing connection bandwidth to 5000 for urlregex http://example/example at byte offset 0 -2026/10/13 22:11:54 INFO: trafficshape: set capacity: 5000 -2026/10/13 22:11:59 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 200 -2026/10/13 22:11:59 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:11:59 INFO: martian: closing down proxy -2026/10/13 22:11:59 INFO: martian: waiting for connections to close -2026/10/13 22:11:59 INFO: martian: all connections closed +2025/09/10 15:51:06 INFO: trafficshape: configuration request +2025/09/10 15:51:06 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:06 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:06 INFO: trafficshape: set capacity: 5000 +2025/09/10 15:51:06 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:06 INFO: trafficshape: Changing connection bandwidth to 5000 for urlregex http://example/example at byte offset 0 +2025/09/10 15:51:06 INFO: trafficshape: set capacity: 5000 +2025/09/10 15:51:11 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 200 +2025/09/10 15:51:11 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:11 INFO: martian: closing down proxy +2025/09/10 15:51:11 INFO: martian: waiting for connections to close +2025/09/10 15:51:11 INFO: martian: all connections closed --- PASS: TestSleepAndClose (5.00s) === RUN TestConstantThrottleAndCloseByteRange -2026/10/13 22:11:59 INFO: trafficshape: configuration request -2026/10/13 22:11:59 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:59 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:11:59 INFO: trafficshape: set capacity: 100 -2026/10/13 22:11:59 INFO: trafficshape: Request http://example/example with Range Start: 500 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:11:59 INFO: trafficshape: Changing connection bandwidth to 100 for urlregex http://example/example at byte offset 500 -2026/10/13 22:11:59 INFO: trafficshape: set capacity: 100 -2026/10/13 22:12:04 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 1100 -2026/10/13 22:12:04 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:04 INFO: martian: closing down proxy -2026/10/13 22:12:04 INFO: martian: waiting for connections to close -2026/10/13 22:12:04 INFO: martian: all connections closed +2025/09/10 15:51:11 INFO: trafficshape: configuration request +2025/09/10 15:51:11 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:11 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:11 INFO: trafficshape: set capacity: 100 +2025/09/10 15:51:11 INFO: trafficshape: Request http://example/example with Range Start: 500 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:11 INFO: trafficshape: Changing connection bandwidth to 100 for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:11 INFO: trafficshape: set capacity: 100 +2025/09/10 15:51:16 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 1100 +2025/09/10 15:51:16 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:16 INFO: martian: closing down proxy +2025/09/10 15:51:16 INFO: martian: waiting for connections to close +2025/09/10 15:51:16 INFO: martian: all connections closed --- PASS: TestConstantThrottleAndCloseByteRange (5.00s) === RUN TestMaxBandwidth -2026/10/13 22:12:04 INFO: trafficshape: configuration request -2026/10/13 22:12:04 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:12:04 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:12:04 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:04 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:04 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:04 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:04 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:06 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:06 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:08 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:08 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:10 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:10 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:12 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:12 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:13 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:13 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:13 INFO: martian: closing down proxy -2026/10/13 22:12:13 INFO: martian: waiting for connections to close -2026/10/13 22:12:13 INFO: martian: all connections closed +2025/09/10 15:51:16 INFO: trafficshape: configuration request +2025/09/10 15:51:16 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:16 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:16 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:16 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:16 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:16 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:16 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:19 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:19 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:20 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:20 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:21 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:21 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:24 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:24 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:25 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:25 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:25 INFO: martian: closing down proxy +2025/09/10 15:51:25 INFO: martian: waiting for connections to close +2025/09/10 15:51:25 INFO: martian: all connections closed --- PASS: TestMaxBandwidth (9.00s) === RUN TestConcurrentResponseActions -2026/10/13 22:12:13 INFO: trafficshape: configuration request -2026/10/13 22:12:13 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:12:13 INFO: trafficshape: set capacity: 62500000000 -2026/10/13 22:12:13 INFO: trafficshape: set capacity: 250 -2026/10/13 22:12:13 INFO: trafficshape: Request http://example/example with Range Start: 250 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:13 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 450 -2026/10/13 22:12:13 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:13 INFO: trafficshape: set capacity: 250 -2026/10/13 22:12:13 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. -2026/10/13 22:12:13 INFO: trafficshape: Changing connection bandwidth to 250 for urlregex http://example/example at byte offset 0 -2026/10/13 22:12:13 INFO: trafficshape: set capacity: 250 -2026/10/13 22:12:14 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 -2026/10/13 22:12:14 ERROR: martian: got error while flushing response back to client: Forcing close connection -2026/10/13 22:12:14 INFO: martian: closing down proxy -2026/10/13 22:12:14 INFO: martian: waiting for connections to close -2026/10/13 22:12:14 INFO: martian: all connections closed +2025/09/10 15:51:25 INFO: trafficshape: configuration request +2025/09/10 15:51:25 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:25 INFO: trafficshape: set capacity: 62500000000 +2025/09/10 15:51:25 INFO: trafficshape: set capacity: 250 +2025/09/10 15:51:25 INFO: trafficshape: Request http://example/example with Range Start: 0 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:25 INFO: trafficshape: set capacity: 250 +2025/09/10 15:51:25 INFO: trafficshape: Request http://example/example with Range Start: 250 matches a Shaping request http://example/example. Enforcing Traffic shaping. +2025/09/10 15:51:25 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 450 +2025/09/10 15:51:25 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:25 INFO: trafficshape: Changing connection bandwidth to 250 for urlregex http://example/example at byte offset 0 +2025/09/10 15:51:25 INFO: trafficshape: set capacity: 250 +2025/09/10 15:51:26 INFO: trafficshape: Closing connection for urlregex http://example/example at byte offset 500 +2025/09/10 15:51:26 ERROR: martian: got error while flushing response back to client: Forcing close connection +2025/09/10 15:51:26 INFO: martian: closing down proxy +2025/09/10 15:51:26 INFO: martian: waiting for connections to close +2025/09/10 15:51:26 INFO: martian: all connections closed --- PASS: TestConcurrentResponseActions (1.00s) === CONT TestIntegrationTemporaryTimeout -=== CONT TestHTTPThroughConnectWithMITM -=== CONT TestIntegrationConnectDownstreamProxy -=== CONT TestRacyClose +=== CONT TestIntegrationMITM === CONT TestIntegrationHTTPDownstreamProxyError +=== CONT TestIntegrationSkipRoundTrip +=== CONT TestRacyClose +=== CONT TestIntegrationConnectDownstreamProxy +=== CONT TestServerClosesConnection +=== CONT TestIntegrationHTTPDownstreamProxy +=== CONT TestIntegrationHTTP100Continue +=== CONT TestIntegrationHTTP +=== CONT TestIntegrationFailedRoundTrip === CONT TestIntegrationTransparentMITM === CONT TestIntegrationTransparentHTTP -=== CONT TestIntegrationHTTPDownstreamProxy === CONT TestIntegrationConnect -=== CONT TestIntegrationMITM === CONT TestIntegrationTLSHandshakeErrorCallback -=== CONT TestIntegrationHTTP -=== CONT TestIntegrationHTTP100Continue -=== CONT TestIntegrationFailedRoundTrip -=== CONT TestIntegrationSkipRoundTrip -=== CONT TestServerClosesConnection ---- PASS: TestIntegrationSkipRoundTrip (0.00s) ---- PASS: TestIntegrationTransparentHTTP (0.00s) ---- PASS: TestIntegrationHTTP (0.00s) +--- PASS: TestIntegrationHTTP (0.03s) +--- PASS: TestIntegrationFailedRoundTrip (0.03s) +=== CONT TestHTTPThroughConnectWithMITM +--- PASS: TestIntegrationSkipRoundTrip (0.04s) === NAME TestServerClosesConnection proxy_test.go:1235: Waiting for server side connection ---- PASS: TestIntegrationFailedRoundTrip (0.00s) ---- PASS: TestIntegrationHTTPDownstreamProxy (0.00s) ---- PASS: TestIntegrationHTTPDownstreamProxyError (0.00s) ---- PASS: TestRacyClose (0.03s) ---- PASS: TestIntegrationTemporaryTimeout (0.04s) ---- PASS: TestIntegrationConnect (0.20s) +--- PASS: TestIntegrationTransparentHTTP (0.03s) +--- PASS: TestIntegrationTemporaryTimeout (0.05s) +--- PASS: TestIntegrationHTTPDownstreamProxyError (0.05s) +--- PASS: TestIntegrationHTTPDownstreamProxy (0.06s) +--- PASS: TestRacyClose (0.12s) === NAME TestIntegrationTLSHandshakeErrorCallback proxy_test.go:509: skipping assertion of handshake error callback error due to mysterious deadlock ---- SKIP: TestIntegrationTLSHandshakeErrorCallback (0.29s) +--- SKIP: TestIntegrationTLSHandshakeErrorCallback (0.75s) +--- PASS: TestIntegrationConnect (0.82s) +--- PASS: TestIntegrationHTTP100Continue (1.03s) === NAME TestServerClosesConnection proxy_test.go:1240: Accepted server side connection HTTP/1.1 301 MOVED PERMANENTLY @@ -747,20 +784,19 @@ Referer: Server: ---- PASS: TestServerClosesConnection (0.40s) ---- PASS: TestHTTPThroughConnectWithMITM (0.54s) ---- PASS: TestIntegrationTransparentMITM (0.71s) ---- PASS: TestIntegrationConnectDownstreamProxy (0.78s) ---- PASS: TestIntegrationHTTP100Continue (1.00s) ---- PASS: TestIntegrationMITM (1.20s) +--- PASS: TestServerClosesConnection (1.20s) +--- PASS: TestIntegrationMITM (1.54s) +--- PASS: TestIntegrationConnectDownstreamProxy (1.85s) +--- PASS: TestHTTPThroughConnectWithMITM (1.97s) +--- PASS: TestIntegrationTransparentMITM (3.64s) PASS -ok github.com/google/martian 26.215s +ok github.com/google/martian 28.674s === RUN TestApiForwarder --- PASS: TestApiForwarder (0.00s) === RUN TestApiForwarderWithHost --- PASS: TestApiForwarderWithHost (0.00s) PASS -ok github.com/google/martian/api 0.015s +ok github.com/google/martian/api 0.011s === RUN TestFilter --- PASS: TestFilter (0.00s) === RUN TestModifyRequest @@ -768,7 +804,7 @@ === RUN TestModifyResponse --- PASS: TestModifyResponse (0.00s) PASS -ok github.com/google/martian/auth 0.015s +ok github.com/google/martian/auth 0.010s === RUN TestBodyModifier --- PASS: TestBodyModifier (0.00s) === RUN TestRangeHeaderRequestSingleRange @@ -782,7 +818,7 @@ === RUN TestModifierFromJSON --- PASS: TestModifierFromJSON (0.00s) PASS -ok github.com/google/martian/body 0.007s +ok github.com/google/martian/body 0.009s === RUN TestFilterFromJSON --- PASS: TestFilterFromJSON (0.00s) === RUN TestFilterFromJSONWithoutElse @@ -800,7 +836,7 @@ === RUN TestModifierFromJSON --- PASS: TestModifierFromJSON (0.00s) PASS -ok github.com/google/martian/cookie 0.007s +ok github.com/google/martian/cookie 0.010s === RUN TestServeHTTPSameOrigin --- PASS: TestServeHTTPSameOrigin (0.00s) === RUN TestServeHTTPPreflight @@ -808,7 +844,7 @@ === RUN TestServeHTTPSimple --- PASS: TestServeHTTPSimple (0.00s) PASS -ok github.com/google/martian/cors 0.016s +ok github.com/google/martian/cors 0.011s ? github.com/google/martian/cybervillains [no test files] === RUN TestVerifyRequestFails --- PASS: TestVerifyRequestFails (0.00s) @@ -817,7 +853,7 @@ === RUN TestVerifierFromJSON --- PASS: TestVerifierFromJSON (0.00s) PASS -ok github.com/google/martian/failure 0.011s +ok github.com/google/martian/failure 0.010s === RUN TestGroupFromJSON --- PASS: TestGroupFromJSON (0.00s) === RUN TestModifyRequest @@ -839,7 +875,7 @@ === RUN TestResets --- PASS: TestResets (0.00s) PASS -ok github.com/google/martian/fifo 0.012s +ok github.com/google/martian/fifo 0.009s === RUN TestRequestWhenTrueCondition --- PASS: TestRequestWhenTrueCondition (0.00s) === RUN TestRequestWithoutSettingCondition @@ -859,10 +895,10 @@ === RUN TestPassThroughVerifyResponses --- PASS: TestPassThroughVerifyResponses (0.00s) PASS -ok github.com/google/martian/filter 0.012s +ok github.com/google/martian/filter 0.009s ? github.com/google/martian/h2 [no test files] === RUN TestExportHandlerServeHTTP -2026/10/13 22:11:49 ERROR: har: invalid value for return param: strconv.ParseBool: parsing "notboolean": invalid syntax +2025/09/10 15:51:01 ERROR: har: invalid value for return param: strconv.ParseBool: parsing "notboolean": invalid syntax --- PASS: TestExportHandlerServeHTTP (0.00s) === RUN TestModifyRequest --- PASS: TestModifyRequest (0.00s) @@ -871,7 +907,7 @@ === RUN TestModifyRequestBodyURLEncoded --- PASS: TestModifyRequestBodyURLEncoded (0.00s) === RUN TestModifyRequestBodyArbitraryContentType -2026/10/13 22:11:49 ERROR: har: cannot parse Content-Type header "": mime: no media type +2025/09/10 15:51:01 ERROR: har: cannot parse Content-Type header "": mime: no media type --- PASS: TestModifyRequestBodyArbitraryContentType (0.00s) === RUN TestModifyRequestBodyMultipart --- PASS: TestModifyRequestBodyMultipart (0.00s) @@ -904,7 +940,7 @@ === RUN TestJSONMarshalContent --- PASS: TestJSONMarshalContent (0.00s) PASS -ok github.com/google/martian/har 0.023s +ok github.com/google/martian/har 0.021s === RUN TestCopyModifier --- PASS: TestCopyModifier (0.00s) === RUN TestCopyModifierFromJSON @@ -962,28 +998,28 @@ === RUN TestViaModifier --- PASS: TestViaModifier (0.00s) PASS -ok github.com/google/martian/header 0.011s +ok github.com/google/martian/header 0.009s === RUN TestNewStack --- PASS: TestNewStack (0.00s) PASS -ok github.com/google/martian/httpspec 0.013s +ok github.com/google/martian/httpspec 0.008s === RUN TestModifyRequest --- PASS: TestModifyRequest (0.00s) === RUN TestModifyResponse --- PASS: TestModifyResponse (0.00s) PASS -ok github.com/google/martian/ipauth 0.011s +ok github.com/google/martian/ipauth 0.008s === RUN TestLog --- PASS: TestLog (0.00s) PASS -ok github.com/google/martian/log 0.010s +ok github.com/google/martian/log 0.008s === RUN TestStreamsInSentOrder ---- PASS: TestStreamsInSentOrder (0.54s) +--- PASS: TestStreamsInSentOrder (0.53s) === RUN TestUnreadsDontBlock -2026/10/13 22:11:49 ERROR: logstream: buffer full for connection, dropping -2026/10/13 22:11:49 ERROR: logstream: buffer full for connection, dropping ---- PASS: TestUnreadsDontBlock (0.35s) -2026/10/13 22:11:49 ERROR: logstream: failed to send message: write tcp 127.0.0.1:35021->127.0.0.1:54324: write: connection reset by peer +2025/09/10 15:51:02 ERROR: logstream: buffer full for connection, dropping +2025/09/10 15:51:02 ERROR: logstream: buffer full for connection, dropping +2025/09/10 15:51:02 ERROR: logstream: failed to send message: write tcp 127.0.0.1:35585->127.0.0.1:48450: write: connection reset by peer +--- PASS: TestUnreadsDontBlock (0.34s) === RUN TestMarkAPIRequestsWithHeader --- PASS: TestMarkAPIRequestsWithHeader (0.00s) === RUN TestSendTimestampWithLogRequest @@ -997,9 +1033,9 @@ === RUN TestReturnOriginalRequestPathAndQuery --- PASS: TestReturnOriginalRequestPathAndQuery (0.00s) PASS -ok github.com/google/martian/marbl 0.895s +ok github.com/google/martian/marbl 0.884s === RUN TestAuthorityHandler ---- PASS: TestAuthorityHandler (0.13s) +--- PASS: TestAuthorityHandler (0.55s) === RUN TestIntegration --- PASS: TestIntegration (0.00s) === RUN TestNoModifiers @@ -1015,18 +1051,18 @@ === RUN TestServeHTTPInvalidMethod --- PASS: TestServeHTTPInvalidMethod (0.00s) === RUN TestServeHTTPInvalidJSON -2026/10/13 22:11:49 ERROR: martianhttp: error parsing JSON: invalid character 'o' in literal null (expecting 'u') +2025/09/10 15:51:02 ERROR: martianhttp: error parsing JSON: invalid character 'o' in literal null (expecting 'u') --- PASS: TestServeHTTPInvalidJSON (0.00s) === RUN TestServeHTTP --- PASS: TestServeHTTP (0.00s) PASS -ok github.com/google/martian/martianhttp 0.137s +ok github.com/google/martian/martianhttp 0.558s === RUN TestLoggerFromJSON --- PASS: TestLoggerFromJSON (0.00s) === RUN ExampleLogger --- PASS: ExampleLogger (0.00s) PASS -ok github.com/google/martian/martianlog 0.009s +ok github.com/google/martian/martianlog 0.017s === RUN TestModifier --- PASS: TestModifier (0.00s) === RUN TestTransport @@ -1064,7 +1100,7 @@ === RUN TestVerifierFromJSON --- PASS: TestVerifierFromJSON (0.00s) PASS -ok github.com/google/martian/martianurl 0.016s +ok github.com/google/martian/martianurl 0.017s === RUN TestRequestViewHeadersOnly --- PASS: TestRequestViewHeadersOnly (0.00s) === RUN TestRequestView @@ -1092,7 +1128,7 @@ === RUN TestResponseViewDecodeDeflateContentEncoding --- PASS: TestResponseViewDecodeDeflateContentEncoding (0.00s) PASS -ok github.com/google/martian/messageview 0.016s +ok github.com/google/martian/messageview 0.018s === RUN TestFilterModifyRequest --- PASS: TestFilterModifyRequest (0.00s) === RUN TestFilterModifyResponse @@ -1108,13 +1144,13 @@ === RUN TestBadInputToConstructor --- PASS: TestBadInputToConstructor (0.00s) PASS -ok github.com/google/martian/method 0.011s +ok github.com/google/martian/method 0.016s === RUN TestMITM ---- PASS: TestMITM (0.90s) +--- PASS: TestMITM (0.87s) === RUN TestCert ---- PASS: TestCert (0.73s) +--- PASS: TestCert (0.86s) PASS -ok github.com/google/martian/mitm 1.637s +ok github.com/google/martian/mitm 1.837s ? github.com/google/martian/mobile [no test files] ? github.com/google/martian/noop [no test files] ? github.com/google/martian/nosigpipe [no test files] @@ -1133,7 +1169,7 @@ === RUN TestVerifierFromJSON --- PASS: TestVerifierFromJSON (0.00s) PASS -ok github.com/google/martian/pingback 0.009s +ok github.com/google/martian/pingback 0.007s === RUN TestFilterModifyRequest --- PASS: TestFilterModifyRequest (0.00s) === RUN TestFilterFromJSON @@ -1153,7 +1189,7 @@ === RUN TestModiferFromJSONInvalidConfigurations --- PASS: TestModiferFromJSONInvalidConfigurations (0.00s) PASS -ok github.com/google/martian/port 0.012s +ok github.com/google/martian/port 0.008s === RUN TestPriorityGroupModifyRequest --- PASS: TestPriorityGroupModifyRequest (0.00s) === RUN TestPriorityGroupModifyRequestHaltsOnError @@ -1165,7 +1201,7 @@ === RUN TestGroupFromJSON --- PASS: TestGroupFromJSON (0.00s) PASS -ok github.com/google/martian/priority 0.008s +ok github.com/google/martian/priority 0.019s === RUN TestNoModifiers --- PASS: TestNoModifiers (0.00s) === RUN TestProxyAuth @@ -1187,7 +1223,7 @@ === RUN TestWarning --- PASS: TestWarning (0.00s) PASS -ok github.com/google/martian/proxyutil 0.008s +ok github.com/google/martian/proxyutil 0.016s === RUN TestNoModifiers --- PASS: TestNoModifiers (0.00s) === RUN TestQueryStringFilterWithQuery @@ -1221,19 +1257,19 @@ === RUN TestVerifierFromJSON --- PASS: TestVerifierFromJSON (0.00s) PASS -ok github.com/google/martian/querystring 0.014s +ok github.com/google/martian/querystring 0.017s === RUN TestModifyRequest --- PASS: TestModifyRequest (0.00s) === RUN TestModifyResponse --- PASS: TestModifyResponse (0.00s) PASS -ok github.com/google/martian/servemux 0.008s +ok github.com/google/martian/servemux 0.014s === RUN TestRoundTrip --- PASS: TestRoundTrip (0.00s) === RUN TestFromJSON --- PASS: TestFromJSON (0.00s) PASS -ok github.com/google/martian/skip 0.009s +ok github.com/google/martian/skip 0.006s === RUN TestStashRequest --- PASS: TestStashRequest (0.00s) === RUN TestStashRequestResponse @@ -1245,7 +1281,7 @@ === RUN TestModiferFromJSONInvalidConfigurations --- PASS: TestModiferFromJSONInvalidConfigurations (0.00s) PASS -ok github.com/google/martian/stash 0.007s +ok github.com/google/martian/stash 0.009s === RUN Test404WhenExplictlyMappedFileDoesNotExist --- PASS: Test404WhenExplictlyMappedFileDoesNotExist (0.00s) === RUN TestFileExistsInBothExplictlyMappedPathAndInferredPath @@ -1271,7 +1307,7 @@ === RUN TestVerifierFromJSON --- PASS: TestVerifierFromJSON (0.00s) PASS -ok github.com/google/martian/status 0.008s +ok github.com/google/martian/status 0.011s === RUN TestBucket === PAUSE TestBucket === RUN TestBucketClosed @@ -1285,19 +1321,19 @@ === RUN TestHandlerIncorrectInputs handler_test.go:123: case 1: overlapping throttle handler_test.go:123: case 2: negative bandwidth -2026/10/13 22:11:49 ERROR: Error while parsing the received json: invalid character 'a' looking for beginning of value +2025/09/10 15:51:01 ERROR: Error while parsing the received json: invalid character 'a' looking for beginning of value handler_test.go:123: case 3: negative close byte handler_test.go:123: case 4: uncompiling regex handler_test.go:123: case 5: missing count handler_test.go:123: case 6: illformed byte range handler_test.go:123: case 7: throttle end < start handler_test.go:123: case 8: missing comma -2026/10/13 22:11:49 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair +2025/09/10 15:51:01 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair handler_test.go:123: case 9: missing regex handler_test.go:123: case 10: negative default bandwidth -2026/10/13 22:11:49 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair +2025/09/10 15:51:01 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair handler_test.go:123: case 11: negative default latency -2026/10/13 22:11:49 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair +2025/09/10 15:51:01 ERROR: Error while parsing the received json: invalid character '"' after object key:value pair --- PASS: TestHandlerIncorrectInputs (0.00s) === RUN TestHandlerClear --- PASS: TestHandlerClear (0.00s) @@ -1316,53 +1352,53 @@ === RUN TestActionsAfterUpdatingCounts --- PASS: TestActionsAfterUpdatingCounts (0.00s) === CONT TestBucket -=== CONT TestListenerRead -=== CONT TestListenerReadFrom -=== CONT TestBucketClosed -2026/10/13 22:11:49 ERROR: trafficshape: fill on closed bucket -2026/10/13 22:11:49 ERROR: trafficshape: fill on closed bucket === CONT TestBucketOverflow -=== CONT TestBucketThrottle +=== CONT TestListenerWrite +--- PASS: TestBucketOverflow (0.00s) +=== CONT TestBucketClosed +=== CONT TestListenerReadFrom +2025/09/10 15:51:01 ERROR: trafficshape: fill on closed bucket +2025/09/10 15:51:01 ERROR: trafficshape: fill on closed bucket --- PASS: TestBucketClosed (0.00s) +=== CONT TestListenerRead === CONT TestBucketFillThrottleCloseBeforeTick ---- PASS: TestBucketOverflow (0.00s) === CONT TestListenerWriteTo -=== CONT TestListenerWrite +=== CONT TestBucketThrottle --- PASS: TestBucket (0.01s) -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket --- PASS: TestBucketFillThrottleCloseBeforeTick (1.00s) +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket --- PASS: TestBucketThrottle (1.00s) -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket -2026/10/13 22:11:50 ERROR: trafficshape: fill on closed bucket ---- PASS: TestListenerWrite (3.00s) +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket +2025/09/10 15:51:02 ERROR: trafficshape: fill on closed bucket --- PASS: TestListenerRead (4.00s) --- PASS: TestListenerReadFrom (4.00s) +--- PASS: TestListenerWrite (4.00s) --- PASS: TestListenerWriteTo (4.00s) PASS -ok github.com/google/martian/trafficshape 4.020s +ok github.com/google/martian/trafficshape 4.011s === RUN TestHandlerServeHTTPUnsupportedMethod -2026/10/13 22:11:49 ERROR: verify: invalid request method: POST -2026/10/13 22:11:49 ERROR: verify: invalid request method: PUT -2026/10/13 22:11:49 ERROR: verify: invalid request method: DELETE +2025/09/10 15:51:01 ERROR: verify: invalid request method: POST +2025/09/10 15:51:01 ERROR: verify: invalid request method: PUT +2025/09/10 15:51:01 ERROR: verify: invalid request method: DELETE --- PASS: TestHandlerServeHTTPUnsupportedMethod (0.00s) === RUN TestHandlerServeHTTPNoVerifiers --- PASS: TestHandlerServeHTTPNoVerifiers (0.00s) === RUN TestHandlerServeHTTP --- PASS: TestHandlerServeHTTP (0.00s) === RUN TestResetHandlerServeHTTPUnsupportedMethod -2026/10/13 22:11:49 ERROR: verify: invalid request method: GET -2026/10/13 22:11:49 ERROR: verify: invalid request method: PUT -2026/10/13 22:11:49 ERROR: verify: invalid request method: DELETE +2025/09/10 15:51:01 ERROR: verify: invalid request method: GET +2025/09/10 15:51:01 ERROR: verify: invalid request method: PUT +2025/09/10 15:51:01 ERROR: verify: invalid request method: DELETE --- PASS: TestResetHandlerServeHTTPUnsupportedMethod (0.00s) === RUN TestResetHandlerServeHTTPNoVerifiers --- PASS: TestResetHandlerServeHTTPNoVerifiers (0.00s) === RUN TestResetHandlerServeHTTP --- PASS: TestResetHandlerServeHTTP (0.00s) PASS -ok github.com/google/martian/verify 0.006s +ok github.com/google/martian/verify 0.012s make[1]: Leaving directory '/build/reproducible-path/golang-github-google-martian-3.3.2' create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang @@ -1390,12 +1426,14 @@ 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/3906127/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3906127/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/2757417 and its subdirectories -I: Current time: Tue Oct 13 10:12:20 -12 2026 -I: pbuilder-time-stamp: 1791929540 +I: removing directory /srv/workspace/pbuilder/3906127 and its subdirectories +I: Current time: Thu Sep 11 05:51:39 +14 2025 +I: pbuilder-time-stamp: 1757519499