Diff of the two buildlogs: -- --- b1/build.log 2025-10-13 11:50:12.723917667 +0000 +++ b2/build.log 2025-10-13 11:58:06.488447744 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Oct 12 23:43:13 -12 2025 -I: pbuilder-time-stamp: 1760355793 +I: Current time: Mon Nov 16 08:13:14 +14 2026 +I: pbuilder-time-stamp: 1794766394 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -30,52 +30,84 @@ dpkg-source: info: applying fix-newer-viper.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2852026/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3799220/tmp/hooks/D01_modify_environment starting +debug: Running on infom02-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 Nov 15 18:13 /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/3799220/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3799220/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=12 ' - DISTRIBUTION='unstable' - 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=16 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='0757b3f2fdf54dd0b975034325d1a127' - 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='2852026' - PS1='# ' - PS2='> ' + INVOCATION_ID=42489d68b04d441f8361fba83baba700 + 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=3799220 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.15uzWPy9/pbuilderrc_NZVO --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.15uzWPy9/b1 --logfile b1/build.log notary_0.7.0+git20240416.9d2b3b3+ds1-4.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.15uzWPy9/pbuilderrc_uqDo --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.15uzWPy9/b2 --logfile b2/build.log notary_0.7.0+git20240416.9d2b3b3+ds1-4.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom01-amd64 6.12.48+deb13-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.48-1 (2025-09-20) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2852026/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3799220/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -407,7 +439,7 @@ Get: 238 http://deb.debian.org/debian unstable/main amd64 protobuf-compiler amd64 3.21.12-14 [85.0 kB] Get: 239 http://deb.debian.org/debian unstable/main amd64 protoc-gen-go-1-5 amd64 1.5.4-2 [1863 kB] Get: 240 http://deb.debian.org/debian unstable/main amd64 protoc-gen-go-grpc amd64 1.66.3-2 [1795 kB] -Fetched 176 MB in 2s (71.8 MB/s) +Fetched 176 MB in 9s (19.0 MB/s) Preconfiguring packages ... Selecting previously unselected package golang-golang-x-sys-dev. (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 ... 19856 files and directories currently installed.) @@ -1189,8 +1221,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Oct 13 11:48:41 UTC 2025. -Universal Time is now: Mon Oct 13 11:48:41 UTC 2025. +Local time is now: Sun Nov 15 18:18:57 UTC 2026. +Universal Time is now: Sun Nov 15 18:18:57 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up golang-github-cespare-xxhash-dev (2.3.0-1) ... @@ -1388,7 +1420,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/notary-0.7.0+git20240416.9d2b3b3+ds1/ && 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 > ../notary_0.7.0+git20240416.9d2b3b3+ds1-4_source.changes +I: user script /srv/workspace/pbuilder/3799220/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/3799220/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/notary-0.7.0+git20240416.9d2b3b3+ds1/ && 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 > ../notary_0.7.0+git20240416.9d2b3b3+ds1-4_source.changes dpkg-buildpackage: info: source package notary dpkg-buildpackage: info: source version 0.7.0+git20240416.9d2b3b3+ds1-4 dpkg-buildpackage: info: source distribution unstable @@ -1672,49 +1708,49 @@ src/github.com/theupdateframework/notary/utils/http.go src/github.com/theupdateframework/notary/utils/http_test.go src/github.com/theupdateframework/notary/version/version.go - cd _build && go install -trimpath -v -p 12 -tags pkcs11 github.com/theupdateframework/notary github.com/theupdateframework/notary/client github.com/theupdateframework/notary/client/changelist github.com/theupdateframework/notary/cmd/escrow github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/cmd/notary-server github.com/theupdateframework/notary/cmd/notary-signer github.com/theupdateframework/notary/cryptoservice github.com/theupdateframework/notary/passphrase github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/server github.com/theupdateframework/notary/server/errors github.com/theupdateframework/notary/server/handlers github.com/theupdateframework/notary/server/snapshot github.com/theupdateframework/notary/server/storage github.com/theupdateframework/notary/server/timestamp github.com/theupdateframework/notary/signer github.com/theupdateframework/notary/signer/api github.com/theupdateframework/notary/signer/client github.com/theupdateframework/notary/signer/keydbstore github.com/theupdateframework/notary/storage github.com/theupdateframework/notary/storage/rethinkdb github.com/theupdateframework/notary/trustmanager github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/yubikey github.com/theupdateframework/notary/trustpinning github.com/theupdateframework/notary/tuf github.com/theupdateframework/notary/tuf/data github.com/theupdateframework/notary/tuf/signed github.com/theupdateframework/notary/tuf/testutils github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/tuf/testutils/keys github.com/theupdateframework/notary/tuf/utils github.com/theupdateframework/notary/tuf/validation github.com/theupdateframework/notary/utils github.com/theupdateframework/notary/version -internal/goos -internal/goarch + cd _build && go install -trimpath -v -p 16 -tags pkcs11 github.com/theupdateframework/notary github.com/theupdateframework/notary/client github.com/theupdateframework/notary/client/changelist github.com/theupdateframework/notary/cmd/escrow github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/cmd/notary-server github.com/theupdateframework/notary/cmd/notary-signer github.com/theupdateframework/notary/cryptoservice github.com/theupdateframework/notary/passphrase github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/server github.com/theupdateframework/notary/server/errors github.com/theupdateframework/notary/server/handlers github.com/theupdateframework/notary/server/snapshot github.com/theupdateframework/notary/server/storage github.com/theupdateframework/notary/server/timestamp github.com/theupdateframework/notary/signer github.com/theupdateframework/notary/signer/api github.com/theupdateframework/notary/signer/client github.com/theupdateframework/notary/signer/keydbstore github.com/theupdateframework/notary/storage github.com/theupdateframework/notary/storage/rethinkdb github.com/theupdateframework/notary/trustmanager github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/yubikey github.com/theupdateframework/notary/trustpinning github.com/theupdateframework/notary/tuf github.com/theupdateframework/notary/tuf/data github.com/theupdateframework/notary/tuf/signed github.com/theupdateframework/notary/tuf/testutils github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/tuf/testutils/keys github.com/theupdateframework/notary/tuf/utils github.com/theupdateframework/notary/tuf/validation github.com/theupdateframework/notary/utils github.com/theupdateframework/notary/version +unicode/utf8 +internal/asan internal/unsafeheader +math/bits internal/msan -internal/goexperiment -internal/byteorder internal/coverage/rtcov +internal/goexperiment internal/profilerecord -internal/godebugs -internal/asan +internal/byteorder +internal/goos +internal/goarch internal/cpu internal/runtime/syscall -internal/abi -internal/runtime/math -internal/runtime/sys internal/runtime/atomic +internal/godebugs sync/atomic -math/bits -unicode/utf8 -internal/itoa unicode -internal/chacha8rand +internal/runtime/math +internal/runtime/sys +internal/abi +internal/itoa cmp crypto/internal/fips140/alias -crypto/internal/fips140deps/byteorder encoding unicode/utf16 log/internal +internal/chacha8rand +crypto/internal/fips140deps/byteorder crypto/internal/boring/sig -crypto/internal/fips140/subtle vendor/golang.org/x/crypto/cryptobyte/asn1 internal/nettrace container/list -vendor/golang.org/x/crypto/internal/alias internal/runtime/exithook +crypto/internal/fips140/subtle +vendor/golang.org/x/crypto/internal/alias github.com/pelletier/go-toml/v2/internal/characters crypto/internal/fips140deps/cpu internal/bytealg github.com/spf13/viper/internal/features -math log/slog/internal google.golang.org/protobuf/internal/flags +math google.golang.org/protobuf/internal/set google.golang.org/grpc/serviceconfig github.com/theupdateframework/notary/version @@ -1725,101 +1761,101 @@ internal/runtime/maps runtime iter -crypto/subtle internal/reflectlite -weak sync +weak +crypto/subtle runtime/metrics maps slices internal/bisect +internal/testlog internal/singleflight unique -log/slog/internal/buffer -google.golang.org/protobuf/internal/pragma github.com/sagikazarmark/locafero/internal/queue -internal/testlog -sort -errors +google.golang.org/protobuf/internal/pragma +log/slog/internal/buffer runtime/cgo +errors +sort +io internal/oserror -strconv -path internal/godebug -math/rand/v2 vendor/golang.org/x/net/dns/dnsmessage +path +strconv +math/rand/v2 +github.com/beorn7/perks/quantile github.com/go-viper/mapstructure/internal/errors -io google.golang.org/grpc/internal/buffer syscall hash -bytes -github.com/beorn7/perks/quantile crypto/internal/fips140deps/godebug -strings +bytes crypto/internal/randutil +strings math/rand internal/saferio -hash/crc32 hash/fnv -hash/adler32 +hash/crc32 github.com/prometheus/client_golang/prometheus/promhttp/internal +hash/adler32 crypto -reflect net/netip +reflect golang.org/x/crypto/blowfish encoding/base32 vendor/golang.org/x/text/transform -golang.org/x/text/transform github.com/dvsekhvalnov/jose2go/padding -golang.org/x/text/runes +golang.org/x/text/transform crypto/internal/fips140 crypto/internal/impl bufio regexp/syntax -html net/http/internal/ascii +html github.com/munnerz/goautoneg net/http/internal/testcert crypto/internal/fips140/sha3 crypto/internal/fips140/sha256 crypto/internal/fips140/sha512 crypto/tls/internal/fips140tls -crypto/sha3 -internal/syscall/execenv -time +golang.org/x/text/runes internal/syscall/unix +time +internal/syscall/execenv crypto/internal/fips140/hmac +crypto/sha3 +regexp crypto/internal/fips140hash crypto/internal/fips140/check crypto/internal/fips140/aes -crypto/internal/fips140/nistec/fiat crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 -crypto/internal/fips140/edwards25519/field +crypto/internal/fips140/nistec/fiat crypto/internal/fips140/bigmod +crypto/internal/fips140/edwards25519/field crypto/internal/fips140/tls13 -regexp -crypto/internal/fips140/edwards25519 -github.com/jinzhu/inflection -google.golang.org/grpc/backoff context +internal/poll +google.golang.org/grpc/keepalive +google.golang.org/grpc/backoff io/fs github.com/bugsnag/bugsnag-go/headers -google.golang.org/grpc/keepalive -internal/poll -crypto/internal/fips140/nistec -golang.org/x/net/context +github.com/jinzhu/inflection +crypto/internal/fips140/edwards25519 +internal/filepathlite +embed +github.com/spf13/afero/internal/common google.golang.org/grpc/internal/backoff +golang.org/x/net/context google.golang.org/grpc/internal/grpcsync gopkg.in/rethinkdb/rethinkdb-go.v6/vendor/gopkg.in/cenkalti/backoff.v2 -encoding/binary internal/fmtsort -internal/filepathlite -github.com/spf13/afero/internal/common -embed +encoding/binary google.golang.org/protobuf/internal/editiondefaults os +crypto/internal/fips140/nistec encoding/base64 vendor/golang.org/x/crypto/internal/poly1305 filippo.io/edwards25519/field @@ -1827,342 +1863,342 @@ golang.org/x/sys/unix encoding/pem github.com/dvsekhvalnov/jose2go/base64url -github.com/dvsekhvalnov/jose2go/compact filippo.io/edwards25519 +github.com/dvsekhvalnov/jose2go/compact crypto/internal/sysrand -fmt +io/ioutil path/filepath +fmt google.golang.org/protobuf/internal/detrand -github.com/bugsnag/bugsnag-go/device google.golang.org/grpc/internal/envconfig -github.com/prometheus/procfs/internal/util -io/ioutil -net +github.com/bugsnag/bugsnag-go/device vendor/golang.org/x/sys/cpu os/signal +github.com/prometheus/procfs/internal/util internal/sysinfo crypto/internal/entropy crypto/internal/fips140/drbg github.com/spf13/afero/mem os/exec crypto/internal/fips140only -crypto/internal/fips140/ecdh -crypto/internal/fips140/ecdsa crypto/internal/fips140/rsa -crypto/internal/fips140/ed25519 crypto/internal/fips140/aes/gcm +crypto/internal/fips140/ed25519 crypto/internal/fips140/mlkem crypto/md5 crypto/rc4 +crypto/internal/fips140/ecdh +crypto/internal/fips140/ecdsa github.com/theupdateframework/notary github.com/bugsnag/panicwrap crypto/cipher -log +net +vendor/golang.org/x/net/http2/hpack +github.com/docker/go/canonical/json +math/big +mime +compress/flate encoding/hex net/url -math/big mime/quotedprintable -mime encoding/json -github.com/docker/go/canonical/json -compress/flate vendor/golang.org/x/text/unicode/norm -vendor/golang.org/x/text/unicode/bidi -vendor/golang.org/x/net/http2/hpack +log crypto/internal/boring crypto/des +vendor/golang.org/x/crypto/chacha20 +net/http/internal +github.com/miekg/pkcs11 crypto/ecdh crypto/sha512 crypto/sha256 crypto/aes crypto/sha1 crypto/hmac -compress/gzip -vendor/golang.org/x/crypto/chacha20 -vendor/golang.org/x/text/secure/bidirule +vendor/golang.org/x/crypto/chacha20poly1305 golang.org/x/crypto/pbkdf2 -net/http/internal -github.com/miekg/pkcs11 flag +vendor/golang.org/x/text/unicode/bidi encoding/csv -github.com/fsnotify/fsnotify/internal -vendor/golang.org/x/net/idna golang.org/x/text/unicode/norm -vendor/golang.org/x/crypto/chacha20poly1305 -github.com/fsnotify/fsnotify github.com/spf13/cast/internal text/template/parse +compress/gzip github.com/subosito/gotenv +github.com/fsnotify/fsnotify/internal github.com/pelletier/go-toml/v2/internal/danger go.yaml.in/yaml/v3 google.golang.org/protobuf/internal/errors -github.com/pelletier/go-toml/v2/unstable go/token +github.com/pelletier/go-toml/v2/unstable +google.golang.org/protobuf/encoding/protowire google.golang.org/protobuf/internal/version +github.com/fsnotify/fsnotify golang.org/x/net/internal/timeseries -google.golang.org/protobuf/encoding/protowire +text/tabwriter +google.golang.org/grpc/attributes +google.golang.org/grpc/internal/idle +google.golang.org/protobuf/reflect/protoreflect +vendor/golang.org/x/text/secure/bidirule +golang.org/x/text/unicode/bidi +golang.org/x/net/http2/hpack +github.com/pkg/errors +database/sql/driver +compress/zlib +vendor/golang.org/x/net/idna +github.com/pelletier/go-toml/v2/internal/tracker +github.com/bugsnag/bugsnag-go/errors +github.com/opencontainers/go-digest crypto/rand -github.com/docker/distribution/uuid -github.com/sirupsen/logrus crypto/elliptic +github.com/sirupsen/logrus crypto/internal/boring/bbig encoding/asn1 -crypto/dsa +github.com/docker/distribution/uuid crypto/rsa +crypto/dsa crypto/ed25519 github.com/theupdateframework/notary/tuf/validation -golang.org/x/crypto/ed25519 crypto/internal/hpke +text/template github.com/spf13/viper/internal/encoding/json -github.com/pelletier/go-toml/v2/internal/tracker +github.com/pelletier/go-toml/v2 log/slog -google.golang.org/protobuf/reflect/protoreflect -text/tabwriter google.golang.org/grpc/grpclog/internal -google.golang.org/grpc/attributes -github.com/pelletier/go-toml/v2 -google.golang.org/grpc/internal/idle -golang.org/x/text/unicode/bidi -text/template -golang.org/x/net/http2/hpack -google.golang.org/grpc/grpclog -vendor/golang.org/x/crypto/cryptobyte -crypto/x509/pkix -google.golang.org/grpc/connectivity -google.golang.org/grpc/internal/grpclog -github.com/pkg/errors -database/sql/driver -compress/zlib -github.com/opencontainers/go-digest -github.com/bugsnag/bugsnag-go/errors golang.org/x/text/secure/bidirule -github.com/opencontainers/image-spec/specs-go -github.com/distribution/reference database/sql -crypto/ecdsa -github.com/opencontainers/image-spec/specs-go/v1 -golang.org/x/net/idna +golang.org/x/crypto/ed25519 +github.com/distribution/reference +github.com/opencontainers/image-spec/specs-go +google.golang.org/grpc/grpclog github.com/prometheus/procfs/internal/fs -google.golang.org/protobuf/internal/descfmt +vendor/golang.org/x/crypto/cryptobyte +crypto/x509/pkix google.golang.org/protobuf/internal/descopts +google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/internal/strs google.golang.org/protobuf/internal/encoding/messageset -html/template -google.golang.org/protobuf/internal/genid -google.golang.org/protobuf/internal/encoding/text google.golang.org/protobuf/internal/order -github.com/spf13/viper/internal/encoding/toml -google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/internal/genid google.golang.org/protobuf/runtime/protoiface +golang.org/x/net/idna github.com/spf13/viper/internal/encoding/yaml +github.com/opencontainers/image-spec/specs-go/v1 +google.golang.org/grpc/connectivity +google.golang.org/protobuf/internal/encoding/text +google.golang.org/protobuf/reflect/protoregistry +google.golang.org/protobuf/internal/protolazy +google.golang.org/grpc/internal/grpclog google.golang.org/protobuf/internal/encoding/json runtime/debug golang.org/x/term -google.golang.org/protobuf/internal/protolazy golang.org/x/crypto/bcrypt github.com/lib/pq/scram -google.golang.org/protobuf/proto -google.golang.org/protobuf/internal/encoding/defval os/user go/scanner github.com/hailocab/go-hostpool +crypto/ecdsa github.com/opentracing/opentracing-go/log +github.com/spf13/viper/internal/encoding/toml +github.com/theupdateframework/notary/passphrase +google.golang.org/protobuf/proto gopkg.in/rethinkdb/rethinkdb-go.v6/encoding gopkg.in/rethinkdb/rethinkdb-go.v6/types -github.com/theupdateframework/notary/passphrase internal/profile runtime/pprof -runtime/trace go/ast +google.golang.org/protobuf/internal/encoding/defval +runtime/trace github.com/dvsekhvalnov/jose2go/arrays -github.com/spf13/cast +html/template github.com/davecgh/go-spew/spew -github.com/pmezard/go-difflib/difflib github.com/dvsekhvalnov/jose2go/aes -google.golang.org/protobuf/internal/filedesc -google.golang.org/protobuf/encoding/prototext -google.golang.org/protobuf/encoding/protodelim github.com/dvsekhvalnov/jose2go/kdf +github.com/pmezard/go-difflib/difflib gopkg.in/yaml.v3 testing -github.com/spf13/viper/internal/encoding/dotenv +google.golang.org/protobuf/internal/filedesc +google.golang.org/protobuf/encoding/protodelim +google.golang.org/protobuf/encoding/prototext github.com/jinzhu/gorm -crypto/x509 -net/textproto +github.com/spf13/cast +github.com/stretchr/testify/assert/yaml +google.golang.org/protobuf/internal/encoding/tag +google.golang.org/protobuf/encoding/protojson +google.golang.org/protobuf/internal/impl +github.com/spf13/viper/internal/encoding/dotenv vendor/golang.org/x/net/http/httpproxy +net/textproto github.com/go-viper/mapstructure -github.com/spf13/pflag google.golang.org/grpc/internal -google.golang.org/protobuf/internal/encoding/tag -google.golang.org/protobuf/encoding/protojson +crypto/x509 +google.golang.org/grpc/internal/syscall +google.golang.org/grpc/internal/resolver/dns/internal +github.com/google/uuid +github.com/spf13/pflag +github.com/prometheus/procfs google.golang.org/grpc/experimental/stats -google.golang.org/protobuf/internal/impl +google.golang.org/grpc/codes +google.golang.org/grpc/metadata +google.golang.org/grpc/mem mime/multipart vendor/golang.org/x/net/http/httpguts -google.golang.org/grpc/metadata -google.golang.org/grpc/codes +golang.org/x/net/http/httpguts google.golang.org/grpc/internal/grpcutil -google.golang.org/grpc/mem google.golang.org/grpc/internal/balancerload +google.golang.org/grpc/tap google.golang.org/grpc/stats -golang.org/x/net/http/httpguts -google.golang.org/grpc/internal/syscall google.golang.org/grpc/internal/stats -google.golang.org/grpc/tap google.golang.org/grpc/encoding -google.golang.org/grpc/internal/resolver/dns/internal -github.com/google/uuid -github.com/prometheus/procfs -github.com/stretchr/testify/assert/yaml +google.golang.org/protobuf/internal/filetype +google.golang.org/protobuf/runtime/protoimpl +google.golang.org/protobuf/types/known/emptypb +google.golang.org/protobuf/protoadapt +google.golang.org/protobuf/types/known/timestamppb +google.golang.org/protobuf/types/known/anypb +google.golang.org/protobuf/types/known/durationpb +google.golang.org/protobuf/types/descriptorpb github.com/dvsekhvalnov/jose2go/keys/ecc github.com/theupdateframework/notary/tuf/data crypto/tls +google.golang.org/grpc/internal/pretty +google.golang.org/grpc/encoding/proto +github.com/golang/protobuf/ptypes/empty github.com/spf13/cobra +github.com/golang/protobuf/ptypes/timestamp +github.com/prometheus/client_model/go github.com/dvsekhvalnov/jose2go +google.golang.org/genproto/googleapis/rpc/status +github.com/golang/protobuf/ptypes/duration +google.golang.org/grpc/binarylog/grpc_binarylog_v1 +google.golang.org/grpc/internal/status +github.com/prometheus/common/model +google.golang.org/grpc/status github.com/theupdateframework/notary/client/changelist github.com/theupdateframework/notary/tuf/utils -google.golang.org/protobuf/internal/filetype +google.golang.org/grpc/internal/binarylog +google.golang.org/protobuf/types/gofeaturespb +google.golang.org/protobuf/internal/editionssupport +google.golang.org/protobuf/reflect/protodesc +github.com/prometheus/client_golang/prometheus/internal +github.com/golang/protobuf/proto +gopkg.in/rethinkdb/rethinkdb-go.v6/ql2 net/http/httptrace -google.golang.org/grpc/internal/credentials github.com/docker/go-connections/tlsconfig +google.golang.org/grpc/internal/credentials github.com/docker/libtrust -github.com/lib/pq github.com/go-sql-driver/mysql +github.com/lib/pq google.golang.org/grpc/credentials net/http -google.golang.org/protobuf/runtime/protoimpl -google.golang.org/protobuf/types/known/emptypb -google.golang.org/protobuf/protoadapt -google.golang.org/protobuf/types/known/durationpb -google.golang.org/protobuf/types/known/anypb -google.golang.org/protobuf/types/known/timestamppb -google.golang.org/protobuf/types/descriptorpb -google.golang.org/grpc/internal/channelz google.golang.org/grpc/resolver -google.golang.org/grpc/internal/pretty +google.golang.org/grpc/peer google.golang.org/grpc/credentials/insecure -github.com/golang/protobuf/ptypes/empty -google.golang.org/grpc/encoding/proto -github.com/golang/protobuf/ptypes/duration -github.com/golang/protobuf/ptypes/timestamp -google.golang.org/genproto/googleapis/rpc/status +google.golang.org/grpc/internal/channelz google.golang.org/grpc/internal/metadata -google.golang.org/grpc/internal/resolver/passthrough -google.golang.org/grpc/internal/transport/networktype -google.golang.org/grpc/binarylog/grpc_binarylog_v1 -google.golang.org/grpc/peer google.golang.org/grpc/balancer/grpclb/state -google.golang.org/grpc/internal/resolver/unix -github.com/prometheus/client_model/go -google.golang.org/grpc/internal/status +google.golang.org/grpc/internal/transport/networktype +google.golang.org/grpc/internal/resolver/passthrough google.golang.org/grpc/internal/resolver/dns +google.golang.org/grpc/internal/resolver/unix google.golang.org/grpc/channelz google.golang.org/grpc/balancer google.golang.org/grpc/resolver/dns google.golang.org/grpc/balancer/base -google.golang.org/grpc/balancer/pickfirst google.golang.org/grpc/internal/serviceconfig -github.com/prometheus/common/model -google.golang.org/grpc/status -google.golang.org/protobuf/internal/editionssupport -google.golang.org/protobuf/types/gofeaturespb +google.golang.org/grpc/balancer/pickfirst google.golang.org/grpc/internal/resolver google.golang.org/grpc/balancer/roundrobin google.golang.org/grpc/internal/balancer/gracefulswitch -google.golang.org/grpc/internal/binarylog -google.golang.org/protobuf/reflect/protodesc -github.com/prometheus/client_golang/prometheus/internal -github.com/golang/protobuf/proto -gopkg.in/rethinkdb/rethinkdb-go.v6/ql2 github.com/theupdateframework/notary/storage -golang.org/x/net/trace +github.com/docker/distribution/registry/auth net/http/httputil -github.com/spf13/afero -github.com/gorilla/mux +github.com/bugsnag/bugsnag-go/sessions github.com/docker/distribution/registry/api/errcode -github.com/docker/distribution/registry/auth -golang.org/x/net/http2 +golang.org/x/net/trace github.com/docker/distribution/registry/client/transport -github.com/bugsnag/bugsnag-go/sessions -github.com/docker/distribution/registry/client/auth/challenge -github.com/docker/distribution +github.com/spf13/afero expvar -github.com/prometheus/common/expfmt github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header -github.com/theupdateframework/notary/server/errors github.com/opentracing/opentracing-go -github.com/bugsnag/bugsnag-go -net/http/pprof -github.com/theupdateframework/notary/trustmanager +github.com/docker/distribution/registry/client/auth/challenge +github.com/docker/distribution +github.com/gorilla/mux +github.com/prometheus/common/expfmt +golang.org/x/net/http2 github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil -github.com/docker/distribution/context -github.com/docker/distribution/registry/api/v2 -github.com/opentracing/opentracing-go/ext +net/http/pprof net/http/httptest -github.com/theupdateframework/notary/cryptoservice -github.com/theupdateframework/notary/tuf/signed -github.com/docker/distribution/health -github.com/docker/distribution/registry/auth/htpasswd +github.com/opentracing/opentracing-go/ext +github.com/bugsnag/bugsnag-go +github.com/theupdateframework/notary/server/errors gopkg.in/rethinkdb/rethinkdb-go.v6 -github.com/docker/distribution/registry/auth/token +github.com/sagikazarmark/locafero +github.com/Shopify/logrus-bugsnag github.com/stretchr/testify/assert github.com/prometheus/client_golang/prometheus +github.com/docker/distribution/context +github.com/docker/distribution/registry/api/v2 github.com/theupdateframework/notary/vendor/github.com/prometheus/client_golang/prometheus -github.com/theupdateframework/notary/trustmanager/yubikey -github.com/theupdateframework/notary/tuf/testutils/keys -github.com/theupdateframework/notary/trustpinning -github.com/Shopify/logrus-bugsnag -github.com/sagikazarmark/locafero -github.com/theupdateframework/notary/tuf +github.com/theupdateframework/notary/trustmanager +github.com/theupdateframework/notary/storage/rethinkdb github.com/spf13/viper -github.com/theupdateframework/notary/tuf/testutils -github.com/theupdateframework/notary/client +google.golang.org/grpc/internal/transport +github.com/docker/distribution/health +github.com/docker/distribution/registry/auth/htpasswd +github.com/docker/distribution/registry/auth/token +github.com/theupdateframework/notary/cryptoservice +github.com/theupdateframework/notary/tuf/signed +github.com/theupdateframework/notary/server/storage +github.com/theupdateframework/notary/trustpinning +github.com/theupdateframework/notary/signer/keydbstore +github.com/theupdateframework/notary/tuf/testutils/keys +github.com/theupdateframework/notary/trustmanager/yubikey github.com/theupdateframework/notary/utils github.com/stretchr/testify/require -github.com/theupdateframework/notary/storage/rethinkdb -github.com/theupdateframework/notary/signer/keydbstore -github.com/theupdateframework/notary/server/storage -google.golang.org/grpc/internal/transport +github.com/theupdateframework/notary/tuf +google.golang.org/grpc github.com/prometheus/client_golang/prometheus/promhttp -github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/server/snapshot +github.com/theupdateframework/notary/tuf/testutils +github.com/theupdateframework/notary/client +github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/server/timestamp -github.com/docker/go-metrics github.com/theupdateframework/notary/server/handlers +github.com/docker/go-metrics +github.com/theupdateframework/notary/server github.com/docker/distribution/metrics github.com/docker/distribution/registry/storage/cache -github.com/theupdateframework/notary/server -github.com/docker/distribution/registry/storage/cache/memory -google.golang.org/grpc -github.com/docker/distribution/registry/client -github.com/docker/distribution/registry/client/auth -github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/trustmanager/remoteks -google.golang.org/grpc/health/grpc_health_v1 github.com/theupdateframework/notary/proto +google.golang.org/grpc/health/grpc_health_v1 +github.com/docker/distribution/registry/storage/cache/memory +github.com/docker/distribution/registry/client google.golang.org/grpc/health github.com/theupdateframework/notary/signer/client github.com/theupdateframework/notary/signer github.com/theupdateframework/notary/cmd/escrow +github.com/docker/distribution/registry/client/auth github.com/theupdateframework/notary/signer/api github.com/theupdateframework/notary/cmd/notary-server +github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/cmd/notary-signer make[1]: Leaving directory '/build/reproducible-path/notary-0.7.0+git20240416.9d2b3b3+ds1' dh_auto_test -O--builddirectory=/build/reproducible-path/notary-0.7.0\+git20240416.9d2b3b3\+ds1/_build -O--buildsystem=golang - cd _build && go test -vet=off -v -p 12 github.com/theupdateframework/notary github.com/theupdateframework/notary/client github.com/theupdateframework/notary/client/changelist github.com/theupdateframework/notary/cmd/escrow github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/cmd/notary-server github.com/theupdateframework/notary/cmd/notary-signer github.com/theupdateframework/notary/cryptoservice github.com/theupdateframework/notary/passphrase github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/proto/github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/server github.com/theupdateframework/notary/server/errors github.com/theupdateframework/notary/server/handlers github.com/theupdateframework/notary/server/snapshot github.com/theupdateframework/notary/server/storage github.com/theupdateframework/notary/server/timestamp github.com/theupdateframework/notary/signer github.com/theupdateframework/notary/signer/api github.com/theupdateframework/notary/signer/client github.com/theupdateframework/notary/signer/keydbstore github.com/theupdateframework/notary/storage github.com/theupdateframework/notary/storage/rethinkdb github.com/theupdateframework/notary/trustmanager github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/remoteks/github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/yubikey github.com/theupdateframework/notary/trustpinning github.com/theupdateframework/notary/tuf github.com/theupdateframework/notary/tuf/data github.com/theupdateframework/notary/tuf/signed github.com/theupdateframework/notary/tuf/testutils github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/tuf/testutils/keys github.com/theupdateframework/notary/tuf/utils github.com/theupdateframework/notary/tuf/validation github.com/theupdateframework/notary/utils github.com/theupdateframework/notary/version + cd _build && go test -vet=off -v -p 16 github.com/theupdateframework/notary github.com/theupdateframework/notary/client github.com/theupdateframework/notary/client/changelist github.com/theupdateframework/notary/cmd/escrow github.com/theupdateframework/notary/cmd/notary github.com/theupdateframework/notary/cmd/notary-server github.com/theupdateframework/notary/cmd/notary-signer github.com/theupdateframework/notary/cryptoservice github.com/theupdateframework/notary/passphrase github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/proto/github.com/theupdateframework/notary/proto github.com/theupdateframework/notary/server github.com/theupdateframework/notary/server/errors github.com/theupdateframework/notary/server/handlers github.com/theupdateframework/notary/server/snapshot github.com/theupdateframework/notary/server/storage github.com/theupdateframework/notary/server/timestamp github.com/theupdateframework/notary/signer github.com/theupdateframework/notary/signer/api github.com/theupdateframework/notary/signer/client github.com/theupdateframework/notary/signer/keydbstore github.com/theupdateframework/notary/storage github.com/theupdateframework/notary/storage/rethinkdb github.com/theupdateframework/notary/trustmanager github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/remoteks/github.com/theupdateframework/notary/trustmanager/remoteks github.com/theupdateframework/notary/trustmanager/yubikey github.com/theupdateframework/notary/trustpinning github.com/theupdateframework/notary/tuf github.com/theupdateframework/notary/tuf/data github.com/theupdateframework/notary/tuf/signed github.com/theupdateframework/notary/tuf/testutils github.com/theupdateframework/notary/tuf/testutils/interfaces github.com/theupdateframework/notary/tuf/testutils/keys github.com/theupdateframework/notary/tuf/utils github.com/theupdateframework/notary/tuf/validation github.com/theupdateframework/notary/utils github.com/theupdateframework/notary/version ? github.com/theupdateframework/notary [no test files] === RUN Test0Dot1Migration ---- PASS: Test0Dot1Migration (0.09s) +--- PASS: Test0Dot1Migration (0.15s) === RUN Test0Dot3Migration ---- PASS: Test0Dot3Migration (0.07s) +--- PASS: Test0Dot3Migration (0.19s) === RUN Test0Dot1RepoFormat -time="2025-10-12T23:49:32-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: Test0Dot1RepoFormat (0.11s) +time="2026-11-16T08:20:04+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: Test0Dot1RepoFormat (0.25s) === RUN Test0Dot3RepoFormat backwards_compatibility_test.go:248: Disable FTBFS timebomb. https://bugs.debian.org/1078632 --- SKIP: Test0Dot3RepoFormat (0.00s) === RUN TestDownloading0Dot1RepoFormat ---- PASS: TestDownloading0Dot1RepoFormat (0.00s) +--- PASS: TestDownloading0Dot1RepoFormat (0.01s) === RUN TestDownloading0Dot3RepoFormat backwards_compatibility_test.go:343: Disable FTBFS timebomb. https://bugs.debian.org/1078632 --- SKIP: TestDownloading0Dot3RepoFormat (0.00s) @@ -2173,9 +2209,9 @@ === RUN TestInitRepositoryManagedRolesIncludingTargets --- PASS: TestInitRepositoryManagedRolesIncludingTargets (0.00s) === RUN TestInitRepositoryManagedRolesIncludingTimestamp ---- PASS: TestInitRepositoryManagedRolesIncludingTimestamp (0.01s) +--- PASS: TestInitRepositoryManagedRolesIncludingTimestamp (0.03s) === RUN TestInitRepositoryWithCerts ---- PASS: TestInitRepositoryWithCerts (0.01s) +--- PASS: TestInitRepositoryWithCerts (0.02s) === RUN TestMatchKeyIDsWithPublicKeys --- PASS: TestMatchKeyIDsWithPublicKeys (0.01s) === RUN TestInitRepositoryNeedsRemoteTimestampKey @@ -2183,11 +2219,11 @@ === RUN TestInitRepositoryNeedsRemoteSnapshotKey --- PASS: TestInitRepositoryNeedsRemoteSnapshotKey (0.01s) === RUN TestInitRepoServerOnlyManagesTimestampKey ---- PASS: TestInitRepoServerOnlyManagesTimestampKey (0.05s) +--- PASS: TestInitRepoServerOnlyManagesTimestampKey (0.09s) === RUN TestInitRepoServerManagesTimestampAndSnapshotKeys ---- PASS: TestInitRepoServerManagesTimestampAndSnapshotKeys (0.04s) +--- PASS: TestInitRepoServerManagesTimestampAndSnapshotKeys (0.09s) === RUN TestInitRepoAttemptsExceeded ---- PASS: TestInitRepoAttemptsExceeded (0.04s) +--- PASS: TestInitRepoAttemptsExceeded (0.05s) === RUN TestInitRepoPasswordInvalid --- PASS: TestInitRepoPasswordInvalid (0.01s) === RUN TestAddTargetToTargetRoleByDefault @@ -2195,78 +2231,78 @@ === RUN TestAddTargetToSpecifiedValidRoles --- PASS: TestAddTargetToSpecifiedValidRoles (0.02s) === RUN TestAddTargetToSpecifiedInvalidRoles ---- PASS: TestAddTargetToSpecifiedInvalidRoles (0.02s) +--- PASS: TestAddTargetToSpecifiedInvalidRoles (0.03s) === RUN TestAddTargetWithInvalidTarget --- PASS: TestAddTargetWithInvalidTarget (0.01s) === RUN TestAddTargetErrorWritingChanges ---- PASS: TestAddTargetErrorWritingChanges (0.01s) +--- PASS: TestAddTargetErrorWritingChanges (0.02s) === RUN TestRemoveTargetToTargetRoleByDefault ---- PASS: TestRemoveTargetToTargetRoleByDefault (0.02s) +--- PASS: TestRemoveTargetToTargetRoleByDefault (0.04s) === RUN TestRemoveTargetFromSpecifiedValidRoles ---- PASS: TestRemoveTargetFromSpecifiedValidRoles (0.02s) +--- PASS: TestRemoveTargetFromSpecifiedValidRoles (0.04s) === RUN TestRemoveTargetToSpecifiedInvalidRoles ---- PASS: TestRemoveTargetToSpecifiedInvalidRoles (0.02s) +--- PASS: TestRemoveTargetToSpecifiedInvalidRoles (0.05s) === RUN TestRemoveTargetErrorWritingChanges ---- PASS: TestRemoveTargetErrorWritingChanges (0.01s) +--- PASS: TestRemoveTargetErrorWritingChanges (0.03s) === RUN TestListTarget ---- PASS: TestListTarget (0.20s) +--- PASS: TestListTarget (0.83s) === RUN TestListTargetRestrictsDelegationPaths ---- PASS: TestListTargetRestrictsDelegationPaths (0.03s) +--- PASS: TestListTargetRestrictsDelegationPaths (0.04s) === RUN TestValidateRootKey ---- PASS: TestValidateRootKey (0.02s) +--- PASS: TestValidateRootKey (0.20s) === RUN TestGetChangelist ---- PASS: TestGetChangelist (0.02s) +--- PASS: TestGetChangelist (0.21s) === RUN TestPublishBareRepo ---- PASS: TestPublishBareRepo (0.20s) +--- PASS: TestPublishBareRepo (0.39s) === RUN TestPublishUninitializedRepo -time="2025-10-12T23:49:32-12:00" level=info msg="No TUF data found locally or remotely - initializing repository docker.com/notary for the first time" ---- PASS: TestPublishUninitializedRepo (0.02s) +time="2026-11-16T08:20:06+14:00" level=info msg="No TUF data found locally or remotely - initializing repository docker.com/notary for the first time" +--- PASS: TestPublishUninitializedRepo (0.07s) === RUN TestPublishClientHasSnapshotKey ---- PASS: TestPublishClientHasSnapshotKey (0.15s) +--- PASS: TestPublishClientHasSnapshotKey (0.72s) === RUN TestPublishAfterInitServerHasSnapshotKey ---- PASS: TestPublishAfterInitServerHasSnapshotKey (0.17s) +--- PASS: TestPublishAfterInitServerHasSnapshotKey (0.54s) === RUN TestPublishAfterPullServerHasSnapshotKey ---- PASS: TestPublishAfterPullServerHasSnapshotKey (0.08s) +--- PASS: TestPublishAfterPullServerHasSnapshotKey (0.19s) === RUN TestPublishNoOneHasSnapshotKey ---- PASS: TestPublishNoOneHasSnapshotKey (0.05s) +--- PASS: TestPublishNoOneHasSnapshotKey (0.07s) === RUN TestPublishSnapshotCorrupt ---- PASS: TestPublishSnapshotCorrupt (0.11s) +--- PASS: TestPublishSnapshotCorrupt (0.20s) === RUN TestPublishTargetsCorrupt ---- PASS: TestPublishTargetsCorrupt (0.05s) +--- PASS: TestPublishTargetsCorrupt (0.06s) === RUN TestPublishRootCorrupt -time="2025-10-12T23:49:33-12:00" level=error msg="Could not publish Repository since we could not update: invalid character 'h' in literal true (expecting 'r')" -time="2025-10-12T23:49:33-12:00" level=error msg="Could not publish Repository since we could not update: invalid character 'h' in literal true (expecting 'r')" +time="2026-11-16T08:20:08+14:00" level=error msg="Could not publish Repository since we could not update: invalid character 'h' in literal true (expecting 'r')" +time="2026-11-16T08:20:08+14:00" level=error msg="Could not publish Repository since we could not update: invalid character 'h' in literal true (expecting 'r')" --- PASS: TestPublishRootCorrupt (0.04s) === RUN TestPublishSnapshotLocalKeysCreatedFirst --- PASS: TestPublishSnapshotLocalKeysCreatedFirst (0.00s) === RUN TestPublishDelegations ---- PASS: TestPublishDelegations (0.10s) +--- PASS: TestPublishDelegations (0.11s) === RUN TestPublishDelegationsX509 ---- PASS: TestPublishDelegationsX509 (0.11s) +--- PASS: TestPublishDelegationsX509 (0.13s) === RUN TestPublishTargetsDelegationScopeFailIfNoKeys -time="2025-10-12T23:49:33-12:00" level=error msg="couldn't add target to targets/a/b: tuf: invalid role targets/a/b. delegation does not exist" -time="2025-10-12T23:49:33-12:00" level=error msg="couldn't add target to targets/a/b: tuf: invalid role targets/a/b. delegation does not exist" ---- PASS: TestPublishTargetsDelegationScopeFailIfNoKeys (0.07s) +time="2026-11-16T08:20:08+14:00" level=error msg="couldn't add target to targets/a/b: tuf: invalid role targets/a/b. delegation does not exist" +time="2026-11-16T08:20:08+14:00" level=error msg="couldn't add target to targets/a/b: tuf: invalid role targets/a/b. delegation does not exist" +--- PASS: TestPublishTargetsDelegationScopeFailIfNoKeys (0.10s) === RUN TestPublishTargetsDelegationSuccessLocallyHasRoles ---- PASS: TestPublishTargetsDelegationSuccessLocallyHasRoles (0.10s) +--- PASS: TestPublishTargetsDelegationSuccessLocallyHasRoles (0.18s) === RUN TestPublishTargetsDelegationNoTargetsKeyNeeded --- PASS: TestPublishTargetsDelegationNoTargetsKeyNeeded (0.11s) === RUN TestPublishTargetsDelegationSuccessNeedsToDownloadRoles ---- PASS: TestPublishTargetsDelegationSuccessNeedsToDownloadRoles (0.13s) +--- PASS: TestPublishTargetsDelegationSuccessNeedsToDownloadRoles (0.14s) === RUN TestPublishTargetsDelegationFromTwoRepos ---- PASS: TestPublishTargetsDelegationFromTwoRepos (0.12s) +--- PASS: TestPublishTargetsDelegationFromTwoRepos (0.07s) === RUN TestPublishRemoveDelegationKeyFromDelegationRole -time="2025-10-12T23:49:34-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:34-12:00" level=error msg="couldn't add target to targets/a: could not find necessary signing keys, at least one of these keys must be available: 8a30230262354ac853d2d487f9dc1acf16c97a5c9760e7d6a59049589dd9af6d" ---- PASS: TestPublishRemoveDelegationKeyFromDelegationRole (0.08s) +time="2026-11-16T08:20:09+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:09+14:00" level=error msg="couldn't add target to targets/a: could not find necessary signing keys, at least one of these keys must be available: f8a2682081923d7b92ed698a001fbaf2b77536fb52c9fac7664bce5f5e6411c2" +--- PASS: TestPublishRemoveDelegationKeyFromDelegationRole (0.06s) === RUN TestPublishRemoveDelegation -time="2025-10-12T23:49:34-12:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:34-12:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:34-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:34-12:00" level=error msg="couldn't add target to targets/a: could not find necessary signing keys, at least one of these keys must be available: " ---- PASS: TestPublishRemoveDelegation (0.07s) +time="2026-11-16T08:20:09+14:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:09+14:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:09+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:09+14:00" level=error msg="couldn't add target to targets/a: could not find necessary signing keys, at least one of these keys must be available: " +--- PASS: TestPublishRemoveDelegation (0.06s) === RUN TestPublishSucceedsDespiteDelegationCorrupt ---- PASS: TestPublishSucceedsDespiteDelegationCorrupt (0.06s) +--- PASS: TestPublishSucceedsDespiteDelegationCorrupt (0.09s) === RUN TestRotateKeyInvalidRole --- PASS: TestRotateKeyInvalidRole (0.05s) === RUN TestRemoteRotationError @@ -2274,215 +2310,215 @@ === RUN TestRemoteRotationEndpointError --- PASS: TestRemoteRotationEndpointError (0.03s) === RUN TestRemoteRotationNoRootKey ---- PASS: TestRemoteRotationNoRootKey (0.04s) +--- PASS: TestRemoteRotationNoRootKey (0.05s) === RUN TestRemoteRotationNoInit -time="2025-10-12T23:49:34-12:00" level=info msg="No TUF data found locally or remotely - initializing repository docker.com/notary for the first time" +time="2026-11-16T08:20:09+14:00" level=info msg="No TUF data found locally or remotely - initializing repository docker.com/notary for the first time" --- PASS: TestRemoteRotationNoInit (0.03s) === RUN TestRotateBeforePublishFromRemoteKeyToLocalKey ---- PASS: TestRotateBeforePublishFromRemoteKeyToLocalKey (0.14s) +--- PASS: TestRotateBeforePublishFromRemoteKeyToLocalKey (0.13s) === RUN TestRotateKeyAfterPublishNoServerManagementChange ---- PASS: TestRotateKeyAfterPublishNoServerManagementChange (0.83s) +--- PASS: TestRotateKeyAfterPublishNoServerManagementChange (0.41s) === RUN TestRotateKeyAfterPublishServerManagementChange ---- PASS: TestRotateKeyAfterPublishServerManagementChange (0.35s) +--- PASS: TestRotateKeyAfterPublishServerManagementChange (0.53s) === RUN TestRotateRootKey --- PASS: TestRotateRootKey (0.07s) === RUN TestRotateRootMultiple ---- PASS: TestRotateRootMultiple (0.10s) +--- PASS: TestRotateRootMultiple (0.29s) === RUN TestRotateRootKeyProvided ---- PASS: TestRotateRootKeyProvided (0.06s) +--- PASS: TestRotateRootKeyProvided (0.07s) === RUN TestRotateRootKeyLegacySupport ---- PASS: TestRotateRootKeyLegacySupport (0.11s) +--- PASS: TestRotateRootKeyLegacySupport (0.14s) === RUN TestRemoteServerUnavailableNoLocalCache -time="2025-10-12T23:49:36-12:00" level=error msg="Could not publish Repository since we could not update: unable to reach trust server at this time: 500." +time="2026-11-16T08:20:11+14:00" level=error msg="Could not publish Repository since we could not update: unable to reach trust server at this time: 500." --- PASS: TestRemoteServerUnavailableNoLocalCache (0.00s) === RUN TestAddDelegationChangefileValid ---- PASS: TestAddDelegationChangefileValid (0.01s) +--- PASS: TestAddDelegationChangefileValid (0.03s) === RUN TestAddDelegationChangefileApplicable --- PASS: TestAddDelegationChangefileApplicable (0.02s) === RUN TestAddDelegationErrorWritingChanges ---- PASS: TestAddDelegationErrorWritingChanges (0.01s) +--- PASS: TestAddDelegationErrorWritingChanges (0.02s) === RUN TestRemoveDelegationChangefileValid ---- PASS: TestRemoveDelegationChangefileValid (0.01s) +--- PASS: TestRemoveDelegationChangefileValid (0.02s) === RUN TestRemoveDelegationChangefileApplicable -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" ---- PASS: TestRemoveDelegationChangefileApplicable (0.01s) +time="2026-11-16T08:20:11+14:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:11+14:00" level=warning msg="role targets/a has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +--- PASS: TestRemoveDelegationChangefileApplicable (0.04s) === RUN TestClearAllPathsDelegationChangefileApplicable ---- PASS: TestClearAllPathsDelegationChangefileApplicable (0.01s) +--- PASS: TestClearAllPathsDelegationChangefileApplicable (0.02s) === RUN TestFullAddDelegationChangefileApplicable --- PASS: TestFullAddDelegationChangefileApplicable (0.01s) === RUN TestFullRemoveDelegationChangefileApplicable --- PASS: TestFullRemoveDelegationChangefileApplicable (0.02s) === RUN TestRemoveDelegationErrorWritingChanges ---- PASS: TestRemoveDelegationErrorWritingChanges (0.01s) +--- PASS: TestRemoveDelegationErrorWritingChanges (0.04s) === RUN TestClientInvalidURL --- PASS: TestClientInvalidURL (0.00s) === RUN TestPublishTargetsDelegationCanUseUserKeyWithArbitraryRole ---- PASS: TestPublishTargetsDelegationCanUseUserKeyWithArbitraryRole (0.12s) +--- PASS: TestPublishTargetsDelegationCanUseUserKeyWithArbitraryRole (0.23s) === RUN TestDeleteRepo ---- PASS: TestDeleteRepo (0.02s) +--- PASS: TestDeleteRepo (0.04s) === RUN TestDeleteRemoteRepo ---- PASS: TestDeleteRemoteRepo (0.04s) +--- PASS: TestDeleteRemoteRepo (0.08s) === RUN TestListRoles ---- PASS: TestListRoles (0.07s) +--- PASS: TestListRoles (0.16s) === RUN TestGetAllTargetInfo ---- PASS: TestGetAllTargetInfo (0.04s) +--- PASS: TestGetAllTargetInfo (0.08s) === RUN TestUpdateSucceedsEvenIfCannotWriteNewRepo -time="2025-10-12T23:49:36-12:00" level=error msg="could not save root to cache: Non-writable" ---- PASS: TestUpdateSucceedsEvenIfCannotWriteNewRepo (0.04s) +time="2026-11-16T08:20:12+14:00" level=error msg="could not save root to cache: Non-writable" +--- PASS: TestUpdateSucceedsEvenIfCannotWriteNewRepo (0.12s) === RUN TestUpdateSucceedsEvenIfCannotWriteExistingRepo ---- PASS: TestUpdateSucceedsEvenIfCannotWriteExistingRepo (0.16s) +--- PASS: TestUpdateSucceedsEvenIfCannotWriteExistingRepo (0.29s) === RUN TestUpdateInOfflineMode -time="2025-10-12T23:49:36-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" -time="2025-10-12T23:49:36-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: TestUpdateInOfflineMode (0.02s) +time="2026-11-16T08:20:12+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +time="2026-11-16T08:20:12+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: TestUpdateInOfflineMode (0.01s) === RUN TestUpdateReplacesCorruptOrMissingMetadata -time="2025-10-12T23:49:37-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:37-12:00" level=error msg="Metadata for root expired" ---- PASS: TestUpdateReplacesCorruptOrMissingMetadata (0.29s) +time="2026-11-16T08:20:12+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:12+14:00" level=error msg="Metadata for root expired" +--- PASS: TestUpdateReplacesCorruptOrMissingMetadata (0.51s) === RUN TestUpdateFailsIfServerRootKeyChangedWithoutMultiSign -time="2025-10-12T23:49:37-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:37-12:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:13+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:13+14:00" level=error msg="Metadata for root expired" --- PASS: TestUpdateFailsIfServerRootKeyChangedWithoutMultiSign (0.04s) === RUN TestUpdateRemoteRootNotExistNoLocalCache --- PASS: TestUpdateRemoteRootNotExistNoLocalCache (0.01s) === RUN TestUpdateRemoteRootNotExistCanUseLocalCache --- PASS: TestUpdateRemoteRootNotExistCanUseLocalCache (0.03s) === RUN TestUpdateRemoteRootNotExistCannotUseLocalCache ---- PASS: TestUpdateRemoteRootNotExistCannotUseLocalCache (0.03s) +--- PASS: TestUpdateRemoteRootNotExistCannotUseLocalCache (0.08s) === RUN TestUpdateRemoteRoot50XNoLocalCache --- PASS: TestUpdateRemoteRoot50XNoLocalCache (0.01s) === RUN TestUpdateRemoteRoot50XCanUseLocalCache ---- PASS: TestUpdateRemoteRoot50XCanUseLocalCache (0.02s) +--- PASS: TestUpdateRemoteRoot50XCanUseLocalCache (0.04s) === RUN TestUpdateRemoteRoot50XCannotUseLocalCache ---- PASS: TestUpdateRemoteRoot50XCannotUseLocalCache (0.03s) +--- PASS: TestUpdateRemoteRoot50XCannotUseLocalCache (0.05s) === RUN TestUpdateNonRootRemoteMissingMetadataNoLocalCache ---- PASS: TestUpdateNonRootRemoteMissingMetadataNoLocalCache (0.06s) +--- PASS: TestUpdateNonRootRemoteMissingMetadataNoLocalCache (0.23s) === RUN TestUpdateNonRootRemoteMissingMetadataCanUseLocalCache -time="2025-10-12T23:49:37-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: TestUpdateNonRootRemoteMissingMetadataCanUseLocalCache (0.10s) +time="2026-11-16T08:20:13+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: TestUpdateNonRootRemoteMissingMetadataCanUseLocalCache (0.16s) === RUN TestUpdateNonRootRemoteMissingMetadataCannotUseLocalCache -time="2025-10-12T23:49:37-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: TestUpdateNonRootRemoteMissingMetadataCannotUseLocalCache (0.11s) +time="2026-11-16T08:20:13+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: TestUpdateNonRootRemoteMissingMetadataCannotUseLocalCache (0.18s) === RUN TestUpdateNonRootRemote50XNoLocalCache ---- PASS: TestUpdateNonRootRemote50XNoLocalCache (0.08s) +--- PASS: TestUpdateNonRootRemote50XNoLocalCache (0.10s) === RUN TestUpdateNonRootRemote50XCanUseLocalCache -time="2025-10-12T23:49:37-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: TestUpdateNonRootRemote50XCanUseLocalCache (0.08s) +time="2026-11-16T08:20:14+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: TestUpdateNonRootRemote50XCanUseLocalCache (0.17s) === RUN TestUpdateNonRootRemote50XCannotUseLocalCache -time="2025-10-12T23:49:37-12:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" ---- PASS: TestUpdateNonRootRemote50XCannotUseLocalCache (0.14s) +time="2026-11-16T08:20:14+14:00" level=warning msg="Error while downloading remote metadata, using cached timestamp - this might not be the latest version available remotely" +--- PASS: TestUpdateNonRootRemote50XCannotUseLocalCache (0.19s) === RUN TestUpdateRemoteChecksumWrongNoLocalCache ---- PASS: TestUpdateRemoteChecksumWrongNoLocalCache (0.12s) +--- PASS: TestUpdateRemoteChecksumWrongNoLocalCache (0.13s) === RUN TestUpdateRemoteChecksumWrongCanUseLocalCache ---- PASS: TestUpdateRemoteChecksumWrongCanUseLocalCache (0.16s) +--- PASS: TestUpdateRemoteChecksumWrongCanUseLocalCache (0.21s) === RUN TestUpdateRemoteChecksumWrongCannotUseLocalCache ---- PASS: TestUpdateRemoteChecksumWrongCannotUseLocalCache (0.17s) +--- PASS: TestUpdateRemoteChecksumWrongCannotUseLocalCache (0.25s) === RUN TestUpdateRootRemoteCorruptedNoLocalCache -time="2025-10-12T23:49:38-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:38-12:00" level=error msg="Metadata for root expired" ---- PASS: TestUpdateRootRemoteCorruptedNoLocalCache (0.25s) +time="2026-11-16T08:20:15+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:15+14:00" level=error msg="Metadata for root expired" +--- PASS: TestUpdateRootRemoteCorruptedNoLocalCache (0.38s) === RUN TestUpdateRootRemoteCorruptedCanUseLocalCache ---- PASS: TestUpdateRootRemoteCorruptedCanUseLocalCache (0.55s) +--- PASS: TestUpdateRootRemoteCorruptedCanUseLocalCache (0.90s) === RUN TestUpdateRootRemoteCorruptedCannotUseLocalCache -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for root expired" ---- PASS: TestUpdateRootRemoteCorruptedCannotUseLocalCache (0.53s) +time="2026-11-16T08:20:16+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:16+14:00" level=error msg="Metadata for root expired" +--- PASS: TestUpdateRootRemoteCorruptedCannotUseLocalCache (1.13s) === RUN TestUpdateNonRootRemoteCorruptedNoLocalCache -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for targets expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for targets expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for snapshot expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for snapshot expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for timestamp expired" -time="2025-10-12T23:49:39-12:00" level=error msg="Metadata for timestamp expired" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:40-12:00" level=error msg="Metadata for targets/a expired" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a: targets/a expired at Wed Sep 11 23:49:40 -12 2024" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:40-12:00" level=error msg="Metadata for targets/a/b expired" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/a/b: targets/a/b expired at Wed Sep 11 23:49:40 -12 2024" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:40-12:00" level=error msg="Metadata for targets/b expired" -time="2025-10-12T23:49:40-12:00" level=warning msg="Error getting targets/b: targets/b expired at Wed Sep 11 23:49:40 -12 2024" ---- PASS: TestUpdateNonRootRemoteCorruptedNoLocalCache (0.53s) +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for targets expired" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for targets expired" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for snapshot expired" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for snapshot expired" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for timestamp expired" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for timestamp expired" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for targets/a expired" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a: targets/a expired at Wed Oct 15 08:20:17 +14 2025" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:17+14:00" level=error msg="Metadata for targets/a/b expired" +time="2026-11-16T08:20:17+14:00" level=warning msg="Error getting targets/a/b: targets/a/b expired at Wed Oct 15 08:20:17 +14 2025" +time="2026-11-16T08:20:18+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:18+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:18+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:18+14:00" level=error msg="Metadata for targets/b expired" +time="2026-11-16T08:20:18+14:00" level=warning msg="Error getting targets/b: targets/b expired at Wed Oct 15 08:20:18 +14 2025" +--- PASS: TestUpdateNonRootRemoteCorruptedNoLocalCache (0.90s) === RUN TestUpdateNonRootRemoteCorruptedCanUseLocalCache -time="2025-10-12T23:49:40-12:00" level=error msg="Metadata for timestamp expired" -time="2025-10-12T23:49:40-12:00" level=error msg="Metadata for timestamp expired" ---- PASS: TestUpdateNonRootRemoteCorruptedCanUseLocalCache (0.71s) +time="2026-11-16T08:20:18+14:00" level=error msg="Metadata for timestamp expired" +time="2026-11-16T08:20:18+14:00" level=error msg="Metadata for timestamp expired" +--- PASS: TestUpdateNonRootRemoteCorruptedCanUseLocalCache (1.88s) === RUN TestUpdateNonRootRemoteCorruptedCannotUseLocalCache -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for targets expired" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for snapshot expired" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for snapshot expired" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for timestamp expired" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for timestamp expired" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for targets/a expired" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a: targets/a expired at Wed Sep 11 23:49:41 -12 2024" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for targets/a/b expired" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/a/b: targets/a/b expired at Wed Sep 11 23:49:41 -12 2024" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" -time="2025-10-12T23:49:41-12:00" level=error msg="Metadata for targets/b expired" -time="2025-10-12T23:49:41-12:00" level=warning msg="Error getting targets/b: targets/b expired at Wed Sep 11 23:49:41 -12 2024" ---- PASS: TestUpdateNonRootRemoteCorruptedCannotUseLocalCache (0.96s) +time="2026-11-16T08:20:20+14:00" level=error msg="Metadata for targets expired" +time="2026-11-16T08:20:21+14:00" level=error msg="Metadata for snapshot expired" +time="2026-11-16T08:20:21+14:00" level=error msg="Metadata for snapshot expired" +time="2026-11-16T08:20:21+14:00" level=error msg="Metadata for timestamp expired" +time="2026-11-16T08:20:21+14:00" level=error msg="Metadata for timestamp expired" +time="2026-11-16T08:20:21+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:21+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:21+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:21+14:00" level=error msg="Metadata for targets/a expired" +time="2026-11-16T08:20:21+14:00" level=warning msg="Error getting targets/a: targets/a expired at Wed Oct 15 08:20:21 +14 2025" +time="2026-11-16T08:20:21+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:22+14:00" level=error msg="Metadata for targets/a/b expired" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/a/b: targets/a/b expired at Wed Oct 15 08:20:22 +14 2025" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +time="2026-11-16T08:20:22+14:00" level=error msg="Metadata for targets/b expired" +time="2026-11-16T08:20:22+14:00" level=warning msg="Error getting targets/b: targets/b expired at Wed Oct 15 08:20:22 +14 2025" +--- PASS: TestUpdateNonRootRemoteCorruptedCannotUseLocalCache (2.67s) === RUN TestUpdateLocalAndRemoteRootCorrupt -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" -time="2025-10-12T23:49:42-12:00" level=error msg="Metadata for root expired" ---- PASS: TestUpdateLocalAndRemoteRootCorrupt (1.03s) +time="2026-11-16T08:20:23+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:23+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:24+14:00" level=error msg="Metadata for root expired" +--- PASS: TestUpdateLocalAndRemoteRootCorrupt (2.12s) === RUN TestUpdateRemoteKeyRotated -time="2025-10-12T23:49:43-12:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" -time="2025-10-12T23:49:43-12:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" -time="2025-10-12T23:49:43-12:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" ---- PASS: TestUpdateRemoteKeyRotated (0.10s) +time="2026-11-16T08:20:25+14:00" level=warning msg="Error getting targets/a: valid signatures did not meet threshold for targets/a" +time="2026-11-16T08:20:25+14:00" level=warning msg="Error getting targets/a/b: valid signatures did not meet threshold for targets/a/b" +time="2026-11-16T08:20:25+14:00" level=warning msg="Error getting targets/b: valid signatures did not meet threshold for targets/b" +--- PASS: TestUpdateRemoteKeyRotated (0.23s) === RUN TestValidateRootRotationWithOldRole ---- PASS: TestValidateRootRotationWithOldRole (0.05s) +--- PASS: TestValidateRootRotationWithOldRole (0.09s) === RUN TestRootRoleInvariant ---- PASS: TestRootRoleInvariant (0.05s) +--- PASS: TestRootRoleInvariant (0.09s) === RUN TestBadIntermediateTransitions ---- PASS: TestBadIntermediateTransitions (0.02s) +--- PASS: TestBadIntermediateTransitions (0.04s) === RUN TestExpiredIntermediateTransitions -time="2025-10-12T23:49:43-12:00" level=warning msg="root is nearing expiry, you should re-sign the role metadata" ---- PASS: TestExpiredIntermediateTransitions (0.02s) +time="2026-11-16T08:20:25+14:00" level=warning msg="root is nearing expiry, you should re-sign the role metadata" +--- PASS: TestExpiredIntermediateTransitions (0.04s) === RUN TestDownloadTargetsLarge ---- PASS: TestDownloadTargetsLarge (1.66s) +--- PASS: TestDownloadTargetsLarge (2.17s) === RUN TestDownloadTargetsDeep ---- PASS: TestDownloadTargetsDeep (0.01s) +--- PASS: TestDownloadTargetsDeep (0.02s) === RUN TestDownloadSnapshotLargeDelegationsMany ---- PASS: TestDownloadSnapshotLargeDelegationsMany (1.51s) +--- PASS: TestDownloadSnapshotLargeDelegationsMany (2.01s) === RUN TestRootOnDiskTrustPinning ---- PASS: TestRootOnDiskTrustPinning (0.01s) +--- PASS: TestRootOnDiskTrustPinning (0.03s) === RUN TestLoadTUFRepoBadURL --- PASS: TestLoadTUFRepoBadURL (0.00s) === RUN TestApplyTargetsChange @@ -2522,14 +2558,14 @@ === RUN TestApplyChangelistTargetsToMultipleRoles --- PASS: TestApplyChangelistTargetsToMultipleRoles (0.00s) === RUN TestApplyChangelistTargetsFailsNonexistentRole -time="2025-10-12T23:49:46-12:00" level=error msg="couldn't add target to targets/level1/level2/level3/level4: tuf: invalid role targets/level1/level2/level3/level4. delegation does not exist" -time="2025-10-12T23:49:46-12:00" level=error msg="couldn't remove target from targets/level1/level2/level3/level4: tuf: invalid role targets/level1/level2/level3/level4. delegation does not exist" +time="2026-11-16T08:20:29+14:00" level=error msg="couldn't add target to targets/level1/level2/level3/level4: tuf: invalid role targets/level1/level2/level3/level4. delegation does not exist" +time="2026-11-16T08:20:29+14:00" level=error msg="couldn't remove target from targets/level1/level2/level3/level4: tuf: invalid role targets/level1/level2/level3/level4. delegation does not exist" --- PASS: TestApplyChangelistTargetsFailsNonexistentRole (0.00s) === RUN TestChangeTargetMetaFailsInvalidRole -time="2025-10-12T23:49:46-12:00" level=error msg="couldn't add target to ruhroh: tuf: invalid role ruhroh. does not exist" +time="2026-11-16T08:20:29+14:00" level=error msg="couldn't add target to ruhroh: tuf: invalid role ruhroh. does not exist" --- PASS: TestChangeTargetMetaFailsInvalidRole (0.00s) === RUN TestChangeTargetMetaFailsIfPrefixError -time="2025-10-12T23:49:46-12:00" level=error msg="couldn't add target to targets/level1: could not add all targets" +time="2026-11-16T08:20:29+14:00" level=error msg="couldn't add target to targets/level1: could not add all targets" --- PASS: TestChangeTargetMetaFailsIfPrefixError (0.00s) === RUN TestAllNearExpiry --- PASS: TestAllNearExpiry (0.00s) @@ -2538,7 +2574,7 @@ === RUN TestRotateRemoteKeyOffline --- PASS: TestRotateRemoteKeyOffline (0.00s) PASS -ok github.com/theupdateframework/notary/client 14.644s +ok github.com/theupdateframework/notary/client 25.965s === RUN TestTUFDelegation --- PASS: TestTUFDelegation (0.00s) === RUN TestMemChangelist @@ -2550,14 +2586,14 @@ === RUN TestAdd --- PASS: TestAdd (0.00s) === RUN TestErrorConditions -time="2025-10-12T23:49:31-12:00" level=warning msg="invalid character '\\x05' looking for beginning of value" +time="2026-11-16T08:20:03+14:00" level=warning msg="invalid character '\\x05' looking for beginning of value" --- PASS: TestErrorConditions (0.00s) === RUN TestListOrder --- PASS: TestListOrder (0.00s) === RUN TestFileChangeIterator --- PASS: TestFileChangeIterator (0.00s) PASS -ok github.com/theupdateframework/notary/client/changelist 0.008s +ok github.com/theupdateframework/notary/client/changelist 0.013s === RUN TestParseConfigError --- PASS: TestParseConfigError (0.00s) === RUN TestSetupGRPCServer @@ -2639,82 +2675,82 @@ Use "delegation [command] --help" for more information about a command. --- PASS: TestRemoveInvalidNumArgs (0.00s) === RUN TestInitWithRootKey ---- PASS: TestInitWithRootKey (0.07s) +--- PASS: TestInitWithRootKey (0.08s) === RUN TestInitWithRootCert integration_test.go:189: Disable FTBFS timebomb. https://bugs.debian.org/1078632 --- SKIP: TestInitWithRootCert (0.00s) === RUN TestClientTUFInteraction ---- PASS: TestClientTUFInteraction (0.09s) +--- PASS: TestClientTUFInteraction (0.13s) === RUN TestClientDeleteTUFInteraction -time="2025-10-12T23:49:32-12:00" level=error msg="could not reach https://invalid-server: Get \"https://invalid-server/v2/\": dial tcp: lookup invalid-server on [::1]:53: read udp [::1]:57092->[::1]:53: read: connection refused" ---- PASS: TestClientDeleteTUFInteraction (0.10s) +time="2026-11-16T08:20:04+14:00" level=error msg="could not reach https://invalid-server: Get \"https://invalid-server/v2/\": dial tcp: lookup invalid-server on [::1]:53: read udp [::1]:42038->[::1]:53: read: connection refused" +--- PASS: TestClientDeleteTUFInteraction (0.18s) === RUN TestClientTUFAddByHashInteraction ---- PASS: TestClientTUFAddByHashInteraction (0.14s) +--- PASS: TestClientTUFAddByHashInteraction (0.23s) === RUN TestClientDelegationsInteraction -time="2025-10-12T23:49:32-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:32-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" ---- PASS: TestClientDelegationsInteraction (0.32s) +time="2026-11-16T08:20:04+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:04+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +--- PASS: TestClientDelegationsInteraction (0.60s) === RUN TestClientDelegationsPublishing ---- PASS: TestClientDelegationsPublishing (0.28s) +--- PASS: TestClientDelegationsPublishing (1.23s) === RUN TestClientKeyGenerationRotation ---- PASS: TestClientKeyGenerationRotation (0.40s) +--- PASS: TestClientKeyGenerationRotation (1.12s) === RUN TestKeyRotation ---- PASS: TestKeyRotation (0.08s) +--- PASS: TestKeyRotation (0.14s) === RUN TestKeyRotationNonRoot ---- PASS: TestKeyRotationNonRoot (0.09s) +--- PASS: TestKeyRotationNonRoot (0.18s) === RUN TestDefaultRootKeyGeneration --- PASS: TestDefaultRootKeyGeneration (0.00s) === RUN TestLogLevelFlags --- PASS: TestLogLevelFlags (0.00s) === RUN TestClientKeyPassphraseChange ---- PASS: TestClientKeyPassphraseChange (0.08s) +--- PASS: TestClientKeyPassphraseChange (0.24s) === RUN TestPurgeSingleKey Removal of the following keys from all delegations in gun staged for next publish: - - ca4f350d55f9599d330d1a3d487843aad9f9ce2c761e44676ac1436e6d1120e8 ---- PASS: TestPurgeSingleKey (0.08s) + - b66d40aeb8d279c11bd74d7543b2849bd3d9336eba7d70e28b375842f1116075 +--- PASS: TestPurgeSingleKey (0.22s) === RUN TestWitness -time="2025-10-12T23:49:33-12:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" -time="2025-10-12T23:49:33-12:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" -time="2025-10-12T23:49:33-12:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" -time="2025-10-12T23:49:33-12:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" -time="2025-10-12T23:49:33-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:33-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:33-12:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" ---- PASS: TestWitness (0.27s) +time="2026-11-16T08:20:08+14:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" +time="2026-11-16T08:20:08+14:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" +time="2026-11-16T08:20:08+14:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" +time="2026-11-16T08:20:08+14:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" +time="2026-11-16T08:20:08+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:08+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:08+14:00" level=warning msg="Error getting targets/delegation: valid signatures did not meet threshold for targets/delegation" +--- PASS: TestWitness (0.32s) === RUN TestClientTUFInitWithAutoPublish -time="2025-10-12T23:49:33-12:00" level=error msg="could not reach https://notary-server-on-the-moon:12306: Get \"https://notary-server-on-the-moon:12306/v2/\": dial tcp: lookup notary-server-on-the-moon on [::1]:53: read udp [::1]:52661->[::1]:53: read: connection refused" +time="2026-11-16T08:20:08+14:00" level=error msg="could not reach https://notary-server-on-the-moon:12306: Get \"https://notary-server-on-the-moon:12306/v2/\": dial tcp: lookup notary-server-on-the-moon on [::1]:53: read udp [::1]:57715->[::1]:53: read: connection refused" --- PASS: TestClientTUFInitWithAutoPublish (0.08s) === RUN TestClientTUFAddWithAutoPublish -time="2025-10-12T23:49:33-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:53601->[::1]:53: read: connection refused" -time="2025-10-12T23:49:33-12:00" level=error msg="Could not publish Repository since we could not update: client is offline" -time="2025-10-12T23:49:33-12:00" level=error msg="could not reach https://notary-server-on-the-moon:12306: Get \"https://notary-server-on-the-moon:12306/v2/\": dial tcp: lookup notary-server-on-the-moon on [::1]:53: read udp [::1]:33620->[::1]:53: read: connection refused" -time="2025-10-12T23:49:33-12:00" level=error msg="Could not publish Repository since we could not update: client is offline" ---- PASS: TestClientTUFAddWithAutoPublish (0.10s) +time="2026-11-16T08:20:08+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:53470->[::1]:53: read: connection refused" +time="2026-11-16T08:20:08+14:00" level=error msg="Could not publish Repository since we could not update: client is offline" +time="2026-11-16T08:20:08+14:00" level=error msg="could not reach https://notary-server-on-the-moon:12306: Get \"https://notary-server-on-the-moon:12306/v2/\": dial tcp: lookup notary-server-on-the-moon on [::1]:53: read udp [::1]:60193->[::1]:53: read: connection refused" +time="2026-11-16T08:20:08+14:00" level=error msg="Could not publish Repository since we could not update: client is offline" +--- PASS: TestClientTUFAddWithAutoPublish (0.07s) === RUN TestClientTUFRemoveWithAutoPublish ---- PASS: TestClientTUFRemoveWithAutoPublish (0.16s) +--- PASS: TestClientTUFRemoveWithAutoPublish (0.14s) === RUN TestClientDelegationAddWithAutoPublish ---- PASS: TestClientDelegationAddWithAutoPublish (0.12s) +--- PASS: TestClientDelegationAddWithAutoPublish (0.08s) === RUN TestClientDelegationRemoveWithAutoPublish -time="2025-10-12T23:49:34-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:34-12:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" ---- PASS: TestClientDelegationRemoveWithAutoPublish (0.13s) +time="2026-11-16T08:20:08+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:08+14:00" level=warning msg="role targets/delegation has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +--- PASS: TestClientDelegationRemoveWithAutoPublish (0.23s) === RUN TestClientTUFAddByHashWithAutoPublish --- PASS: TestClientTUFAddByHashWithAutoPublish (0.07s) === RUN TestClientKeyImport -time="2025-10-12T23:49:34-12:00" level=warning msg="failed to import key to store: Invalid key generated, key may be encrypted and does not contain path header" -time="2025-10-12T23:49:34-12:00" level=warning msg="failed to import key () to store: Cannot have canonical role key without a gun, don't know what gun it belongs to" ---- PASS: TestClientKeyImport (0.04s) +time="2026-11-16T08:20:09+14:00" level=warning msg="failed to import key to store: Invalid key generated, key may be encrypted and does not contain path header" +time="2026-11-16T08:20:09+14:00" level=warning msg="failed to import key () to store: Cannot have canonical role key without a gun, don't know what gun it belongs to" +--- PASS: TestClientKeyImport (0.05s) === RUN TestAddDelImportKeyPublishFlow -time="2025-10-12T23:49:34-12:00" level=error msg="couldn't add target to targets/releases: could not find necessary signing keys, at least one of these keys must be available: 0570f9fdca00bdaf62f3f79bf84e70748ba2c8bff926f20dd996bac49e6164fc" ---- PASS: TestAddDelImportKeyPublishFlow (0.25s) +time="2026-11-16T08:20:09+14:00" level=error msg="couldn't add target to targets/releases: could not find necessary signing keys, at least one of these keys must be available: 0570f9fdca00bdaf62f3f79bf84e70748ba2c8bff926f20dd996bac49e6164fc" +--- PASS: TestAddDelImportKeyPublishFlow (0.16s) === RUN TestExportImportFlow --- PASS: TestExportImportFlow (0.04s) === RUN TestDelegationKeyImportExport ---- PASS: TestDelegationKeyImportExport (0.02s) +--- PASS: TestDelegationKeyImportExport (0.01s) === RUN TestImportKeysNoYubikey ---- PASS: TestImportKeysNoYubikey (0.01s) +--- PASS: TestImportKeysNoYubikey (0.00s) === RUN TestExportImportKeysNoYubikey ---- PASS: TestExportImportKeysNoYubikey (0.01s) +--- PASS: TestExportImportKeysNoYubikey (0.03s) === RUN TestRemoveIfNoKey --- PASS: TestRemoveIfNoKey (0.00s) === RUN TestRemoveOneKeyAbort @@ -2728,16 +2764,16 @@ === RUN TestRemoveMultikeysRemoveOnlyChosenKey --- PASS: TestRemoveMultikeysRemoveOnlyChosenKey (0.00s) === RUN TestRotateKeyInvalidRoles -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:50319->[::1]:53: read: connection refused" -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:34195->[::1]:53: read: connection refused" -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:32912->[::1]:53: read: connection refused" -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:53518->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:35213->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:49832->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:33235->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:43001->[::1]:53: read: connection refused" --- PASS: TestRotateKeyInvalidRoles (0.00s) === RUN TestRotateKeyTargetCannotBeServerManaged -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:55841->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:52775->[::1]:53: read: connection refused" --- PASS: TestRotateKeyTargetCannotBeServerManaged (0.00s) === RUN TestRotateKeyTimestampCannotBeLocallyManaged -time="2025-10-12T23:49:34-12:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:58850->[::1]:53: read: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://notary-server:4443: Get \"https://notary-server:4443/v2/\": dial tcp: lookup notary-server on [::1]:53: read udp [::1]:58742->[::1]:53: read: connection refused" --- PASS: TestRotateKeyTimestampCannotBeLocallyManaged (0.00s) === RUN TestRotateKeyNoGUN Usage: @@ -2745,13 +2781,13 @@ === RUN TestRotateKeyRemoteServerManagesKey Successfully rotated snapshot key for repository docker.com/notary Successfully rotated timestamp key for repository docker.com/notary ---- PASS: TestRotateKeyRemoteServerManagesKey (0.44s) +--- PASS: TestRotateKeyRemoteServerManagesKey (0.08s) === RUN TestRotateKeyBothKeys Successfully rotated targets key for repository docker.com/notary Successfully rotated snapshot key for repository docker.com/notary ---- PASS: TestRotateKeyBothKeys (0.23s) +--- PASS: TestRotateKeyBothKeys (0.07s) === RUN TestRotateKeyRootIsInteractive ---- PASS: TestRotateKeyRootIsInteractive (0.01s) +--- PASS: TestRotateKeyRootIsInteractive (0.04s) === RUN TestChangeKeyPassphraseInvalidID --- PASS: TestChangeKeyPassphraseInvalidID (0.00s) === RUN TestChangeKeyPassphraseInvalidNumArgs @@ -2760,7 +2796,7 @@ === RUN TestChangeKeyPassphraseNonexistentID --- PASS: TestChangeKeyPassphraseNonexistentID (0.00s) === RUN TestExportKeys ---- PASS: TestExportKeys (0.05s) +--- PASS: TestExportKeys (0.01s) === RUN TestExportKeysByGUN --- PASS: TestExportKeysByGUN (0.01s) === RUN TestExportKeysByID @@ -2770,8 +2806,8 @@ === RUN TestImportKeysNonexistentFile --- PASS: TestImportKeysNonexistentFile (0.00s) === RUN TestKeyGeneration -time="2025-10-12T23:49:35-12:00" level=warning msg="failed to import key () to store: Cannot have canonical role key without a gun, don't know what gun it belongs to" ---- PASS: TestKeyGeneration (0.02s) +time="2026-11-16T08:20:09+14:00" level=warning msg="failed to import key () to store: Cannot have canonical role key without a gun, don't know what gun it belongs to" +--- PASS: TestKeyGeneration (0.01s) === RUN TestNotaryConfigFileDefault --- PASS: TestNotaryConfigFileDefault (0.00s) === RUN TestRemoteServerDefault @@ -2781,7 +2817,7 @@ === RUN TestRemoteServerCommandLineFlagOverridesConfig --- PASS: TestRemoteServerCommandLineFlagOverridesConfig (0.00s) === RUN TestInvalidAddHashCommands ---- PASS: TestInvalidAddHashCommands (0.00s) +--- PASS: TestInvalidAddHashCommands (0.01s) === RUN TestConfigParsingErrorsPropagatedByCommands --- PASS: TestConfigParsingErrorsPropagatedByCommands (0.00s) === RUN TestInsufficientArgumentsReturnsErrorAndPrintsUsage @@ -2789,13 +2825,13 @@ === RUN TestBareCommandPrintsUsageAndNoError --- PASS: TestBareCommandPrintsUsageAndNoError (0.00s) === RUN TestConfigFileTLSCannotBeRelativeToCWD ---- PASS: TestConfigFileTLSCannotBeRelativeToCWD (0.01s) +--- PASS: TestConfigFileTLSCannotBeRelativeToCWD (0.00s) === RUN TestConfigFileTLSCanBeRelativeToConfigOrAbsolute --- PASS: TestConfigFileTLSCanBeRelativeToConfigOrAbsolute (0.02s) === RUN TestConfigFileOverridenByCmdLineFlags ---- PASS: TestConfigFileOverridenByCmdLineFlags (0.03s) +--- PASS: TestConfigFileOverridenByCmdLineFlags (0.02s) === RUN TestConfigFileTrustPinning ---- PASS: TestConfigFileTrustPinning (0.00s) +--- PASS: TestConfigFileTrustPinning (0.01s) === RUN TestPassphraseRetrieverCaching --- PASS: TestPassphraseRetrieverCaching (0.00s) === RUN TestPassphraseRetrieverDelegationRoleCaching @@ -2807,7 +2843,7 @@ === RUN TestPrettyPrintZeroKeys --- PASS: TestPrettyPrintZeroKeys (0.00s) === RUN TestPrettyPrintRootAndSigningKeys ---- PASS: TestPrettyPrintRootAndSigningKeys (0.01s) +--- PASS: TestPrettyPrintRootAndSigningKeys (0.02s) === RUN TestPrettyPrintZeroTargets --- PASS: TestPrettyPrintZeroTargets (0.00s) === RUN TestPrettyPrintSortedTargets @@ -2817,12 +2853,12 @@ === RUN TestPrettyPrintSortedRoles --- PASS: TestPrettyPrintSortedRoles (0.00s) === RUN TestImportRootCert ---- PASS: TestImportRootCert (0.00s) +--- PASS: TestImportRootCert (0.01s) === RUN TestTokenAuth -time="2025-10-12T23:49:35-12:00" level=error msg="could not reach https://localhost:9999: Get \"https://localhost:9999/v2/\": dial tcp 127.0.0.1:9999: connect: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://localhost:9999: Get \"https://localhost:9999/v2/\": dial tcp 127.0.0.1:9999: connect: connection refused" --- PASS: TestTokenAuth (0.00s) === RUN TestAdminTokenAuth -time="2025-10-12T23:49:35-12:00" level=error msg="could not reach https://localhost:9999: Get \"https://localhost:9999/v2/\": dial tcp 127.0.0.1:9999: connect: connection refused" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach https://localhost:9999: Get \"https://localhost:9999/v2/\": dial tcp 127.0.0.1:9999: connect: connection refused" --- PASS: TestAdminTokenAuth (0.00s) === RUN TestTokenAuth200Status --- PASS: TestTokenAuth200Status (0.00s) @@ -2833,18 +2869,18 @@ === RUN TestAdminTokenAuth401Status --- PASS: TestAdminTokenAuth401Status (0.00s) === RUN TestTokenAuthNon200Non401Status -time="2025-10-12T23:49:35-12:00" level=error msg="could not reach http://127.0.0.1:43139: 404" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach http://127.0.0.1:36881: 404" --- PASS: TestTokenAuthNon200Non401Status (0.00s) === RUN TestAdminTokenAuthNon200Non401Status -time="2025-10-12T23:49:35-12:00" level=error msg="could not reach http://127.0.0.1:43485: 404" +time="2026-11-16T08:20:09+14:00" level=error msg="could not reach http://127.0.0.1:46671: 404" --- PASS: TestAdminTokenAuthNon200Non401Status (0.00s) === RUN TestConfigureRepo --- PASS: TestConfigureRepo (0.01s) === RUN TestConfigureRepoRW -Enter username: time="2025-10-12T23:49:35-12:00" level=error msg="error processing username input: EOF" ---- PASS: TestConfigureRepoRW (0.00s) +Enter username: time="2026-11-16T08:20:09+14:00" level=error msg="error processing username input: EOF" +--- PASS: TestConfigureRepoRW (0.01s) === RUN TestConfigureRepoAdmin -Enter username: time="2025-10-12T23:49:35-12:00" level=error msg="error processing username input: EOF" +Enter username: time="2026-11-16T08:20:09+14:00" level=error msg="error processing username input: EOF" --- PASS: TestConfigureRepoAdmin (0.00s) === RUN TestStatusUnstageAndReset Successfully reset specified changes for repository gun @@ -2857,11 +2893,11 @@ Pushing changes to gun --- PASS: TestGetTrustPinningErrors (0.00s) === RUN TestPasswordStore -Enter username: time="2025-10-12T23:49:35-12:00" level=error msg="error processing username input: EOF" +Enter username: time="2026-11-16T08:20:09+14:00" level=error msg="error processing username input: EOF" --- PASS: TestPasswordStore (0.00s) === RUN TestPasswordStoreWithEnvvar -time="2025-10-12T23:49:35-12:00" level=error msg="Authentication string with zero-length username" -time="2025-10-12T23:49:35-12:00" level=error msg="Could not base64-decode authentication string" +time="2026-11-16T08:20:09+14:00" level=error msg="Authentication string with zero-length username" +time="2026-11-16T08:20:09+14:00" level=error msg="Could not base64-decode authentication string" --- PASS: TestPasswordStoreWithEnvvar (0.00s) === RUN TestGetPayload --- PASS: TestGetPayload (0.00s) @@ -2870,7 +2906,7 @@ === RUN TestHomeExpand --- PASS: TestHomeExpand (0.00s) PASS -ok github.com/theupdateframework/notary/cmd/notary 3.929s +ok github.com/theupdateframework/notary/cmd/notary 6.067s === RUN TestBootstrap --- PASS: TestBootstrap (0.00s) === RUN TestGetAddrAndTLSConfigInvalidTLS @@ -2886,42 +2922,42 @@ === RUN TestGetInvalidTrustService --- PASS: TestGetInvalidTrustService (0.00s) === RUN TestGetLocalTrustService -time="2025-10-12T23:49:32-12:00" level=info msg="Using local signing service, which requires ED25519. Ignoring all other trust_service parameters, including keyAlgorithm" +time="2026-11-16T08:20:03+14:00" level=info msg="Using local signing service, which requires ED25519. Ignoring all other trust_service parameters, including keyAlgorithm" --- PASS: TestGetLocalTrustService (0.00s) === RUN TestGetTrustServiceInvalidKeyAlgorithm --- PASS: TestGetTrustServiceInvalidKeyAlgorithm (0.00s) === RUN TestGetTrustServiceTLSMissingCertOrKey --- PASS: TestGetTrustServiceTLSMissingCertOrKey (0.00s) === RUN TestGetTrustServiceNoTLSConfig -time="2025-10-12T23:49:32-12:00" level=info msg="Using remote signing service" +time="2026-11-16T08:20:03+14:00" level=info msg="Using remote signing service" --- PASS: TestGetTrustServiceNoTLSConfig (0.00s) === RUN TestGetTrustServiceTLSSuccess -time="2025-10-12T23:49:32-12:00" level=info msg="Using remote signing service" +time="2026-11-16T08:20:03+14:00" level=info msg="Using remote signing service" --- PASS: TestGetTrustServiceTLSSuccess (0.00s) === RUN TestGetTrustServiceTLSFailure --- PASS: TestGetTrustServiceTLSFailure (0.00s) === RUN TestGetStoreInvalid -time="2025-10-12T23:49:32-12:00" level=info msg="Using asdf backend" +time="2026-11-16T08:20:03+14:00" level=info msg="Using asdf backend" --- PASS: TestGetStoreInvalid (0.00s) === RUN TestGetStoreDBStore -time="2025-10-12T23:49:32-12:00" level=info msg="Using sqlite3 backend" +time="2026-11-16T08:20:03+14:00" level=info msg="Using sqlite3 backend" --- PASS: TestGetStoreDBStore (0.00s) === RUN TestGetStoreRethinkDBStoreConnectionFails -time="2025-10-12T23:49:32-12:00" level=info msg="Using rethinkdb backend" +time="2026-11-16T08:20:03+14:00" level=info msg="Using rethinkdb backend" --- PASS: TestGetStoreRethinkDBStoreConnectionFails (0.00s) === RUN TestGetMemoryStore -time="2025-10-12T23:49:32-12:00" level=info msg="Using memory backend" +time="2026-11-16T08:20:03+14:00" level=info msg="Using memory backend" --- PASS: TestGetMemoryStore (0.00s) === RUN TestGetCacheConfig --- PASS: TestGetCacheConfig (0.00s) === RUN TestGetGUNPRefixes --- PASS: TestGetGUNPRefixes (0.00s) === RUN TestSampleConfig -time="2025-10-12T23:49:32-12:00" level=info msg="Using remote signing service" -time="2025-10-12T23:49:32-12:00" level=info msg="Using sqlite3 backend" +time="2026-11-16T08:20:03+14:00" level=info msg="Using remote signing service" +time="2026-11-16T08:20:03+14:00" level=info msg="Using sqlite3 backend" --- PASS: TestSampleConfig (0.00s) PASS -ok github.com/theupdateframework/notary/cmd/notary-server 0.017s +ok github.com/theupdateframework/notary/cmd/notary-server 0.021s === RUN TestGetAddrAndTLSConfigInvalidTLS --- PASS: TestGetAddrAndTLSConfigInvalidTLS (0.00s) === RUN TestGetAddrAndTLSConfigNoGRPCAddr @@ -2936,7 +2972,7 @@ main_test.go:121: DM - skipping malfunctioning test, fails on sbuild --- SKIP: TestSetupCryptoServicesRethinkDBStoreConnectionFails (0.00s) === RUN TestSetupCryptoServicesDBStoreSuccess ---- PASS: TestSetupCryptoServicesDBStoreSuccess (0.07s) +--- PASS: TestSetupCryptoServicesDBStoreSuccess (0.15s) === RUN TestSetupCryptoServicesMemoryStore --- PASS: TestSetupCryptoServicesMemoryStore (0.00s) === RUN TestSetupCryptoServicesInvalidStore @@ -2954,17 +2990,17 @@ === RUN TestSampleConfig --- PASS: TestSampleConfig (0.00s) PASS -ok github.com/theupdateframework/notary/cmd/notary-signer 0.088s +ok github.com/theupdateframework/notary/cmd/notary-signer 0.171s === RUN TestGenerateCertificate --- PASS: TestGenerateCertificate (0.00s) === RUN TestCryptoServiceWithNonEmptyGUN ---- PASS: TestCryptoServiceWithNonEmptyGUN (0.28s) +--- PASS: TestCryptoServiceWithNonEmptyGUN (0.43s) === RUN TestCryptoServiceWithEmptyGUN ---- PASS: TestCryptoServiceWithEmptyGUN (0.26s) +--- PASS: TestCryptoServiceWithEmptyGUN (0.46s) === RUN TestCryptoSignerInterfaceBehavior --- PASS: TestCryptoSignerInterfaceBehavior (0.00s) PASS -ok github.com/theupdateframework/notary/cryptoservice 0.548s +ok github.com/theupdateframework/notary/cryptoservice 0.905s === RUN TestGetPassphraseForUsingDelegationKey --- PASS: TestGetPassphraseForUsingDelegationKey (0.00s) === RUN TestGetPassphraseLimitsShortPassphrases @@ -2980,164 +3016,164 @@ === RUN TestGetPassphrase --- PASS: TestGetPassphrase (0.00s) PASS -ok github.com/theupdateframework/notary/passphrase 0.008s +ok github.com/theupdateframework/notary/passphrase 0.006s ? github.com/theupdateframework/notary/proto [no test files] ? github.com/theupdateframework/notary/proto/github.com/theupdateframework/notary/proto [no test files] === RUN TestValidationErrorFormat -time="2025-10-12T23:49:32-12:00" level=info msg="invalid update: Update sent by the client is invalid.: &{ErrBadHierarchy Metadata hierarchy is incomplete: no snapshot was included in update and server does not hold current snapshot key for repository}" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=82e69c7a8924bcc2edf125a8813453a9aad5c2885d6fb9e6f9b1a60a6d9d" http.request.host="127.0.0.1:38537" http.request.id=603e4748-ea77-49fc-ac00-f96580fd4711 http.request.method=POST http.request.remoteaddr="127.0.0.1:53616" http.request.uri=/v2/docker.com/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=82e69c7a8924bcc2edf125a8813453a9aad5c2885d6fb9e6f9b1a60a6d9d" http.request.host="127.0.0.1:38537" http.request.id=603e4748-ea77-49fc-ac00-f96580fd4711 http.request.method=POST http.request.remoteaddr="127.0.0.1:53616" http.request.uri=/v2/docker.com/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.226193ms http.response.status=400 http.response.written=260 +time="2026-11-16T08:20:03+14:00" level=info msg="invalid update: Update sent by the client is invalid.: &{ErrBadHierarchy Metadata hierarchy is incomplete: no snapshot was included in update and server does not hold current snapshot key for repository}" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=bc0e8001a3a9ba28b729fcf19b033d37e6635158685a80ee443f82306154" http.request.host="127.0.0.1:38441" http.request.id=07783d38-8754-416b-93f0-327b24db9c0a http.request.method=POST http.request.remoteaddr="127.0.0.1:41262" http.request.uri=/v2/docker.com/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=bc0e8001a3a9ba28b729fcf19b033d37e6635158685a80ee443f82306154" http.request.host="127.0.0.1:38441" http.request.id=07783d38-8754-416b-93f0-327b24db9c0a http.request.method=POST http.request.remoteaddr="127.0.0.1:41262" http.request.uri=/v2/docker.com/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration=2.089277ms http.response.status=400 http.response.written=260 --- PASS: TestValidationErrorFormat (0.01s) === RUN TestRunBadAddr --- PASS: TestRunBadAddr (0.00s) === RUN TestRepoPrefixMatches -time="2025-10-12T23:49:32-12:00" level=info msg="updated docker.io/notary to timestamp version 1, checksum 1c2b79b4f5b852f79372608a6121036e732644c917560ac34be69e8fb27affc7" docker.io/notary=gun go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=d76602c8112ce696a90b133b522d6da1131094175284ce0cb699a0119f53" http.request.host="127.0.0.1:46103" http.request.id=8b61c2d8-d97d-4a9e-88a7-d6c90f4a567b http.request.method=POST http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=d76602c8112ce696a90b133b522d6da1131094175284ce0cb699a0119f53" http.request.host="127.0.0.1:46103" http.request.id=8b61c2d8-d97d-4a9e-88a7-d6c90f4a567b http.request.method=POST http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.duration=1.369899ms http.response.status=0 http.response.written=0 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:46103" http.request.id=0447cd5f-b820-4321-8a79-eeec059e6eb8 http.request.method=GET http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/snapshot.json http.request.useragent=Go-http-client/1.1 http.response.duration="262.997µs" http.response.status=200 http.response.written=687 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:46103" http.request.id=9731f6a8-7081-45a8-ba8a-cdd199122bd4 http.request.method=GET http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/snapshot.72ee0db2d04f8162baef43cd5bc6d245c8c5dbfcfaa5a2a2adcb665dda52e923.json http.request.useragent=Go-http-client/1.1 http.response.duration="14.272µs" http.response.status=200 http.response.written=687 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:46103" http.request.id=ad918417-0bf4-4214-9d3a-84a7816bc925 http.request.method=GET http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration="176.987µs" http.response.status=200 http.response.written=181 -time="2025-10-12T23:49:32-12:00" level=info msg="trust data deleted for docker.io/notary" docker.io/notary=gun go.version=go1.24.8 http.request.host="127.0.0.1:46103" http.request.id=8963d8c6-beb6-46a0-8784-ddbc88fd986d http.request.method=DELETE http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:46103" http.request.id=8963d8c6-beb6-46a0-8784-ddbc88fd986d http.request.method=DELETE http.request.remoteaddr="127.0.0.1:38486" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.duration="58.008µs" http.response.status=0 http.response.written=0 +time="2026-11-16T08:20:03+14:00" level=info msg="updated docker.io/notary to timestamp version 1, checksum d5450da34a3cf7416bb32c0a1452883c6d8a45086db6aa713cc955c5d0dd3030" docker.io/notary=gun go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=202c826cd62b1f828963b9c0825741829763d2c06be340b8f2da7fa0bca9" http.request.host="127.0.0.1:44437" http.request.id=0de63d03-443c-4516-91c6-a3c49aef328d http.request.method=POST http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype="multipart/form-data; boundary=202c826cd62b1f828963b9c0825741829763d2c06be340b8f2da7fa0bca9" http.request.host="127.0.0.1:44437" http.request.id=0de63d03-443c-4516-91c6-a3c49aef328d http.request.method=POST http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.duration=2.010039ms http.response.status=0 http.response.written=0 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:44437" http.request.id=175f7016-df27-4ad4-9348-4df0d189998a http.request.method=GET http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/snapshot.json http.request.useragent=Go-http-client/1.1 http.response.duration="279.515µs" http.response.status=200 http.response.written=688 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:44437" http.request.id=028c4c43-6d6e-4efb-9192-55c4a4f16266 http.request.method=GET http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/snapshot.80f573634a7bef24df89d5031e317a649faa825a4c1b6671f4f96c5765ee9920.json http.request.useragent=Go-http-client/1.1 http.response.duration="32.922µs" http.response.status=200 http.response.written=688 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:44437" http.request.id=5114db38-4ed9-432a-84e6-9a4b5031d24c http.request.method=GET http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration="338.044µs" http.response.status=200 http.response.written=181 +time="2026-11-16T08:20:03+14:00" level=info msg="trust data deleted for docker.io/notary" docker.io/notary=gun go.version=go1.24.8 http.request.host="127.0.0.1:44437" http.request.id=a27b7c51-2a63-4294-8bd4-b107ee8300f3 http.request.method=DELETE http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:44437" http.request.id=a27b7c51-2a63-4294-8bd4-b107ee8300f3 http.request.method=DELETE http.request.remoteaddr="127.0.0.1:40532" http.request.uri=/v2/docker.io/notary/_trust/tuf/ http.request.useragent=Go-http-client/1.1 http.response.duration="94.257µs" http.response.status=0 http.response.written=0 --- PASS: TestRepoPrefixMatches (0.01s) === RUN TestRepoPrefixDoesNotMatch --- PASS: TestRepoPrefixDoesNotMatch (0.01s) === RUN TestMetricsEndpoint --- PASS: TestMetricsEndpoint (0.01s) === RUN TestGetKeysEndpoint -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=b479c9e5-85cb-4d23-94d1-257a4b434e18 http.request.method=GET http.request.remoteaddr="127.0.0.1:48410" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=b479c9e5-85cb-4d23-94d1-257a4b434e18 http.request.method=GET http.request.remoteaddr="127.0.0.1:48410" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="99.571µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=e8df691b-3f52-4a83-a55c-c53878416312 http.request.method=GET http.request.remoteaddr="127.0.0.1:48412" http.request.uri=/v2/gun/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration=1.905107ms http.response.status=200 http.response.written=103 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=87f20aba-b8a8-4573-90bf-368d8ff27119 http.request.method=GET http.request.remoteaddr="127.0.0.1:48414" http.request.uri=/v2/gun/_trust/tuf/snapshot.key http.request.useragent=Go-http-client/1.1 http.response.duration="149.635µs" http.response.status=200 http.response.written=103 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=94eddad0-0e16-4be4-923e-e35e41ed59f4 http.request.method=GET http.request.remoteaddr="127.0.0.1:48430" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=94eddad0-0e16-4be4-923e-e35e41ed59f4 http.request.method=GET http.request.remoteaddr="127.0.0.1:48430" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="84.938µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=e2a9854f-8f7c-4f77-aeb0-a2e8c86119f6 http.request.method=GET http.request.remoteaddr="127.0.0.1:48438" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34205" http.request.id=e2a9854f-8f7c-4f77-aeb0-a2e8c86119f6 http.request.method=GET http.request.remoteaddr="127.0.0.1:48438" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="45.018µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=24a34ef9-2494-422c-ada5-09d9dd5de1d9 http.request.method=GET http.request.remoteaddr="127.0.0.1:54708" http.request.uri=/v2/gun/_trust/tuf/snapshot.key http.request.useragent=Go-http-client/1.1 http.response.duration=1.86123ms http.response.status=200 http.response.written=103 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=3d1c1e12-b3a0-45fd-ad84-ededdea4e88d http.request.method=GET http.request.remoteaddr="127.0.0.1:54722" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=3d1c1e12-b3a0-45fd-ad84-ededdea4e88d http.request.method=GET http.request.remoteaddr="127.0.0.1:54722" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="87.233µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=d7f186fc-7867-4b7b-8a6a-35ac1acf6fcc http.request.method=GET http.request.remoteaddr="127.0.0.1:54734" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=d7f186fc-7867-4b7b-8a6a-35ac1acf6fcc http.request.method=GET http.request.remoteaddr="127.0.0.1:54734" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="71.054µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=dfb67e3e-a105-486a-9f57-58e9903c1f37 http.request.method=GET http.request.remoteaddr="127.0.0.1:54746" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=dfb67e3e-a105-486a-9f57-58e9903c1f37 http.request.method=GET http.request.remoteaddr="127.0.0.1:54746" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="64.05µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:36511" http.request.id=88052c9d-ed96-4639-90e3-b5c7d372038a http.request.method=GET http.request.remoteaddr="127.0.0.1:54762" http.request.uri=/v2/gun/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration="77.064µs" http.response.status=200 http.response.written=103 --- PASS: TestGetKeysEndpoint (0.01s) === RUN TestGetRoleByHash -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:35541" http.request.id=cb89541a-69b0-42ed-96ae-4ffb234331a0 http.request.method=GET http.request.remoteaddr="127.0.0.1:40246" http.request.uri=/v2/gun/_trust/tuf/timestamp.aa0e2f7606bb7fe7f6f31f944a3fa5aeb9da841fac41db401afa7bedf1b8cf64.json http.request.useragent=Go-http-client/1.1 http.response.duration="29.426µs" http.response.status=200 http.response.written=120 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:43507" http.request.id=c6b447f1-a0a5-4877-90c5-83b0c9641506 http.request.method=GET http.request.remoteaddr="127.0.0.1:39928" http.request.uri=/v2/gun/_trust/tuf/timestamp.0038438badf0c813c841fd622edf381d0d17b89c366f1ae00dad8204a6b088a2.json http.request.useragent=Go-http-client/1.1 http.response.duration="37.67µs" http.response.status=200 http.response.written=119 --- PASS: TestGetRoleByHash (0.00s) === RUN TestGetRoleByVersion -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:42725" http.request.id=75346aa6-116e-4c13-994a-4563db85db0a http.request.method=GET http.request.remoteaddr="127.0.0.1:48914" http.request.uri=/v2/gun/_trust/tuf/1.timestamp.json http.request.useragent=Go-http-client/1.1 http.response.duration="59.921µs" http.response.status=200 http.response.written=120 ---- PASS: TestGetRoleByVersion (0.01s) +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:41301" http.request.id=eca3ebc3-c10d-4f28-b5c2-554cd42f519e http.request.method=GET http.request.remoteaddr="127.0.0.1:48052" http.request.uri=/v2/gun/_trust/tuf/1.timestamp.json http.request.useragent=Go-http-client/1.1 http.response.duration="36.819µs" http.response.status=200 http.response.written=120 +--- PASS: TestGetRoleByVersion (0.00s) === RUN TestGetCurrentRole -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:39199" http.request.id=cf90eb63-cbb0-4e46-8840-c6db74e52277 http.request.method=GET http.request.remoteaddr="127.0.0.1:49418" http.request.uri=/v2/gun/_trust/tuf/timestamp.json http.request.useragent=Go-http-client/1.1 http.response.duration="302.647µs" http.response.status=200 http.response.written=500 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:34149" http.request.id=8d4028a1-5a30-4b7a-8bb7-015527b1e942 http.request.method=GET http.request.remoteaddr="127.0.0.1:58854" http.request.uri=/v2/gun/_trust/tuf/timestamp.json http.request.useragent=Go-http-client/1.1 http.response.duration="467.166µs" http.response.status=200 http.response.written=500 --- PASS: TestGetCurrentRole (0.01s) === RUN TestRotateKeyEndpoint -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=368537fc-9076-4ba0-a1de-134fb863eab8 http.request.method=POST http.request.remoteaddr="127.0.0.1:49154" http.request.uri=/v2/gun/_trust/tuf/snapshot.key http.request.useragent=Go-http-client/1.1 http.response.duration="117.557µs" http.response.status=200 http.response.written=103 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=12ec3f5b-a675-4ecb-b5fa-d71910145ca7 http.request.method=POST http.request.remoteaddr="127.0.0.1:49158" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=12ec3f5b-a675-4ecb-b5fa-d71910145ca7 http.request.method=POST http.request.remoteaddr="127.0.0.1:49158" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="134.253µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=d4f3182e-091d-400e-ade3-94d44cf22699 http.request.method=POST http.request.remoteaddr="127.0.0.1:49162" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=d4f3182e-091d-400e-ade3-94d44cf22699 http.request.method=POST http.request.remoteaddr="127.0.0.1:49162" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="61.733µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=8b5e4012-71cd-4f5d-8c06-406475ab5c75 http.request.method=POST http.request.remoteaddr="127.0.0.1:49166" http.request.uri=/v2/gun/_trust/tuf/targets/delegation.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=8b5e4012-71cd-4f5d-8c06-406475ab5c75 http.request.method=POST http.request.remoteaddr="127.0.0.1:49166" http.request.uri=/v2/gun/_trust/tuf/targets/delegation.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="69.135µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=bcd1821e-5ecf-4190-b940-5262618baf4d http.request.method=POST http.request.remoteaddr="127.0.0.1:49168" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=bcd1821e-5ecf-4190-b940-5262618baf4d http.request.method=POST http.request.remoteaddr="127.0.0.1:49168" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="49.234µs" http.response.status=404 http.response.written=104 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:44247" http.request.id=4ef1b4c2-cdb4-4d10-b662-789be08b4d76 http.request.method=POST http.request.remoteaddr="127.0.0.1:49178" http.request.uri=/v2/gun/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration="74.263µs" http.response.status=200 http.response.written=103 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=70e910c2-a2d0-4139-b32c-12ed0d461373 http.request.method=POST http.request.remoteaddr="127.0.0.1:45978" http.request.uri=/v2/gun/_trust/tuf/targets/delegation.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=70e910c2-a2d0-4139-b32c-12ed0d461373 http.request.method=POST http.request.remoteaddr="127.0.0.1:45978" http.request.uri=/v2/gun/_trust/tuf/targets/delegation.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="86.602µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=58e1d93c-517a-4c25-bc9a-6e3144a0faa6 http.request.method=POST http.request.remoteaddr="127.0.0.1:45988" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=58e1d93c-517a-4c25-bc9a-6e3144a0faa6 http.request.method=POST http.request.remoteaddr="127.0.0.1:45988" http.request.uri=/v2/gun/_trust/tuf/somerandomrole.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="54.161µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=fbcddff0-523a-449f-acec-2c0d7c16534b http.request.method=POST http.request.remoteaddr="127.0.0.1:45996" http.request.uri=/v2/gun/_trust/tuf/timestamp.key http.request.useragent=Go-http-client/1.1 http.response.duration="85.551µs" http.response.status=200 http.response.written=103 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=f9c378b1-30f7-4d2a-83d9-d29b6ceaccad http.request.method=POST http.request.remoteaddr="127.0.0.1:46010" http.request.uri=/v2/gun/_trust/tuf/snapshot.key http.request.useragent=Go-http-client/1.1 http.response.duration="72.035µs" http.response.status=200 http.response.written=103 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=e3788387-a268-4a46-98bb-78c5c96d6667 http.request.method=POST http.request.remoteaddr="127.0.0.1:46026" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=e3788387-a268-4a46-98bb-78c5c96d6667 http.request.method=POST http.request.remoteaddr="127.0.0.1:46026" http.request.uri=/v2/gun/_trust/tuf/targets.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="66.765µs" http.response.status=404 http.response.written=104 +time="2026-11-16T08:20:03+14:00" level=info msg="metadata not found: You have requested metadata that does not exist.: " go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=010909b0-ee7f-4a05-8bdc-3edd7be7ea6b http.request.method=POST http.request.remoteaddr="127.0.0.1:46040" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:03+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.contenttype=text/plain http.request.host="127.0.0.1:34645" http.request.id=010909b0-ee7f-4a05-8bdc-3edd7be7ea6b http.request.method=POST http.request.remoteaddr="127.0.0.1:46040" http.request.uri=/v2/gun/_trust/tuf/root.key http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="63.67µs" http.response.status=404 http.response.written=104 --- PASS: TestRotateKeyEndpoint (0.01s) PASS -ok github.com/theupdateframework/notary/server 0.094s +ok github.com/theupdateframework/notary/server 0.075s ? github.com/theupdateframework/notary/server/errors [no test files] === RUN Test_changefeed --- PASS: Test_changefeed (0.00s) === RUN Test_checkChangefeedInputs -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET unable to retrieve storage" -time="2025-10-12T23:49:32-12:00" level=error msg="400 GET invalid pageSize: not_a_number" +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET unable to retrieve storage" +time="2026-11-16T08:20:04+14:00" level=error msg="400 GET invalid pageSize: not_a_number" --- PASS: Test_checkChangefeedInputs (0.00s) === RUN TestMainHandlerGet -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:45807" http.request.id=7a206741-053b-4863-954f-b19cae84e1f8 http.request.method=GET http.request.remoteaddr="127.0.0.1:40242" http.request.uri=/ http.request.useragent=Go-http-client/1.1 http.response.duration="76.085µs" http.response.status=200 http.response.written=2 +time="2026-11-16T08:20:04+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:38427" http.request.id=7850039a-e7ec-49e7-8585-15598790a4fd http.request.method=GET http.request.remoteaddr="127.0.0.1:47520" http.request.uri=/ http.request.useragent=Go-http-client/1.1 http.response.duration="66.425µs" http.response.status=200 http.response.written=2 --- PASS: TestMainHandlerGet (0.00s) === RUN TestMainHandlerNotGet -time="2025-10-12T23:49:32-12:00" level=info msg="generic not found: You have requested a resource that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:39611" http.request.id=4b291a5a-43e4-4cf9-9776-8ed9886e4389 http.request.method=HEAD http.request.remoteaddr="127.0.0.1:47040" http.request.uri=/ http.request.useragent=Go-http-client/1.1 -time="2025-10-12T23:49:32-12:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:39611" http.request.id=4b291a5a-43e4-4cf9-9776-8ed9886e4389 http.request.method=HEAD http.request.remoteaddr="127.0.0.1:47040" http.request.uri=/ http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="164.849µs" http.response.status=404 http.response.written=105 +time="2026-11-16T08:20:04+14:00" level=info msg="generic not found: You have requested a resource that does not exist.: " go.version=go1.24.8 http.request.host="127.0.0.1:43225" http.request.id=7b018034-1e28-4780-87cf-96c86cee1faa http.request.method=HEAD http.request.remoteaddr="127.0.0.1:49078" http.request.uri=/ http.request.useragent=Go-http-client/1.1 +time="2026-11-16T08:20:04+14:00" level=info msg="response completed" go.version=go1.24.8 http.request.host="127.0.0.1:43225" http.request.id=7b018034-1e28-4780-87cf-96c86cee1faa http.request.method=HEAD http.request.remoteaddr="127.0.0.1:49078" http.request.uri=/ http.request.useragent=Go-http-client/1.1 http.response.contenttype="application/json; charset=utf-8" http.response.duration="172.864µs" http.response.status=404 http.response.written=105 --- PASS: TestMainHandlerNotGet (0.00s) === RUN TestKeyHandlersInvalidConfiguration -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET storage not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET storage not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET crypto service not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET crypto service not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET key algorithm not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET key algorithm not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST storage not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST storage not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST crypto service not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST crypto service not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST key algorithm not configured" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST key algorithm not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET storage not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET storage not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET crypto service not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET crypto service not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET key algorithm not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET key algorithm not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST storage not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST storage not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST crypto service not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST crypto service not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST key algorithm not configured" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST key algorithm not configured" go.version=go1.24.8 gun=gun --- PASS: TestKeyHandlersInvalidConfiguration (0.00s) === RUN TestKeyHandlersNoRoleOrRepo -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET no gun in request" =gun go.version=go1.24.8 -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET no gun in request" =gun go.version=go1.24.8 -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET no role in request" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET no role in request" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST no gun in request" =gun go.version=go1.24.8 -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST no gun in request" =gun go.version=go1.24.8 -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST no role in request" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST no role in request" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET no gun in request" =gun go.version=go1.24.8 +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET no gun in request" =gun go.version=go1.24.8 +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET no role in request" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET no role in request" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST no gun in request" =gun go.version=go1.24.8 +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST no gun in request" =gun go.version=go1.24.8 +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST no role in request" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST no role in request" go.version=go1.24.8 gun=gun --- PASS: TestKeyHandlersNoRoleOrRepo (0.00s) === RUN TestKeyHandlersInvalidRole -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET root key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET targets key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET targets/a key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 GET invalidrole key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST root key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST targets key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST targets/a key: " go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST invalidrole key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET root key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET targets key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET targets/a key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 GET invalidrole key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST root key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST targets key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST targets/a key: " go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST invalidrole key: " go.version=go1.24.8 gun=gun --- PASS: TestKeyHandlersInvalidRole (0.00s) === RUN TestGetKeyHandlerCreatesOnce --- PASS: TestGetKeyHandlerCreatesOnce (0.00s) === RUN TestKeyHandlersInvalidKeyAlgo -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET timestamp key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET snapshot key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST timestamp key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun -time="2025-10-12T23:49:32-12:00" level=error msg="500 POST snapshot key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET timestamp key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET snapshot key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST timestamp key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=error msg="500 POST snapshot key: only ED25519 supported by this cryptoservice" go.version=go1.24.8 gun=gun --- PASS: TestKeyHandlersInvalidKeyAlgo (0.00s) === RUN TestRotateKeyHandlerSuccessfulRotation --- PASS: TestRotateKeyHandlerSuccessfulRotation (0.00s) === RUN TestGetHandlerRoot -time="2025-10-12T23:49:32-12:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun --- PASS: TestGetHandlerRoot (0.00s) === RUN TestGetHandlerTimestamp --- PASS: TestGetHandlerTimestamp (0.00s) === RUN TestGetHandlerSnapshot ---- PASS: TestGetHandlerSnapshot (0.01s) +--- PASS: TestGetHandlerSnapshot (0.00s) === RUN TestGetHandler404 -time="2025-10-12T23:49:32-12:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun --- PASS: TestGetHandler404 (0.00s) === RUN TestGetHandlerNilData -time="2025-10-12T23:49:32-12:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun +time="2026-11-16T08:20:04+14:00" level=info msg="404 GET root role" go.version=go1.24.8 gun=gun --- PASS: TestGetHandlerNilData (0.00s) === RUN TestGetHandlerNoStorage -time="2025-10-12T23:49:32-12:00" level=error msg="500 GET: no storage exists" =gun go.version=go1.24.8 +time="2026-11-16T08:20:04+14:00" level=error msg="500 GET: no storage exists" =gun go.version=go1.24.8 --- PASS: TestGetHandlerNoStorage (0.00s) === RUN TestAtomicUpdateValidationFailurePropagated ---- PASS: TestAtomicUpdateValidationFailurePropagated (0.00s) +--- PASS: TestAtomicUpdateValidationFailurePropagated (0.01s) === RUN TestAtomicUpdateNonValidationFailureNotPropagated -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST error validating update" go.version=go1.24.8 testGUN=gun +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST error validating update" go.version=go1.24.8 testGUN=gun --- PASS: TestAtomicUpdateNonValidationFailureNotPropagated (0.00s) === RUN TestAtomicUpdateVersionErrorPropagated -time="2025-10-12T23:49:32-12:00" level=info msg="400 POST old version error" go.version=go1.24.8 testGUN=gun ---- PASS: TestAtomicUpdateVersionErrorPropagated (0.00s) +time="2026-11-16T08:20:04+14:00" level=info msg="400 POST old version error" go.version=go1.24.8 testGUN=gun +--- PASS: TestAtomicUpdateVersionErrorPropagated (0.01s) === RUN TestGetMaybeServerSignedNoCrypto --- PASS: TestGetMaybeServerSignedNoCrypto (0.00s) === RUN TestGetMaybeServerSignedNoKey --- PASS: TestGetMaybeServerSignedNoKey (0.00s) === RUN TestValidateEmptyNew ---- PASS: TestValidateEmptyNew (0.00s) +--- PASS: TestValidateEmptyNew (0.01s) === RUN TestValidateRootCanContainOnlyx509KeysWithRightGun ---- PASS: TestValidateRootCanContainOnlyx509KeysWithRightGun (0.00s) +--- PASS: TestValidateRootCanContainOnlyx509KeysWithRightGun (0.01s) === RUN TestValidatePrevTimestamp --- PASS: TestValidatePrevTimestamp (0.01s) === RUN TestValidatePreviousTimestampCorrupt -time="2025-10-12T23:49:32-12:00" level=error msg="Failed to unmarshal existing timestamp for GUN docker.com/notary" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing timestamp for GUN docker.com/notary" --- PASS: TestValidatePreviousTimestampCorrupt (0.01s) === RUN TestValidateGetCurrentTimestampBroken --- PASS: TestValidateGetCurrentTimestampBroken (0.01s) === RUN TestValidateNoNewRoot ---- PASS: TestValidateNoNewRoot (0.00s) +--- PASS: TestValidateNoNewRoot (0.01s) === RUN TestValidateNoNewTargets ---- PASS: TestValidateNoNewTargets (0.00s) +--- PASS: TestValidateNoNewTargets (0.01s) === RUN TestValidateOnlySnapshot ---- PASS: TestValidateOnlySnapshot (0.00s) +--- PASS: TestValidateOnlySnapshot (0.01s) === RUN TestValidateOldRoot --- PASS: TestValidateOldRoot (0.01s) === RUN TestValidateOldRootCorrupt @@ -3151,19 +3187,19 @@ === RUN TestValidateRootRotationMultipleKeysThreshold1 --- PASS: TestValidateRootRotationMultipleKeysThreshold1 (0.01s) === RUN TestRootRotationNotSignedWithOldKeysForOldRole ---- PASS: TestRootRotationNotSignedWithOldKeysForOldRole (0.01s) +--- PASS: TestRootRotationNotSignedWithOldKeysForOldRole (0.02s) === RUN TestRootRotationVersionIncrement --- PASS: TestRootRotationVersionIncrement (0.01s) === RUN TestValidateNoRoot --- PASS: TestValidateNoRoot (0.00s) === RUN TestValidateSnapshotMissingNoSnapshotKey ---- PASS: TestValidateSnapshotMissingNoSnapshotKey (0.00s) +--- PASS: TestValidateSnapshotMissingNoSnapshotKey (0.01s) === RUN TestValidateSnapshotGenerateNoPrev --- PASS: TestValidateSnapshotGenerateNoPrev (0.01s) === RUN TestValidateSnapshotGenerateWithPrev --- PASS: TestValidateSnapshotGenerateWithPrev (0.01s) === RUN TestValidateSnapshotGeneratePrevCorrupt -time="2025-10-12T23:49:32-12:00" level=error msg="Failed to unmarshal existing snapshot for GUN docker.com/notary" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing snapshot for GUN docker.com/notary" --- PASS: TestValidateSnapshotGeneratePrevCorrupt (0.01s) === RUN TestValidateSnapshotGenerateStoreGetCurrentSnapshotBroken --- PASS: TestValidateSnapshotGenerateStoreGetCurrentSnapshotBroken (0.01s) @@ -3176,37 +3212,37 @@ === RUN TestValidateRootInvalidTimestampKey --- PASS: TestValidateRootInvalidTimestampKey (0.00s) === RUN TestValidateRootInvalidTimestampThreshold ---- PASS: TestValidateRootInvalidTimestampThreshold (0.00s) +--- PASS: TestValidateRootInvalidTimestampThreshold (0.01s) === RUN TestValidateRootInvalidZeroThreshold ---- PASS: TestValidateRootInvalidZeroThreshold (0.01s) +--- PASS: TestValidateRootInvalidZeroThreshold (0.02s) === RUN TestValidateRootRoleMissing ---- PASS: TestValidateRootRoleMissing (0.00s) +--- PASS: TestValidateRootRoleMissing (0.01s) === RUN TestValidateTargetsRoleMissing ---- PASS: TestValidateTargetsRoleMissing (0.00s) +--- PASS: TestValidateTargetsRoleMissing (0.01s) === RUN TestValidateSnapshotRoleMissing ---- PASS: TestValidateSnapshotRoleMissing (0.00s) +--- PASS: TestValidateSnapshotRoleMissing (0.01s) === RUN TestValidateRootSigMissing ---- PASS: TestValidateRootSigMissing (0.00s) +--- PASS: TestValidateRootSigMissing (0.01s) === RUN TestValidateTargetsSigMissing -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: tuf: data has no signatures" ---- PASS: TestValidateTargetsSigMissing (0.00s) +time="2026-11-16T08:20:04+14:00" level=error msg="ErrBadTargets: tuf: data has no signatures" +--- PASS: TestValidateTargetsSigMissing (0.01s) === RUN TestValidateSnapshotSigMissing ---- PASS: TestValidateSnapshotSigMissing (0.00s) +--- PASS: TestValidateSnapshotSigMissing (0.01s) === RUN TestValidateRootCorrupt ---- PASS: TestValidateRootCorrupt (0.00s) +--- PASS: TestValidateRootCorrupt (0.01s) === RUN TestValidateTargetsCorrupt -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: invalid character '\\u0084' looking for beginning of value" ---- PASS: TestValidateTargetsCorrupt (0.00s) +time="2026-11-16T08:20:04+14:00" level=error msg="ErrBadTargets: invalid character '\\u0084' looking for beginning of value" +--- PASS: TestValidateTargetsCorrupt (0.01s) === RUN TestValidateSnapshotCorrupt --- PASS: TestValidateSnapshotCorrupt (0.00s) === RUN TestValidateRootModifiedSize --- PASS: TestValidateRootModifiedSize (0.00s) === RUN TestValidateTargetsModifiedSize ---- PASS: TestValidateTargetsModifiedSize (0.00s) +--- PASS: TestValidateTargetsModifiedSize (0.01s) === RUN TestValidateRootModifiedHash ---- PASS: TestValidateRootModifiedHash (0.00s) +--- PASS: TestValidateRootModifiedHash (0.01s) === RUN TestValidateTargetsModifiedHash ---- PASS: TestValidateTargetsModifiedHash (0.00s) +--- PASS: TestValidateTargetsModifiedHash (0.01s) === RUN TestGenerateSnapshotRootNotLoaded --- PASS: TestGenerateSnapshotRootNotLoaded (0.00s) === RUN TestGenerateSnapshotNoKey @@ -3214,18 +3250,18 @@ === RUN TestLoadTargetsLoadsNothingIfNoUpdates --- PASS: TestLoadTargetsLoadsNothingIfNoUpdates (0.00s) === RUN TestValidateTargetsRequiresStoredParent -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: targets must be loaded first" +time="2026-11-16T08:20:05+14:00" level=error msg="ErrBadTargets: targets must be loaded first" --- PASS: TestValidateTargetsRequiresStoredParent (0.00s) === RUN TestValidateTargetsParentInUpdate -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: invalid character 'I' looking for beginning of value" +time="2026-11-16T08:20:05+14:00" level=error msg="ErrBadTargets: invalid character 'I' looking for beginning of value" --- PASS: TestValidateTargetsParentInUpdate (0.00s) === RUN TestValidateTargetsRoleNotInParent -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: tuf: invalid role targets/level1. delegation does not exist" -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: targets has already been loaded" -time="2025-10-12T23:49:32-12:00" level=error msg="ErrBadTargets: tuf: invalid role targets/level1. delegation does not exist" ---- PASS: TestValidateTargetsRoleNotInParent (0.00s) +time="2026-11-16T08:20:05+14:00" level=error msg="ErrBadTargets: tuf: invalid role targets/level1. delegation does not exist" +time="2026-11-16T08:20:05+14:00" level=error msg="ErrBadTargets: targets has already been loaded" +time="2026-11-16T08:20:05+14:00" level=error msg="ErrBadTargets: tuf: invalid role targets/level1. delegation does not exist" +--- PASS: TestValidateTargetsRoleNotInParent (0.01s) PASS -ok github.com/theupdateframework/notary/server/handlers 0.267s +ok github.com/theupdateframework/notary/server/handlers 0.375s === RUN TestSnapshotExpired --- PASS: TestSnapshotExpired (0.00s) === RUN TestSnapshotNotExpired @@ -3233,17 +3269,17 @@ === RUN TestGetSnapshotKeyCreate --- PASS: TestGetSnapshotKeyCreate (0.00s) === RUN TestGetSnapshotKeyCreateWithFailingStore -time="2025-10-12T23:49:33-12:00" level=error msg="Error when retrieving root role for GUN gun: failing store failed" +time="2026-11-16T08:20:04+14:00" level=error msg="Error when retrieving root role for GUN gun: failing store failed" --- PASS: TestGetSnapshotKeyCreateWithFailingStore (0.00s) === RUN TestGetSnapshotKeyCreateWithCorruptedStore -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to unmarshal existing root for GUN gun to retrieve snapshot key ID" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing root for GUN gun to retrieve snapshot key ID" --- PASS: TestGetSnapshotKeyCreateWithCorruptedStore (0.00s) === RUN TestGetSnapshotKeyCreateWithInvalidAlgo --- PASS: TestGetSnapshotKeyCreateWithInvalidAlgo (0.00s) === RUN TestGetSnapshotKeyExistingMetadata --- PASS: TestGetSnapshotKeyExistingMetadata (0.00s) === RUN TestGetSnapshotNoPreviousSnapshot -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to unmarshal existing snapshot for GUN gun" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing snapshot for GUN gun" --- PASS: TestGetSnapshotNoPreviousSnapshot (0.00s) === RUN TestGetSnapshotReturnsPreviousSnapshotIfUnexpired --- PASS: TestGetSnapshotReturnsPreviousSnapshotIfUnexpired (0.00s) @@ -3254,7 +3290,7 @@ === RUN TestCreateSnapshotNoKeyInCrypto --- PASS: TestCreateSnapshotNoKeyInCrypto (0.00s) PASS -ok github.com/theupdateframework/notary/server/snapshot 0.024s +ok github.com/theupdateframework/notary/server/snapshot 0.029s === RUN TestMemoryUpdateCurrentEmpty --- PASS: TestMemoryUpdateCurrentEmpty (0.00s) === RUN TestMemoryUpdateCurrentVersionCheckOldVersionExists @@ -3280,35 +3316,35 @@ === RUN TestRDBTUFFileJSONUnmarshallingFailure --- PASS: TestRDBTUFFileJSONUnmarshallingFailure (0.00s) === RUN TestSQLUpdateCurrentEmpty ---- PASS: TestSQLUpdateCurrentEmpty (0.24s) +--- PASS: TestSQLUpdateCurrentEmpty (1.02s) === RUN TestSQLUpdateCurrentVersionCheckOldVersionExists ---- PASS: TestSQLUpdateCurrentVersionCheckOldVersionExists (0.11s) +--- PASS: TestSQLUpdateCurrentVersionCheckOldVersionExists (1.58s) === RUN TestSQLUpdateCurrentVersionCheckOldVersionNotExist ---- PASS: TestSQLUpdateCurrentVersionCheckOldVersionNotExist (0.12s) +--- PASS: TestSQLUpdateCurrentVersionCheckOldVersionNotExist (0.41s) === RUN TestSQLUpdateManyNoConflicts ---- PASS: TestSQLUpdateManyNoConflicts (0.16s) +--- PASS: TestSQLUpdateManyNoConflicts (0.53s) === RUN TestSQLUpdateManyConflictRollback ---- PASS: TestSQLUpdateManyConflictRollback (0.19s) +--- PASS: TestSQLUpdateManyConflictRollback (0.34s) === RUN TestSQLDelete ---- PASS: TestSQLDelete (0.26s) +--- PASS: TestSQLDelete (0.46s) === RUN TestSQLDBCheckHealthTableMissing ---- PASS: TestSQLDBCheckHealthTableMissing (0.13s) +--- PASS: TestSQLDBCheckHealthTableMissing (0.18s) === RUN TestSQLDBCheckHealthDBConnectionFail ---- PASS: TestSQLDBCheckHealthDBConnectionFail (0.13s) +--- PASS: TestSQLDBCheckHealthDBConnectionFail (0.26s) === RUN TestSQLDBCheckHealthSucceeds ---- PASS: TestSQLDBCheckHealthSucceeds (0.13s) +--- PASS: TestSQLDBCheckHealthSucceeds (0.16s) === RUN TestSQLDBGetChecksum ---- PASS: TestSQLDBGetChecksum (1.05s) +--- PASS: TestSQLDBGetChecksum (0.21s) === RUN TestSQLDBGetChecksumNotFound ---- PASS: TestSQLDBGetChecksumNotFound (0.14s) +--- PASS: TestSQLDBGetChecksumNotFound (0.18s) === RUN TestSQLTUFMetaStoreGetCurrent ---- PASS: TestSQLTUFMetaStoreGetCurrent (0.24s) +--- PASS: TestSQLTUFMetaStoreGetCurrent (0.28s) === RUN TestSQLGetChanges ---- PASS: TestSQLGetChanges (0.29s) +--- PASS: TestSQLGetChanges (1.19s) === RUN TestSQLDBGetVersion ---- PASS: TestSQLDBGetVersion (0.12s) +--- PASS: TestSQLDBGetVersion (0.17s) PASS -ok github.com/theupdateframework/notary/server/storage 3.320s +ok github.com/theupdateframework/notary/server/storage 6.977s === RUN TestTimestampExpired --- PASS: TestTimestampExpired (0.00s) === RUN TestTimestampNotExpired @@ -3316,31 +3352,31 @@ === RUN TestGetTimestampKey --- PASS: TestGetTimestampKey (0.00s) === RUN TestGetTimestampNoPreviousTimestamp -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to unmarshal existing timestamp" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing timestamp" --- PASS: TestGetTimestampNoPreviousTimestamp (0.00s) === RUN TestGetTimestampReturnsPreviousTimestampIfUnexpired --- PASS: TestGetTimestampReturnsPreviousTimestampIfUnexpired (0.00s) === RUN TestGetTimestampOldTimestampExpired --- PASS: TestGetTimestampOldTimestampExpired (0.00s) === RUN TestCannotMakeNewTimestampIfNoRootOrSnapshot -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to create a new timestamp" -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to create a new timestamp" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to create a new timestamp" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to create a new timestamp" --- PASS: TestCannotMakeNewTimestampIfNoRootOrSnapshot (0.00s) === RUN TestCreateTimestampNoKeyInCrypto -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to create a new timestamp" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to create a new timestamp" --- PASS: TestCreateTimestampNoKeyInCrypto (0.00s) === RUN TestGetTimestampKeyCreateWithFailingStore -time="2025-10-12T23:49:33-12:00" level=error msg="Error when retrieving root role for GUN gun: failing store failed" +time="2026-11-16T08:20:04+14:00" level=error msg="Error when retrieving root role for GUN gun: failing store failed" --- PASS: TestGetTimestampKeyCreateWithFailingStore (0.00s) === RUN TestGetTimestampKeyCreateWithCorruptedStore -time="2025-10-12T23:49:33-12:00" level=error msg="Failed to unmarshal existing root for GUN gun to retrieve timestamp key ID" +time="2026-11-16T08:20:04+14:00" level=error msg="Failed to unmarshal existing root for GUN gun to retrieve timestamp key ID" --- PASS: TestGetTimestampKeyCreateWithCorruptedStore (0.00s) === RUN TestGetTimestampKeyCreateWithInvalidAlgo --- PASS: TestGetTimestampKeyCreateWithInvalidAlgo (0.00s) === RUN TestGetTimestampKeyExistingMetadata --- PASS: TestGetTimestampKeyExistingMetadata (0.00s) PASS -ok github.com/theupdateframework/notary/server/timestamp 0.025s +ok github.com/theupdateframework/notary/server/timestamp 0.039s ? github.com/theupdateframework/notary/signer [no test files] ? github.com/theupdateframework/notary/signer/api [no test files] ? github.com/theupdateframework/notary/signer/client [no test files] @@ -3358,30 +3394,30 @@ `nodb` is not officially supported, running under compatibility mode. --- PASS: TestNewSQLKeyDBStorePropagatesDBError (0.00s) === RUN TestSQLDBHealthCheckMissingTable ---- PASS: TestSQLDBHealthCheckMissingTable (0.13s) +--- PASS: TestSQLDBHealthCheckMissingTable (0.18s) === RUN TestSQLDBHealthCheckNoConnection ---- PASS: TestSQLDBHealthCheckNoConnection (0.11s) +--- PASS: TestSQLDBHealthCheckNoConnection (0.14s) === RUN TestSQLKeyCanOnlyBeAddedOnce (/build/reproducible-path/notary-0.7.0+git20240416.9d2b3b3+ds1/_build/src/github.com/theupdateframework/notary/signer/keydbstore/sql_keydbstore.go:98) -[2025-10-12 23:49:34]  UNIQUE constraint failed: private_keys.key_id  ---- PASS: TestSQLKeyCanOnlyBeAddedOnce (0.17s) +[2026-11-16 08:20:06]  UNIQUE constraint failed: private_keys.key_id  +--- PASS: TestSQLKeyCanOnlyBeAddedOnce (1.93s) === RUN TestSQLCreateDelete ---- PASS: TestSQLCreateDelete (0.19s) +--- PASS: TestSQLCreateDelete (0.37s) === RUN TestSQLKeyRotation ---- PASS: TestSQLKeyRotation (0.20s) +--- PASS: TestSQLKeyRotation (0.39s) === RUN TestSQLSigningMarksKeyActive -time="2025-10-12T23:49:34-12:00" level=error msg="Key a7f08c00555862b5f296baba91036569c273c074d4b7c487333b8676ac2faa37 was just used to sign hash successful, db closed, error when trying to mark key as active: sql: database is closed" +time="2026-11-16T08:20:08+14:00" level=error msg="Key 89bc4d88e8daf5fed750a29b5c436093fbe9ae7cf6d06c7e41cfa6265e5013af was just used to sign hash successful, db closed, error when trying to mark key as active: sql: database is closed" (/build/reproducible-path/notary-0.7.0+git20240416.9d2b3b3+ds1/_build/src/github.com/theupdateframework/notary/signer/keydbstore/sql_keydbstore.go:197) -[2025-10-12 23:49:34]  sql: database is closed  ---- PASS: TestSQLSigningMarksKeyActive (0.43s) +[2026-11-16 08:20:08]  sql: database is closed  +--- PASS: TestSQLSigningMarksKeyActive (0.54s) === RUN TestSQLCreateKey ---- PASS: TestSQLCreateKey (0.90s) +--- PASS: TestSQLCreateKey (0.41s) === RUN TestSQLUnimplementedInterfaceBehavior ---- PASS: TestSQLUnimplementedInterfaceBehavior (0.14s) +--- PASS: TestSQLUnimplementedInterfaceBehavior (0.31s) PASS -ok github.com/theupdateframework/notary/signer/keydbstore 2.296s +ok github.com/theupdateframework/notary/signer/keydbstore 4.309s === RUN TestSet --- PASS: TestSet (0.00s) === RUN TestSetWithNoParentDirectory @@ -3423,7 +3459,7 @@ === RUN Test404Error --- PASS: Test404Error (0.00s) === RUN Test50XErrors ---- PASS: Test50XErrors (0.00s) +--- PASS: Test50XErrors (0.01s) === RUN Test400Error --- PASS: Test400Error (0.00s) === RUN TestTranslateErrorsParse400Errors @@ -3439,7 +3475,7 @@ === RUN TestHTTPStoreGetKey --- PASS: TestHTTPStoreGetKey (0.00s) === RUN TestHTTPStoreGetRotateKeySizeLimited ---- PASS: TestHTTPStoreGetRotateKeySizeLimited (0.01s) +--- PASS: TestHTTPStoreGetRotateKeySizeLimited (0.00s) === RUN TestHTTPOffline --- PASS: TestHTTPOffline (0.00s) === RUN TestErrServerUnavailable @@ -3460,7 +3496,7 @@ === RUN TestMemoryStoreMetadata --- PASS: TestMemoryStoreMetadata (0.00s) PASS -ok github.com/theupdateframework/notary/storage 0.033s +ok github.com/theupdateframework/notary/storage 0.059s ? github.com/theupdateframework/notary/storage/rethinkdb [no test files] === RUN TestExportKeys --- PASS: TestExportKeys (0.00s) @@ -3473,7 +3509,7 @@ === RUN TestImportKeys --- PASS: TestImportKeys (0.00s) === RUN TestImportNoPath ---- PASS: TestImportNoPath (0.00s) +--- PASS: TestImportNoPath (0.01s) === RUN TestNonRootPathInference --- PASS: TestNonRootPathInference (0.00s) === RUN TestBlockHeaderPrecedenceRoleAndGun @@ -3483,120 +3519,119 @@ === RUN TestImportKeys2InOneFile --- PASS: TestImportKeys2InOneFile (0.00s) === RUN TestImportKeys2InOneFileNoPath ---- PASS: TestImportKeys2InOneFileNoPath (0.00s) +--- PASS: TestImportKeys2InOneFileNoPath (0.01s) === RUN TestEncryptedKeyImportFail -time="2025-10-12T23:49:33-12:00" level=warning msg="failed to import key to store: Invalid key generated, key may be encrypted and does not contain path header" +time="2026-11-16T08:20:04+14:00" level=warning msg="failed to import key to store: Invalid key generated, key may be encrypted and does not contain path header" --- PASS: TestEncryptedKeyImportFail (0.00s) === RUN TestEncryptedKeyImportSuccess --- PASS: TestEncryptedKeyImportSuccess (0.00s) === RUN TestEncryption ---- PASS: TestEncryption (0.00s) +--- PASS: TestEncryption (0.01s) === RUN TestAddKey ---- PASS: TestAddKey (0.01s) +--- PASS: TestAddKey (0.02s) === RUN TestKeyStoreInternalState ---- PASS: TestKeyStoreInternalState (0.00s) +--- PASS: TestKeyStoreInternalState (0.01s) === RUN TestGet ---- PASS: TestGet (0.03s) +--- PASS: TestGet (0.05s) === RUN TestGetLegacyKey --- PASS: TestGetLegacyKey (0.00s) === RUN TestListKeys ---- PASS: TestListKeys (0.02s) +--- PASS: TestListKeys (0.04s) === RUN TestAddGetKeyMemStore --- PASS: TestAddGetKeyMemStore (0.00s) === RUN TestAddGetKeyInfoMemStore --- PASS: TestAddGetKeyInfoMemStore (0.01s) === RUN TestGetDecryptedWithTamperedCipherText -time="2025-10-12T23:49:33-12:00" level=error msg="PEM block is empty" ---- PASS: TestGetDecryptedWithTamperedCipherText (0.00s) +time="2026-11-16T08:20:04+14:00" level=error msg="PEM block is empty" +--- PASS: TestGetDecryptedWithTamperedCipherText (0.01s) === RUN TestGetDecryptedWithInvalidPassphrase --- PASS: TestGetDecryptedWithInvalidPassphrase (0.03s) === RUN TestGetDecryptedWithConsistentlyInvalidPassphrase ---- PASS: TestGetDecryptedWithConsistentlyInvalidPassphrase (0.02s) +--- PASS: TestGetDecryptedWithConsistentlyInvalidPassphrase (0.04s) === RUN TestRemoveKey ---- PASS: TestRemoveKey (0.01s) +--- PASS: TestRemoveKey (0.02s) === RUN TestKeysAreCached ---- PASS: TestKeysAreCached (0.00s) +--- PASS: TestKeysAreCached (0.01s) PASS -ok github.com/theupdateframework/notary/trustmanager 0.175s +ok github.com/theupdateframework/notary/trustmanager 0.271s === RUN TestRemoteStore -time="2025-10-12T23:49:34-12:00" level=info msg="listing files from localhost:9888" -time="2025-10-12T23:49:34-12:00" level=info msg="listing files from localhost:9888" ---- PASS: TestRemoteStore (0.01s) +time="2026-11-16T08:20:07+14:00" level=info msg="listing files from localhost:9888" +time="2026-11-16T08:20:07+14:00" level=info msg="listing files from localhost:9888" +--- PASS: TestRemoteStore (0.02s) === RUN TestErrors -time="2025-10-12T23:49:34-12:00" level=error msg="failed to store: test error" - client_test.go:98: server errored %!s() ---- PASS: TestErrors (0.01s) +time="2026-11-16T08:20:07+14:00" level=error msg="failed to store: test error" +--- PASS: TestErrors (0.02s) === RUN TestNewGRPCStorage --- PASS: TestNewGRPCStorage (0.00s) === RUN TestGRPCStorage --- PASS: TestGRPCStorage (0.00s) PASS -ok github.com/theupdateframework/notary/trustmanager/remoteks 0.039s +ok github.com/theupdateframework/notary/trustmanager/remoteks 0.044s ? github.com/theupdateframework/notary/trustmanager/remoteks/github.com/theupdateframework/notary/trustmanager/remoteks [no test files] ? github.com/theupdateframework/notary/trustmanager/yubikey [no test files] === RUN TestWildcardMatch --- PASS: TestWildcardMatch (0.00s) === RUN TestValidateRoot -2025/10/12 23:49:36 [INFO] generate received request -2025/10/12 23:49:36 [INFO] received CSR -2025/10/12 23:49:36 [INFO] generating key: ecdsa-256 -2025/10/12 23:49:36 [INFO] encoded CSR -2025/10/12 23:49:36 [INFO] signed certificate with serial number 293065591110246684879109049202336005901402784120 -2025/10/12 23:49:36 [INFO] received CSR -2025/10/12 23:49:36 [INFO] generating key: ecdsa-256 -2025/10/12 23:49:36 [INFO] encoded CSR -2025/10/12 23:49:36 [INFO] signed certificate with serial number 141092289544105773565935514138979416782785296781 -2025/10/12 23:49:36 [INFO] received CSR -2025/10/12 23:49:36 [INFO] generating key: ecdsa-256 -2025/10/12 23:49:36 [INFO] encoded CSR -2025/10/12 23:49:36 [INFO] signed certificate with serial number 675716579998927254175986727044322899830743796067 +2026/11/16 08:20:07 [INFO] generate received request +2026/11/16 08:20:07 [INFO] received CSR +2026/11/16 08:20:07 [INFO] generating key: ecdsa-256 +2026/11/16 08:20:07 [INFO] encoded CSR +2026/11/16 08:20:07 [INFO] signed certificate with serial number 717228896296233720117547384712060659080883519258 +2026/11/16 08:20:07 [INFO] received CSR +2026/11/16 08:20:07 [INFO] generating key: ecdsa-256 +2026/11/16 08:20:07 [INFO] encoded CSR +2026/11/16 08:20:07 [INFO] signed certificate with serial number 520011897698399627820642913596624612897488132429 +2026/11/16 08:20:07 [INFO] received CSR +2026/11/16 08:20:07 [INFO] generating key: ecdsa-256 +2026/11/16 08:20:07 [INFO] encoded CSR +2026/11/16 08:20:07 [INFO] signed certificate with serial number 149380929939804584319202010828867657119010073562 --- PASS: TestValidateRoot (0.01s) === RUN TestValidateRootWithoutTOFUS --- PASS: TestValidateRootWithoutTOFUS (0.00s) === RUN TestValidateRootWithPinnedCert --- PASS: TestValidateRootWithPinnedCert (0.00s) === RUN TestValidateRootWithPinnedCertAndIntermediates ---- PASS: TestValidateRootWithPinnedCertAndIntermediates (0.01s) +--- PASS: TestValidateRootWithPinnedCertAndIntermediates (0.02s) === RUN TestValidateRootFailuresWithPinnedCert --- PASS: TestValidateRootFailuresWithPinnedCert (0.00s) === RUN TestValidateRootWithPinnedCA ---- PASS: TestValidateRootWithPinnedCA (0.02s) +--- PASS: TestValidateRootWithPinnedCA (0.03s) === RUN TestValidateSuccessfulRootRotation ---- PASS: TestValidateSuccessfulRootRotation (0.01s) +--- PASS: TestValidateSuccessfulRootRotation (0.02s) === RUN TestValidateRootRotationMissingOrigSig ---- PASS: TestValidateRootRotationMissingOrigSig (0.01s) +--- PASS: TestValidateRootRotationMissingOrigSig (0.02s) === RUN TestValidateRootRotationMissingNewSig ---- PASS: TestValidateRootRotationMissingNewSig (0.01s) +--- PASS: TestValidateRootRotationMissingNewSig (0.02s) === RUN TestValidateRootRotationTrustPinning ---- PASS: TestValidateRootRotationTrustPinning (0.01s) +--- PASS: TestValidateRootRotationTrustPinning (0.02s) === RUN TestValidateRootRotationTrustPinningInvalidCA ---- PASS: TestValidateRootRotationTrustPinningInvalidCA (0.01s) +--- PASS: TestValidateRootRotationTrustPinningInvalidCA (0.12s) === RUN TestParsePEMPublicKey -time="2025-10-12T23:49:37-12:00" level=warning msg="certificate with CN notary is near expiry" +time="2026-11-16T08:20:07+14:00" level=warning msg="certificate with CN notary is near expiry" --- PASS: TestParsePEMPublicKey (0.00s) === RUN TestCheckingCertExpiry -time="2025-10-12T23:49:37-12:00" level=warning msg="certificate with CN notary is near expiry" ---- PASS: TestCheckingCertExpiry (0.00s) +time="2026-11-16T08:20:07+14:00" level=warning msg="certificate with CN notary is near expiry" +--- PASS: TestCheckingCertExpiry (0.01s) === RUN TestValidateRootWithExpiredIntermediate ---- PASS: TestValidateRootWithExpiredIntermediate (0.00s) +--- PASS: TestValidateRootWithExpiredIntermediate (0.02s) === RUN TestCheckingWildcardCert --- PASS: TestCheckingWildcardCert (0.00s) === RUN TestWildcardMatching --- PASS: TestWildcardMatching (0.00s) PASS -ok github.com/theupdateframework/notary/trustpinning 0.129s +ok github.com/theupdateframework/notary/trustpinning 0.306s === RUN TestInitSnapshotNoTargets --- PASS: TestInitSnapshotNoTargets (0.00s) === RUN TestInitRepo ---- PASS: TestInitRepo (0.00s) +--- PASS: TestInitRepo (0.01s) === RUN TestUpdateDelegations --- PASS: TestUpdateDelegations (0.00s) === RUN TestPurgeDelegationsKeyFromTop -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/sybil has fewer keys than its threshold of 1; it will not be usable until keys are added to it" -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/vimes/carrot has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:07+14:00" level=warning msg="role targets/sybil has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:07+14:00" level=warning msg="role targets/vimes/carrot has fewer keys than its threshold of 1; it will not be usable until keys are added to it" --- PASS: TestPurgeDelegationsKeyFromTop (0.00s) === RUN TestPurgeDelegationsKeyFromDeep -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/vimes/carrot has fewer keys than its threshold of 1; it will not be usable until keys are added to it" +time="2026-11-16T08:20:07+14:00" level=warning msg="role targets/vimes/carrot has fewer keys than its threshold of 1; it will not be usable until keys are added to it" --- PASS: TestPurgeDelegationsKeyFromDeep (0.00s) === RUN TestPurgeDelegationsKeyBadWildRole --- PASS: TestPurgeDelegationsKeyBadWildRole (0.00s) @@ -3609,7 +3644,7 @@ === RUN TestUpdateDelegationsRoleThatIsMissingDelegationKey --- PASS: TestUpdateDelegationsRoleThatIsMissingDelegationKey (0.00s) === RUN TestUpdateDelegationsNotEnoughKeys -time="2025-10-12T23:49:36-12:00" level=warning msg="role targets/role has fewer keys than its threshold of 2; it will not be usable until keys are added to it" +time="2026-11-16T08:20:07+14:00" level=warning msg="role targets/role has fewer keys than its threshold of 2; it will not be usable until keys are added to it" --- PASS: TestUpdateDelegationsNotEnoughKeys (0.00s) === RUN TestUpdateDelegationsAddKeyToRole --- PASS: TestUpdateDelegationsAddKeyToRole (0.00s) @@ -3680,7 +3715,7 @@ === RUN TestSignRootOldKeyCertMissing --- PASS: TestSignRootOldKeyCertMissing (0.01s) === RUN TestRootKeyRotation ---- PASS: TestRootKeyRotation (0.02s) +--- PASS: TestRootKeyRotation (0.03s) === RUN TestBuilderLoadsValidRolesOnly --- PASS: TestBuilderLoadsValidRolesOnly (0.00s) === RUN TestBuilderOnlyAcceptsRootFirstWhenLoading @@ -3704,13 +3739,13 @@ === RUN TestGetConsistentInfo --- PASS: TestGetConsistentInfo (0.00s) === RUN TestTimestampPreAndPostChecksumming ---- PASS: TestTimestampPreAndPostChecksumming (0.00s) +--- PASS: TestTimestampPreAndPostChecksumming (0.01s) === RUN TestSnapshotLoadedFirstChecksumsOthers --- PASS: TestSnapshotLoadedFirstChecksumsOthers (0.00s) === RUN TestSnapshotLoadedAfterChecksumsOthersRetroactively --- PASS: TestSnapshotLoadedAfterChecksumsOthersRetroactively (0.01s) PASS -ok github.com/theupdateframework/notary/tuf 0.125s +ok github.com/theupdateframework/notary/tuf 0.178s === RUN TestMergeStrSlicesExclusive --- PASS: TestMergeStrSlicesExclusive (0.00s) === RUN TestMergeStrSlicesOverlap @@ -3844,7 +3879,7 @@ === RUN TestFileMetaEquals --- PASS: TestFileMetaEquals (0.00s) PASS -ok github.com/theupdateframework/notary/tuf/data 0.013s +ok github.com/theupdateframework/notary/tuf/data 0.022s === RUN TestListKeys --- PASS: TestListKeys (0.00s) === RUN TestGetKeys @@ -3876,7 +3911,7 @@ === RUN TestRSAPSSVerifierWithInvalidKeyType --- PASS: TestRSAPSSVerifierWithInvalidKeyType (0.00s) === RUN TestRSAPSSVerifierWithInvalidKeyLength ---- PASS: TestRSAPSSVerifierWithInvalidKeyLength (0.03s) +--- PASS: TestRSAPSSVerifierWithInvalidKeyLength (0.05s) === RUN TestRSAPSSVerifierWithInvalidKey --- PASS: TestRSAPSSVerifierWithInvalidKey (0.00s) === RUN TestRSAPSSVerifierWithInvalidSignature @@ -3890,12 +3925,12 @@ === RUN TestRSAPKCS1v15VerifierWithInvalidKey --- PASS: TestRSAPKCS1v15VerifierWithInvalidKey (0.00s) === RUN TestRSAPKCS1v15VerifierWithInvalidSignature -time="2025-10-12T23:49:36-12:00" level=error msg="Failed verification: crypto/rsa: verification error" +time="2026-11-16T08:20:07+14:00" level=error msg="Failed verification: crypto/rsa: verification error" --- PASS: TestRSAPKCS1v15VerifierWithInvalidSignature (0.00s) === RUN TestECDSAVerifier --- PASS: TestECDSAVerifier (0.00s) === RUN TestECDSAVerifierOtherCurves ---- PASS: TestECDSAVerifierOtherCurves (0.02s) +--- PASS: TestECDSAVerifierOtherCurves (0.03s) === RUN TestECDSAx509Verifier --- PASS: TestECDSAx509Verifier (0.00s) === RUN TestECDSAVerifierWithInvalidKeyType @@ -3933,14 +3968,14 @@ === RUN TestVerifyVersion --- PASS: TestVerifyVersion (0.00s) === RUN TestVerifyExpiry -time="2025-10-12T23:49:37-12:00" level=error msg="Metadata for root expired" +time="2026-11-16T08:20:07+14:00" level=error msg="Metadata for root expired" --- PASS: TestVerifyExpiry (0.00s) === RUN TestVerifyPublicKeyMatchesPrivateKeyHappyCase --- PASS: TestVerifyPublicKeyMatchesPrivateKeyHappyCase (0.00s) === RUN TestVerifyPublicKeyMatchesPrivateKeyFails --- PASS: TestVerifyPublicKeyMatchesPrivateKeyFails (0.00s) PASS -ok github.com/theupdateframework/notary/tuf/signed 0.075s +ok github.com/theupdateframework/notary/tuf/signed 0.111s === RUN TestNewSwizzler --- PASS: TestNewSwizzler (0.00s) === RUN TestSwizzlerSetInvalidJSON @@ -3958,7 +3993,7 @@ === RUN TestSwizzlerRemoveMetadata --- PASS: TestSwizzlerRemoveMetadata (0.00s) === RUN TestSwizzlerSignMetadataWithInvalidKey ---- PASS: TestSwizzlerSignMetadataWithInvalidKey (0.00s) +--- PASS: TestSwizzlerSignMetadataWithInvalidKey (0.01s) === RUN TestSwizzlerOffsetMetadataVersion --- PASS: TestSwizzlerOffsetMetadataVersion (0.00s) === RUN TestSwizzlerExpireMetadata @@ -3972,7 +4007,7 @@ === RUN TestSwizzlerUpdateSnapshotHashesSpecifiedRoles --- PASS: TestSwizzlerUpdateSnapshotHashesSpecifiedRoles (0.00s) === RUN TestSwizzlerUpdateSnapshotHashesNoSpecifiedRoles ---- PASS: TestSwizzlerUpdateSnapshotHashesNoSpecifiedRoles (0.00s) +--- PASS: TestSwizzlerUpdateSnapshotHashesNoSpecifiedRoles (0.01s) === RUN TestSwizzlerUpdateTimestamp --- PASS: TestSwizzlerUpdateTimestamp (0.00s) === RUN TestMissingSigningKey @@ -3990,13 +4025,13 @@ === RUN TestSwizzlerRotateKeyDelegationRole --- PASS: TestSwizzlerRotateKeyDelegationRole (0.00s) PASS -ok github.com/theupdateframework/notary/tuf/testutils 0.071s +ok github.com/theupdateframework/notary/tuf/testutils 0.104s ? github.com/theupdateframework/notary/tuf/testutils/interfaces [no test files] ? github.com/theupdateframework/notary/tuf/testutils/keys [no test files] === RUN TestConvertTUFKeyToPKCS8 --- PASS: TestConvertTUFKeyToPKCS8 (0.01s) === RUN TestParsePKCS8ToTufKey ---- PASS: TestParsePKCS8ToTufKey (0.03s) +--- PASS: TestParsePKCS8ToTufKey (0.05s) === RUN TestPEMtoPEM --- PASS: TestPEMtoPEM (0.00s) === RUN TestRoleListLen @@ -4042,7 +4077,7 @@ === RUN TestNewCertificate --- PASS: TestNewCertificate (0.00s) === RUN TestKeyOperations ---- PASS: TestKeyOperations (0.01s) +--- PASS: TestKeyOperations (0.02s) === RUN TestRSAX509PublickeyID --- PASS: TestRSAX509PublickeyID (0.00s) === RUN TestECDSAX509PublickeyID @@ -4058,9 +4093,9 @@ === RUN TestValidateCertificateWithInvalidExpiry --- PASS: TestValidateCertificateWithInvalidExpiry (0.00s) === RUN TestValidateCertificateWithShortKey ---- PASS: TestValidateCertificateWithShortKey (0.03s) +--- PASS: TestValidateCertificateWithShortKey (0.10s) PASS -ok github.com/theupdateframework/notary/tuf/utils 0.101s +ok github.com/theupdateframework/notary/tuf/utils 0.194s === RUN TestNewSerializableErrorNonValidationError --- PASS: TestNewSerializableErrorNonValidationError (0.00s) === RUN TestNewSerializableErrorValidationError @@ -4076,7 +4111,7 @@ === RUN TestUnmarshalInvalidJSON --- PASS: TestUnmarshalInvalidJSON (0.00s) PASS -ok github.com/theupdateframework/notary/tuf/validation 0.008s +ok github.com/theupdateframework/notary/tuf/validation 0.004s === RUN TestSetSignalTrap --- PASS: TestSetSignalTrap (0.00s) === RUN TestLogLevelSignalHandle @@ -4132,7 +4167,7 @@ === RUN TestParseSQLStorageWithEnvironmentVariables --- PASS: TestParseSQLStorageWithEnvironmentVariables (0.00s) === RUN TestParseTLSNoTLSWhenRequired ---- PASS: TestParseTLSNoTLSWhenRequired (0.01s) +--- PASS: TestParseTLSNoTLSWhenRequired (0.00s) === RUN TestParseTLSPartialTLS --- PASS: TestParseTLSPartialTLS (0.00s) === RUN TestParseTLSNoTLSNotRequired @@ -4176,7 +4211,7 @@ === RUN TestDoAuthWildcardImage --- PASS: TestDoAuthWildcardImage (0.00s) PASS -ok github.com/theupdateframework/notary/utils 0.030s +ok github.com/theupdateframework/notary/utils 0.022s ? github.com/theupdateframework/notary/version [no test files] create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=/build/reproducible-path/notary-0.7.0\+git20240416.9d2b3b3\+ds1/_build -O--buildsystem=golang @@ -4214,8 +4249,8 @@ dpkg-gencontrol: warning: package notary: substitution variable ${misc:Static-Built-Using} unused, but is defined dh_md5sums -O--builddirectory=/build/reproducible-path/notary-0.7.0\+git20240416.9d2b3b3\+ds1/_build -O--buildsystem=golang dh_builddeb -O--builddirectory=/build/reproducible-path/notary-0.7.0\+git20240416.9d2b3b3\+ds1/_build -O--buildsystem=golang -dpkg-deb: building package 'notary' in '../notary_0.7.0+git20240416.9d2b3b3+ds1-4_amd64.deb'. dpkg-deb: building package 'notary-dbgsym' in '../notary-dbgsym_0.7.0+git20240416.9d2b3b3+ds1-4_amd64.deb'. +dpkg-deb: building package 'notary' in '../notary_0.7.0+git20240416.9d2b3b3+ds1-4_amd64.deb'. dpkg-deb: building package 'golang-github-docker-notary-dev' in '../golang-github-docker-notary-dev_0.7.0+git20240416.9d2b3b3+ds1-4_all.deb'. dpkg-genbuildinfo --build=binary -O../notary_0.7.0+git20240416.9d2b3b3+ds1-4_amd64.buildinfo dpkg-genchanges --build=binary -O../notary_0.7.0+git20240416.9d2b3b3+ds1-4_amd64.changes @@ -4224,12 +4259,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/3799220/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3799220/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/2852026 and its subdirectories -I: Current time: Sun Oct 12 23:50:12 -12 2025 -I: pbuilder-time-stamp: 1760356212 +I: removing directory /srv/workspace/pbuilder/3799220 and its subdirectories +I: Current time: Mon Nov 16 08:21:06 +14 2026 +I: pbuilder-time-stamp: 1794766866