2026-10-18T20:49:53.692213336Z Current runner version: 'v0.5.0' 2026-10-18T20:49:53.695710136Z ##[group]GITHUB_TOKEN Permissions 2026-10-18T20:49:53.695743254Z Contents: read 2026-10-18T20:49:53.695756826Z Metadata: read 2026-10-18T20:49:53.695761592Z ##[endgroup] 2026-10-18T20:49:53.695766151Z Secret source: Actions 2026-10-18T20:49:53.695768209Z Cache mode: write 2026-10-18T20:49:53.695770093Z Prepare workflow directory 2026-10-18T20:49:53.696382293Z Prepare all required actions 2026-10-18T20:49:53.696488144Z Getting action download info 2026-10-18T20:49:54.151100361Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-18T20:49:54.190880436Z Download action repository 'actions/setup-go@v5' (SHA:40f1582b2485089dde7abd97c1529aa768e1baff) 2026-10-18T20:49:54.299873517Z Complete job name: Test 2026-10-18T20:49:54.301388961Z ##[group]Run actions/checkout@v6 2026-10-18T20:49:54.301403209Z with: 2026-10-18T20:49:54.30140692Z repository: bnema/gordon 2026-10-18T20:49:54.301409643Z token: *** 2026-10-18T20:49:54.301413102Z ssh-strict: true 2026-10-18T20:49:54.301415196Z ssh-user: git 2026-10-18T20:49:54.301422939Z persist-credentials: true 2026-10-18T20:49:54.301460814Z clean: true 2026-10-18T20:49:54.301472792Z sparse-checkout-cone-mode: true 2026-10-18T20:49:54.301476043Z fetch-depth: 1 2026-10-18T20:49:54.301478239Z fetch-tags: false 2026-10-18T20:49:54.301480333Z show-progress: true 2026-10-18T20:49:54.301482259Z lfs: false 2026-10-18T20:49:54.301484758Z submodules: false 2026-10-18T20:49:54.301486761Z set-safe-directory: true 2026-10-18T20:49:54.301491339Z allow-unsafe-pr-checkout: false 2026-10-18T20:49:54.301536226Z ##[endgroup] 2026-10-18T20:49:54.441667494Z Syncing repository: bnema/gordon 2026-10-18T20:49:54.441694755Z ##[group]Getting Git version info 2026-10-18T20:49:54.441713464Z Working directory is '/home/runner/work/gordon/gordon' 2026-10-18T20:49:54.444798053Z [command]/usr/bin/git version 2026-10-18T20:49:54.44948645Z git version 2.53.0 2026-10-18T20:49:54.451999559Z ##[endgroup] 2026-10-18T20:49:54.452050787Z Temporarily overriding HOME='/home/runner/work/_temp/69d8cda0-c69a-469a-b928-c0c7556837ff' before making global git config changes 2026-10-18T20:49:54.45206964Z Adding repository directory to the temporary git global config as a safe directory 2026-10-18T20:49:54.452079894Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/gordon/gordon 2026-10-18T20:49:54.457185141Z Deleting the contents of '/home/runner/work/gordon/gordon' 2026-10-18T20:49:54.457216924Z ##[group]Determining repository object format 2026-10-18T20:49:54.457224609Z ##[endgroup] 2026-10-18T20:49:54.457229548Z ##[group]Initializing the repository 2026-10-18T20:49:54.457242969Z [command]/usr/bin/git init /home/runner/work/gordon/gordon 2026-10-18T20:49:54.463805574Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-18T20:49:54.463839612Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-18T20:49:54.463846021Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-18T20:49:54.463850458Z hint: call: 2026-10-18T20:49:54.46385487Z hint: 2026-10-18T20:49:54.463859256Z hint: git config --global init.defaultBranch 2026-10-18T20:49:54.463862897Z hint: 2026-10-18T20:49:54.46386712Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-18T20:49:54.463874931Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-18T20:49:54.463878999Z hint: 2026-10-18T20:49:54.463886629Z hint: git branch -m 2026-10-18T20:49:54.463898547Z hint: 2026-10-18T20:49:54.463902923Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-18T20:49:54.463906664Z Initialized empty Git repository in /home/runner/work/gordon/gordon/.git/ 2026-10-18T20:49:54.463918398Z [command]/usr/bin/git remote add origin http://ermite:7341/bnema/gordon 2026-10-18T20:49:54.466167159Z ##[endgroup] 2026-10-18T20:49:54.466187928Z ##[group]Disabling automatic garbage collection 2026-10-18T20:49:54.466198866Z [command]/usr/bin/git config --local gc.auto 0 2026-10-18T20:49:54.468419489Z ##[endgroup] 2026-10-18T20:49:54.468440813Z ##[group]Setting up auth 2026-10-18T20:49:54.471125363Z Removing SSH command configuration 2026-10-18T20:49:54.471183504Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-18T20:49:54.473808855Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-18T20:49:54.503161174Z Removing HTTP extra header 2026-10-18T20:49:54.503201459Z [command]/usr/bin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader 2026-10-18T20:49:54.50560961Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.http\:\/\/ermite\:7341\/\.extraheader' && git config --local --unset-all 'http.http://ermite:7341/.extraheader' || :" 2026-10-18T20:49:54.5263222Z Removing includeIf entries pointing to credentials config files 2026-10-18T20:49:54.526363536Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-18T20:49:54.528895652Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-18T20:49:54.549957109Z [command]/usr/bin/git config --file /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config http.http://ermite:7341/.extraheader AUTHORIZATION: basic *** 2026-10-18T20:49:54.552034714Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/gordon/gordon/.git.path /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:49:54.554823243Z [command]/usr/bin/git config --local includeIf.gitdir:/home/runner/work/gordon/gordon/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:49:54.557663201Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:49:54.560114955Z [command]/usr/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:49:54.562927457Z ##[endgroup] 2026-10-18T20:49:54.562952009Z ##[group]Fetching the repository 2026-10-18T20:49:54.562978601Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +c9e9163d8e10ed27f6d17474eb94538be54e665b:refs/remotes/origin/main 2026-10-18T20:49:54.874949868Z From http://ermite:7341/bnema/gordon 2026-10-18T20:49:54.874989201Z * [new ref] c9e9163d8e10ed27f6d17474eb94538be54e665b -> origin/main 2026-10-18T20:49:54.877225496Z [command]/usr/bin/git branch --list --remote origin/main 2026-10-18T20:49:54.879736836Z origin/main 2026-10-18T20:49:54.879769357Z [command]/usr/bin/git rev-parse refs/remotes/origin/main 2026-10-18T20:49:54.881926912Z c9e9163d8e10ed27f6d17474eb94538be54e665b 2026-10-18T20:49:54.881952303Z ##[endgroup] 2026-10-18T20:49:54.881957121Z ##[group]Determining the checkout info 2026-10-18T20:49:54.8819595Z ##[endgroup] 2026-10-18T20:49:54.881968681Z [command]/usr/bin/git sparse-checkout disable 2026-10-18T20:49:54.884228853Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2026-10-18T20:49:54.886320801Z ##[group]Checking out the ref 2026-10-18T20:49:54.888875498Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main 2026-10-18T20:49:54.957246452Z Switched to a new branch 'main' 2026-10-18T20:49:54.95728642Z branch 'main' set up to track 'origin/main'. 2026-10-18T20:49:54.957299085Z ##[endgroup] 2026-10-18T20:49:54.960140704Z [command]/usr/bin/git log -1 --format=%H 2026-10-18T20:49:54.963051848Z c9e9163d8e10ed27f6d17474eb94538be54e665b 2026-10-18T20:49:54.969404201Z ##[group]Run actions/setup-go@v5 2026-10-18T20:49:54.969419479Z with: 2026-10-18T20:49:54.969423252Z go-version: 1.27.x 2026-10-18T20:49:54.969425524Z cache: true 2026-10-18T20:49:54.969427733Z check-latest: false 2026-10-18T20:49:54.969429742Z ##[endgroup] 2026-10-18T20:49:55.121440743Z Setup go version spec 1.27.x 2026-10-18T20:49:55.121480507Z Attempting to download 1.27.x... 2026-10-18T20:49:55.141097539Z (node:410) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. 2026-10-18T20:49:55.141129316Z (Use `node --trace-deprecation ...` to show where the warning was created) 2026-10-18T20:50:01.636774512Z matching 1.27.x... 2026-10-18T20:50:01.639492646Z Acquiring 1.27.2 from https://github.com/actions/go-versions/releases/download/1.27.2-37875086547/go-1.27.2-linux-x64.tar.gz 2026-10-18T20:50:02.728244633Z Extracting Go... 2026-10-18T20:50:02.739012993Z [command]/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/f3f18065-35e1-42d0-98ad-8166f225182a -f /home/runner/work/_temp/7326a137-c0f8-4254-aa6a-ecfd2a6290da 2026-10-18T20:50:04.153243107Z Successfully extracted go to /home/runner/work/_temp/f3f18065-35e1-42d0-98ad-8166f225182a 2026-10-18T20:50:04.153272777Z Adding to the cache ... 2026-10-18T20:50:08.498659296Z Successfully cached go to /opt/hostedtoolcache/go/1.27.2/x64 2026-10-18T20:50:08.498691661Z Added go to the path 2026-10-18T20:50:08.498696388Z Successfully set up Go version 1.27.x 2026-10-18T20:50:08.516109451Z [command]/opt/hostedtoolcache/go/1.27.2/x64/bin/go env GOMODCACHE 2026-10-18T20:50:08.51854008Z [command]/opt/hostedtoolcache/go/1.27.2/x64/bin/go env GOCACHE 2026-10-18T20:50:08.520820244Z /home/runner/go/pkg/mod 2026-10-18T20:50:08.523141116Z /home/runner/.cache/go-build 2026-10-18T20:50:08.541643908Z Cache is not found 2026-10-18T20:50:08.541837076Z go version go1.27.2 linux/amd64 2026-10-18T20:50:08.541853766Z 2026-10-18T20:50:08.541858437Z ##[group]go env 2026-10-18T20:50:08.669832332Z AR='ar' 2026-10-18T20:50:08.669870411Z CC='gcc' 2026-10-18T20:50:08.669882158Z CGO_CFLAGS='-O2 -g' 2026-10-18T20:50:08.66989219Z CGO_CPPFLAGS='' 2026-10-18T20:50:08.669904555Z CGO_CXXFLAGS='-O2 -g' 2026-10-18T20:50:08.669966018Z CGO_ENABLED='1' 2026-10-18T20:50:08.670011408Z CGO_FFLAGS='-O2 -g' 2026-10-18T20:50:08.670029573Z CGO_LDFLAGS='-O2 -g' 2026-10-18T20:50:08.670036652Z CXX='g++' 2026-10-18T20:50:08.67004374Z GCCGO='gccgo' 2026-10-18T20:50:08.670054863Z GO111MODULE='' 2026-10-18T20:50:08.670099747Z GOAMD64='v1' 2026-10-18T20:50:08.670119623Z GOARCH='amd64' 2026-10-18T20:50:08.670168089Z GOAUTH='netrc' 2026-10-18T20:50:08.670187621Z GOBIN='/home/runner/go/bin' 2026-10-18T20:50:08.670233539Z GOCACHE='/home/runner/.cache/go-build' 2026-10-18T20:50:08.670258733Z GOCACHEPROG='' 2026-10-18T20:50:08.670306172Z GODEBUG='' 2026-10-18T20:50:08.670330683Z GOENV='/home/runner/.config/go/env' 2026-10-18T20:50:08.670377263Z GOEXE='' 2026-10-18T20:50:08.670398384Z GOEXPERIMENT='' 2026-10-18T20:50:08.670410972Z GOFIPS140='off' 2026-10-18T20:50:08.670423635Z GOFLAGS='' 2026-10-18T20:50:08.670480842Z GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build2765748575=/tmp/go-build -gno-record-gcc-switches' 2026-10-18T20:50:08.670502348Z GOHOSTARCH='amd64' 2026-10-18T20:50:08.670510343Z GOHOSTOS='linux' 2026-10-18T20:50:08.670570001Z GOINSECURE='' 2026-10-18T20:50:08.670595504Z GOMOD='/home/runner/work/gordon/gordon/go.mod' 2026-10-18T20:50:08.670667358Z GOMODCACHE='/home/runner/go/pkg/mod' 2026-10-18T20:50:08.670684926Z GONOPROXY='' 2026-10-18T20:50:08.670692105Z GONOSUMDB='' 2026-10-18T20:50:08.670733693Z GOOS='linux' 2026-10-18T20:50:08.670752501Z GOPACKAGESDRIVER='' 2026-10-18T20:50:08.670772811Z GOPATH='/home/runner/go' 2026-10-18T20:50:08.670795057Z GOPRIVATE='' 2026-10-18T20:50:08.670812505Z GOPROXY='https://proxy.golang.org,direct' 2026-10-18T20:50:08.670822725Z GOROOT='/opt/hostedtoolcache/go/1.27.2/x64' 2026-10-18T20:50:08.670831842Z GOSUMDB='sum.golang.org' 2026-10-18T20:50:08.670839353Z GOTELEMETRY='local' 2026-10-18T20:50:08.670849729Z GOTELEMETRYDIR='/home/runner/.config/go/telemetry' 2026-10-18T20:50:08.67085858Z GOTMPDIR='' 2026-10-18T20:50:08.670865726Z GOTOOLCHAIN='auto' 2026-10-18T20:50:08.670876644Z GOTOOLDIR='/opt/hostedtoolcache/go/1.27.2/x64/pkg/tool/linux_amd64' 2026-10-18T20:50:08.670893938Z GOVCS='' 2026-10-18T20:50:08.670909154Z GOVERSION='go1.27.2' 2026-10-18T20:50:08.670922304Z GOWORK='' 2026-10-18T20:50:08.670939943Z PKG_CONFIG='pkg-config' 2026-10-18T20:50:08.670956204Z 2026-10-18T20:50:08.670970389Z ##[endgroup] 2026-10-18T20:50:08.679899996Z ##[group]Run go test -race -v ./... 2026-10-18T20:50:08.679914642Z go test -race -v ./... 2026-10-18T20:50:08.679957052Z shell: /usr/bin/bash -e {0} 2026-10-18T20:50:08.679965477Z ##[endgroup] 2026-10-18T20:50:08.76518186Z go: downloading github.com/stretchr/testify v1.12.1 2026-10-18T20:50:08.771541546Z go: downloading github.com/golang-jwt/jwt/v5 v5.3.1 2026-10-18T20:50:08.893192727Z go: downloading github.com/google/uuid v1.6.0 2026-10-18T20:50:08.909010712Z go: downloading github.com/pelletier/go-toml/v2 v2.4.3 2026-10-18T20:50:08.926802896Z go: downloading github.com/bnema/zerowrap v1.4.1 2026-10-18T20:50:08.92710186Z go: downloading github.com/charmbracelet/bubbles v1.0.0 2026-10-18T20:50:08.944978744Z go: downloading github.com/charmbracelet/lipgloss v1.1.0 2026-10-18T20:50:08.998461563Z go: downloading github.com/containerd/errdefs v1.0.0 2026-10-18T20:50:08.99850517Z go: downloading github.com/charmbracelet/bubbletea v1.3.10 2026-10-18T20:50:09.006726086Z go: downloading github.com/mattn/go-isatty v0.0.24 2026-10-18T20:50:09.012820511Z go: downloading github.com/moby/moby/client v0.6.0 2026-10-18T20:50:09.062686755Z go: downloading github.com/mattn/go-runewidth v0.0.30 2026-10-18T20:50:09.062730375Z go: downloading github.com/spf13/cobra v1.10.2 2026-10-18T20:50:09.062747002Z go: downloading github.com/rivo/uniseg v0.4.7 2026-10-18T20:50:09.131181383Z go: downloading github.com/spf13/viper v1.21.0 2026-10-18T20:50:09.131222529Z go: downloading github.com/muesli/termenv v0.16.0 2026-10-18T20:50:09.165332002Z go: downloading golang.org/x/sys v0.48.0 2026-10-18T20:50:09.17908138Z go: downloading go.opentelemetry.io/otel/trace v1.46.0 2026-10-18T20:50:09.237694391Z go: downloading github.com/google/go-containerregistry v0.22.1 2026-10-18T20:50:09.255467575Z go: downloading go.opentelemetry.io/otel v1.46.0 2026-10-18T20:50:09.507680661Z go: downloading github.com/rs/zerolog v1.35.1 2026-10-18T20:50:09.538772861Z go: downloading github.com/coreos/go-systemd/v22 v22.7.0 2026-10-18T20:50:09.538803987Z go: downloading gopkg.in/natefinch/lumberjack.v2 v2.2.1 2026-10-18T20:50:09.624442352Z go: downloading github.com/go-acme/lego/v4 v4.35.2 2026-10-18T20:50:09.630059763Z go: downloading go.etcd.io/bbolt v1.5.0 2026-10-18T20:50:10.053082297Z go: downloading github.com/docker/go-units v0.5.0 2026-10-18T20:50:10.053120066Z go: downloading github.com/moby/moby/api v1.56.0 2026-10-18T20:50:10.095471155Z go: downloading github.com/smallstep/truststore v0.13.0 2026-10-18T20:50:10.307650563Z go: downloading golang.org/x/time v0.16.0 2026-10-18T20:50:10.30769249Z go: downloading github.com/aws/aws-sdk-go-v2 v1.47.1 2026-10-18T20:50:10.307714144Z go: downloading github.com/aws/aws-sdk-go-v2/config v1.33.6 2026-10-18T20:50:10.324216368Z go: downloading github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager v0.4.10 2026-10-18T20:50:10.427041166Z go: downloading go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.22.0 2026-10-18T20:50:10.435076508Z go: downloading github.com/aws/aws-sdk-go-v2/service/s3 v1.113.4 2026-10-18T20:50:10.435113408Z go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.46.0 2026-10-18T20:50:10.488096375Z go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.46.0 2026-10-18T20:50:10.488140372Z go: downloading go.opentelemetry.io/otel/log v0.22.0 2026-10-18T20:50:10.513044204Z go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.46.0 2026-10-18T20:50:10.524495357Z go: downloading go.opentelemetry.io/otel/metric v1.46.0 2026-10-18T20:50:10.543609971Z go: downloading go.opentelemetry.io/otel/sdk/log v0.22.0 2026-10-18T20:50:10.552159012Z go: downloading github.com/spf13/afero v1.15.0 2026-10-18T20:50:10.566964518Z go: downloading go.opentelemetry.io/otel/sdk v1.46.0 2026-10-18T20:50:10.566998951Z go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0 2026-10-18T20:50:10.567013281Z go: downloading go.opentelemetry.io/otel/sdk/metric v1.46.0 2026-10-18T20:50:10.616667528Z go: downloading go.uber.org/mock v0.6.0 2026-10-18T20:50:10.633392465Z go: downloading github.com/fsnotify/fsnotify v1.10.1 2026-10-18T20:50:10.638159632Z go: downloading golang.org/x/sync v0.23.0 2026-10-18T20:50:10.663703722Z go: downloading github.com/stretchr/objx v0.5.3 2026-10-18T20:50:10.686691073Z go: downloading github.com/atotto/clipboard v0.1.4 2026-10-18T20:50:10.686729131Z go: downloading github.com/charmbracelet/x/ansi v0.11.8 2026-10-18T20:50:10.686769235Z go: downloading github.com/charmbracelet/x/cellbuf v0.0.15 2026-10-18T20:50:10.694964892Z go: downloading github.com/charmbracelet/x/term v0.2.2 2026-10-18T20:50:10.716582499Z go: downloading github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 2026-10-18T20:50:10.721458875Z go: downloading github.com/muesli/cancelreader v0.2.2 2026-10-18T20:50:10.721494494Z go: downloading github.com/clipperhouse/uax29/v2 v2.7.0 2026-10-18T20:50:10.745218623Z go: downloading github.com/containerd/errdefs/pkg v0.3.0 2026-10-18T20:50:10.748254784Z go: downloading github.com/distribution/reference v0.6.0 2026-10-18T20:50:10.748298591Z go: downloading github.com/docker/go-connections v0.8.1 2026-10-18T20:50:10.780827822Z go: downloading github.com/opencontainers/go-digest v1.0.0 2026-10-18T20:50:10.780872924Z go: downloading github.com/opencontainers/image-spec v1.1.1 2026-10-18T20:50:10.780886757Z go: downloading github.com/spf13/pflag v1.0.10 2026-10-18T20:50:10.796498002Z go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1 2026-10-18T20:50:10.809901789Z go: downloading github.com/lucasb-eyer/go-colorful v1.4.1 2026-10-18T20:50:10.825778299Z go: downloading github.com/go-viper/mapstructure/v2 v2.5.0 2026-10-18T20:50:10.82847417Z go: downloading github.com/sagikazarmark/locafero v0.12.0 2026-10-18T20:50:10.831943093Z go: downloading github.com/spf13/cast v1.10.0 2026-10-18T20:50:10.870283192Z go: downloading github.com/mattn/go-colorable v0.1.15 2026-10-18T20:50:10.870333569Z go: downloading golang.org/x/crypto v0.57.0 2026-10-18T20:50:10.870352283Z go: downloading golang.org/x/net v0.59.0 2026-10-18T20:50:10.904291169Z go: downloading github.com/miekg/dns v1.1.73 2026-10-18T20:50:10.937904411Z go: downloading github.com/moby/docker-image-spec v1.3.1 2026-10-18T20:50:10.97157227Z go: downloading github.com/go-logr/logr v1.4.4 2026-10-18T20:50:10.993545335Z go: downloading github.com/aws/smithy-go v1.28.2 2026-10-18T20:50:11.136664356Z go: downloading github.com/aws/aws-sdk-go-v2/credentials v1.20.6 2026-10-18T20:50:11.181114998Z go: downloading github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.1 2026-10-18T20:50:11.181174926Z go: downloading github.com/aws/aws-sdk-go-v2/service/sso v1.38.1 2026-10-18T20:50:11.181190794Z go: downloading github.com/aws/aws-sdk-go-v2/service/signin v1.10.1 2026-10-18T20:50:11.201446793Z go: downloading github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.1 2026-10-18T20:50:11.212309137Z go: downloading github.com/aws/aws-sdk-go-v2/service/sts v1.51.1 2026-10-18T20:50:11.235245338Z go: downloading go.opentelemetry.io/proto/otlp v1.11.0 2026-10-18T20:50:11.242588379Z go: downloading google.golang.org/protobuf v1.36.12 2026-10-18T20:50:11.275677157Z go: downloading github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.20 2026-10-18T20:50:11.300718034Z go: downloading github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.4 2026-10-18T20:50:11.319393434Z go: downloading github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.4 2026-10-18T20:50:11.319452648Z go: downloading github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 2026-10-18T20:50:11.331032809Z go: downloading github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.11.5 2026-10-18T20:50:11.351081638Z go: downloading github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.4 2026-10-18T20:50:11.353600959Z go: downloading github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.20.4 2026-10-18T20:50:11.379574704Z go: downloading golang.org/x/text v0.42.0 2026-10-18T20:50:11.614643321Z go: downloading github.com/felixge/httpsnoop v1.1.0 2026-10-18T20:50:11.659051534Z go: downloading github.com/docker/cli v29.8.1+incompatible 2026-10-18T20:50:11.997621788Z go: downloading go.yaml.in/yaml/v3 v3.0.5 2026-10-18T20:50:12.036103238Z go: downloading github.com/charmbracelet/colorprofile v0.4.3 2026-10-18T20:50:12.039725113Z go: downloading github.com/clipperhouse/displaywidth v0.11.0 2026-10-18T20:50:12.042449246Z go: downloading github.com/subosito/gotenv v1.6.0 2026-10-18T20:50:12.042485059Z go: downloading github.com/cenkalti/backoff/v5 v5.0.3 2026-10-18T20:50:12.064944131Z go: downloading github.com/go-logr/stdr v1.2.2 2026-10-18T20:50:12.070814076Z go: downloading go.opentelemetry.io/auto/sdk v1.2.1 2026-10-18T20:50:12.075815957Z go: downloading github.com/cespare/xxhash/v2 v2.3.0 2026-10-18T20:50:12.078420839Z go: downloading google.golang.org/grpc v1.84.0 2026-10-18T20:50:12.48259756Z go: downloading github.com/grpc-ecosystem/grpc-gateway/v2 v2.31.0 2026-10-18T20:50:12.482632701Z go: downloading github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.4 2026-10-18T20:50:12.482645415Z go: downloading github.com/sirupsen/logrus v1.10.2 2026-10-18T20:50:12.509546778Z go: downloading github.com/klauspost/compress v1.20.1 2026-10-18T20:50:12.539939091Z go: downloading github.com/xo/terminfo v1.2.0 2026-10-18T20:50:12.575490293Z go: downloading github.com/go-jose/go-jose/v4 v4.1.5 2026-10-18T20:50:12.627394665Z go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20260921155816-b14227669459 2026-10-18T20:50:12.653174906Z go: downloading github.com/docker/docker-credential-helpers v0.9.9 2026-10-18T20:50:12.724365777Z go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20260921155816-b14227669459 2026-10-18T20:51:09.088703222Z ? github.com/bnema/gordon [no test files] 2026-10-18T20:51:12.572764222Z === RUN TestAppErrorEnvelopeKeys 2026-10-18T20:51:12.572819565Z --- PASS: TestAppErrorEnvelopeKeys (0.00s) 2026-10-18T20:51:12.572827673Z === RUN TestAppApplyResponseKeys 2026-10-18T20:51:12.572833127Z --- PASS: TestAppApplyResponseKeys (0.00s) 2026-10-18T20:51:12.572837691Z === RUN TestAppDeployResponseKeys 2026-10-18T20:51:12.572842518Z --- PASS: TestAppDeployResponseKeys (0.00s) 2026-10-18T20:51:12.572846895Z === RUN TestAppShowResponseKeys 2026-10-18T20:51:12.572851477Z --- PASS: TestAppShowResponseKeys (0.00s) 2026-10-18T20:51:12.57285638Z === RUN TestAppResponsesCarryNoSecretValues 2026-10-18T20:51:12.572861921Z --- PASS: TestAppResponsesCarryNoSecretValues (0.00s) 2026-10-18T20:51:12.572872077Z === RUN TestBackupDTOsUseAppIdentity 2026-10-18T20:51:12.572884674Z === RUN TestBackupDTOsUseAppIdentity/database_job 2026-10-18T20:51:12.572891787Z === RUN TestBackupDTOsUseAppIdentity/volume_job 2026-10-18T20:51:12.57289694Z --- PASS: TestBackupDTOsUseAppIdentity (0.00s) 2026-10-18T20:51:12.572909703Z --- PASS: TestBackupDTOsUseAppIdentity/database_job (0.00s) 2026-10-18T20:51:12.572927417Z --- PASS: TestBackupDTOsUseAppIdentity/volume_job (0.00s) 2026-10-18T20:51:12.572935046Z PASS 2026-10-18T20:51:12.57294725Z ok github.com/bnema/gordon/internal/adapters/dto 1.019s 2026-10-18T20:51:12.719821293Z === RUN TestParse_SecretForms 2026-10-18T20:51:12.719858742Z === RUN TestParse_SecretForms/short_form 2026-10-18T20:51:12.719866151Z === RUN TestParse_SecretForms/table_name_only 2026-10-18T20:51:12.719871863Z === RUN TestParse_SecretForms/table_env 2026-10-18T20:51:12.719876675Z === RUN TestParse_SecretForms/table_file 2026-10-18T20:51:12.719881355Z === RUN TestParse_SecretForms/sub-table 2026-10-18T20:51:12.719886085Z === RUN TestParse_SecretForms/mixed 2026-10-18T20:51:12.719890735Z --- PASS: TestParse_SecretForms (0.00s) 2026-10-18T20:51:12.719902172Z --- PASS: TestParse_SecretForms/short_form (0.00s) 2026-10-18T20:51:12.719922074Z --- PASS: TestParse_SecretForms/table_name_only (0.00s) 2026-10-18T20:51:12.719933805Z --- PASS: TestParse_SecretForms/table_env (0.00s) 2026-10-18T20:51:12.719949286Z --- PASS: TestParse_SecretForms/table_file (0.00s) 2026-10-18T20:51:12.719964993Z --- PASS: TestParse_SecretForms/sub-table (0.00s) 2026-10-18T20:51:12.719978623Z --- PASS: TestParse_SecretForms/mixed (0.00s) 2026-10-18T20:51:12.719988299Z === RUN TestParse_NoSecretsKeepsEmptyMap 2026-10-18T20:51:12.719993897Z --- PASS: TestParse_NoSecretsKeepsEmptyMap (0.00s) 2026-10-18T20:51:12.720001732Z === RUN TestParse_SecretFormsInvalid 2026-10-18T20:51:12.720007063Z === RUN TestParse_SecretFormsInvalid/bad_as 2026-10-18T20:51:12.720015132Z === RUN TestParse_SecretFormsInvalid/empty_as 2026-10-18T20:51:12.720020722Z === RUN TestParse_SecretFormsInvalid/as_not_string 2026-10-18T20:51:12.720028939Z === RUN TestParse_SecretFormsInvalid/missing_name 2026-10-18T20:51:12.72003459Z === RUN TestParse_SecretFormsInvalid/name_not_string 2026-10-18T20:51:12.720045192Z === RUN TestParse_SecretFormsInvalid/extra_key 2026-10-18T20:51:12.720050931Z === RUN TestParse_SecretFormsInvalid/integer_value 2026-10-18T20:51:12.720059258Z === RUN TestParse_SecretFormsInvalid/array_value 2026-10-18T20:51:12.720069424Z === RUN TestParse_SecretFormsInvalid/file_key_collision 2026-10-18T20:51:12.720078041Z --- PASS: TestParse_SecretFormsInvalid (0.00s) 2026-10-18T20:51:12.720089729Z --- PASS: TestParse_SecretFormsInvalid/bad_as (0.00s) 2026-10-18T20:51:12.720104508Z --- PASS: TestParse_SecretFormsInvalid/empty_as (0.00s) 2026-10-18T20:51:12.720120925Z --- PASS: TestParse_SecretFormsInvalid/as_not_string (0.00s) 2026-10-18T20:51:12.720137126Z --- PASS: TestParse_SecretFormsInvalid/missing_name (0.00s) 2026-10-18T20:51:12.720153805Z --- PASS: TestParse_SecretFormsInvalid/name_not_string (0.00s) 2026-10-18T20:51:12.720171096Z --- PASS: TestParse_SecretFormsInvalid/extra_key (0.00s) 2026-10-18T20:51:12.720188177Z --- PASS: TestParse_SecretFormsInvalid/integer_value (0.00s) 2026-10-18T20:51:12.720204109Z --- PASS: TestParse_SecretFormsInvalid/array_value (0.00s) 2026-10-18T20:51:12.720220917Z --- PASS: TestParse_SecretFormsInvalid/file_key_collision (0.00s) 2026-10-18T20:51:12.72022932Z === RUN TestParse_ValidWeb 2026-10-18T20:51:12.720238549Z --- PASS: TestParse_ValidWeb (0.00s) 2026-10-18T20:51:12.720246674Z === RUN TestParse_SharedNetwork 2026-10-18T20:51:12.720254774Z --- PASS: TestParse_SharedNetwork (0.00s) 2026-10-18T20:51:12.720268067Z === RUN TestParse_FileNameMismatchIsWarning 2026-10-18T20:51:12.720277229Z --- PASS: TestParse_FileNameMismatchIsWarning (0.00s) 2026-10-18T20:51:12.720285867Z === RUN TestParse_MissingTagNormalizesToLatest 2026-10-18T20:51:12.720294741Z --- PASS: TestParse_MissingTagNormalizesToLatest (0.00s) 2026-10-18T20:51:12.720303771Z === RUN TestParse_UnknownFieldsRejected 2026-10-18T20:51:12.7203123Z === RUN TestParse_UnknownFieldsRejected/top_level 2026-10-18T20:51:12.720322088Z === RUN TestParse_UnknownFieldsRejected/service 2026-10-18T20:51:12.72033062Z === RUN TestParse_UnknownFieldsRejected/readiness 2026-10-18T20:51:12.720336029Z === RUN TestParse_UnknownFieldsRejected/http 2026-10-18T20:51:12.720345622Z --- PASS: TestParse_UnknownFieldsRejected (0.00s) 2026-10-18T20:51:12.720361518Z --- PASS: TestParse_UnknownFieldsRejected/top_level (0.00s) 2026-10-18T20:51:12.72037739Z --- PASS: TestParse_UnknownFieldsRejected/service (0.00s) 2026-10-18T20:51:12.720393764Z --- PASS: TestParse_UnknownFieldsRejected/readiness (0.00s) 2026-10-18T20:51:12.72040876Z --- PASS: TestParse_UnknownFieldsRejected/http (0.00s) 2026-10-18T20:51:12.720416712Z === RUN TestParse_OldSyntaxRejected 2026-10-18T20:51:12.720425984Z === RUN TestParse_OldSyntaxRejected/legacy_service_array 2026-10-18T20:51:12.720434751Z === RUN TestParse_OldSyntaxRejected/legacy_plural_service_array 2026-10-18T20:51:12.720445504Z === RUN TestParse_OldSyntaxRejected/service_name_as_field 2026-10-18T20:51:12.720453917Z --- PASS: TestParse_OldSyntaxRejected (0.00s) 2026-10-18T20:51:12.720470855Z --- PASS: TestParse_OldSyntaxRejected/legacy_service_array (0.00s) 2026-10-18T20:51:12.720489088Z --- PASS: TestParse_OldSyntaxRejected/legacy_plural_service_array (0.00s) 2026-10-18T20:51:12.720506165Z --- PASS: TestParse_OldSyntaxRejected/service_name_as_field (0.00s) 2026-10-18T20:51:12.720514848Z === RUN TestParse_RetiredArraySyntaxHintIsActionable 2026-10-18T20:51:12.72052358Z === RUN TestParse_RetiredArraySyntaxHintIsActionable/singular 2026-10-18T20:51:12.720532104Z === RUN TestParse_RetiredArraySyntaxHintIsActionable/plural 2026-10-18T20:51:12.7205425Z --- PASS: TestParse_RetiredArraySyntaxHintIsActionable (0.00s) 2026-10-18T20:51:12.720560572Z --- PASS: TestParse_RetiredArraySyntaxHintIsActionable/singular (0.00s) 2026-10-18T20:51:12.720578084Z --- PASS: TestParse_RetiredArraySyntaxHintIsActionable/plural (0.00s) 2026-10-18T20:51:12.720587459Z === RUN TestParse_NonArrayTablesKeepPlainDiagnostic 2026-10-18T20:51:12.720596224Z === RUN TestParse_NonArrayTablesKeepPlainDiagnostic/service_table 2026-10-18T20:51:12.720606667Z === RUN TestParse_NonArrayTablesKeepPlainDiagnostic/service_scalar 2026-10-18T20:51:12.720616463Z === RUN TestParse_NonArrayTablesKeepPlainDiagnostic/services_string_array 2026-10-18T20:51:12.72062545Z --- PASS: TestParse_NonArrayTablesKeepPlainDiagnostic (0.00s) 2026-10-18T20:51:12.720645089Z --- PASS: TestParse_NonArrayTablesKeepPlainDiagnostic/service_table (0.00s) 2026-10-18T20:51:12.720663824Z --- PASS: TestParse_NonArrayTablesKeepPlainDiagnostic/service_scalar (0.00s) 2026-10-18T20:51:12.720683626Z --- PASS: TestParse_NonArrayTablesKeepPlainDiagnostic/services_string_array (0.00s) 2026-10-18T20:51:12.72069286Z === RUN TestParse_UnknownNestedFieldRejected 2026-10-18T20:51:12.720702845Z === RUN TestParse_UnknownNestedFieldRejected/unknown_protocol_table 2026-10-18T20:51:12.72071233Z === RUN TestParse_UnknownNestedFieldRejected/unknown_nested_table 2026-10-18T20:51:12.720718015Z --- PASS: TestParse_UnknownNestedFieldRejected (0.00s) 2026-10-18T20:51:12.720735756Z --- PASS: TestParse_UnknownNestedFieldRejected/unknown_protocol_table (0.00s) 2026-10-18T20:51:12.720753556Z --- PASS: TestParse_UnknownNestedFieldRejected/unknown_nested_table (0.00s) 2026-10-18T20:51:12.720765764Z === RUN TestParse_QuotedDottedServiceKey 2026-10-18T20:51:12.720776285Z --- PASS: TestParse_QuotedDottedServiceKey (0.00s) 2026-10-18T20:51:12.720785235Z === RUN TestParse_UnquotedDottedKeyRejected 2026-10-18T20:51:12.720794339Z --- PASS: TestParse_UnquotedDottedKeyRejected (0.00s) 2026-10-18T20:51:12.72080282Z === RUN TestParse_DuplicateServiceTableRejected 2026-10-18T20:51:12.720808647Z --- PASS: TestParse_DuplicateServiceTableRejected (0.00s) 2026-10-18T20:51:12.720817047Z === RUN TestParse_ServiceOrderDeterministic 2026-10-18T20:51:12.720825432Z --- PASS: TestParse_ServiceOrderDeterministic (0.00s) 2026-10-18T20:51:12.720830337Z === RUN TestParse_ServiceEnv 2026-10-18T20:51:12.72083786Z --- PASS: TestParse_ServiceEnv (0.00s) 2026-10-18T20:51:12.720847383Z === RUN TestParse_ServiceEnvInvalid 2026-10-18T20:51:12.720852891Z === RUN TestParse_ServiceEnvInvalid/secret_reference 2026-10-18T20:51:12.720861691Z === RUN TestParse_ServiceEnvInvalid/secret_key_collision 2026-10-18T20:51:12.720870343Z === RUN TestParse_ServiceEnvInvalid/newline 2026-10-18T20:51:12.720878844Z --- PASS: TestParse_ServiceEnvInvalid (0.00s) 2026-10-18T20:51:12.720894793Z --- PASS: TestParse_ServiceEnvInvalid/secret_reference (0.00s) 2026-10-18T20:51:12.720911715Z --- PASS: TestParse_ServiceEnvInvalid/secret_key_collision (0.00s) 2026-10-18T20:51:12.720927112Z --- PASS: TestParse_ServiceEnvInvalid/newline (0.00s) 2026-10-18T20:51:12.720934763Z === RUN TestParse_Names 2026-10-18T20:51:12.720940016Z === RUN TestParse_Names/bad_app 2026-10-18T20:51:12.720949589Z === RUN TestParse_Names/double_dash_app 2026-10-18T20:51:12.720958556Z === RUN TestParse_Names/reserved_app 2026-10-18T20:51:12.720963591Z === RUN TestParse_Names/no_services 2026-10-18T20:51:12.720971407Z === RUN TestParse_Names/dup_service 2026-10-18T20:51:12.720979413Z === RUN TestParse_Names/dup_service_case 2026-10-18T20:51:12.720984783Z === RUN TestParse_Names/normalized_collision 2026-10-18T20:51:12.720992492Z === RUN TestParse_Names/replicas_rejected 2026-10-18T20:51:12.721000611Z === RUN TestParse_Names/volume_double_dash 2026-10-18T20:51:12.721006219Z === RUN TestParse_Names/shared_volume 2026-10-18T20:51:12.721014317Z === RUN TestParse_Names/env_secret_key_collision 2026-10-18T20:51:12.721022601Z === RUN TestParse_Names/secret_ref_in_env 2026-10-18T20:51:12.721032242Z --- PASS: TestParse_Names (0.00s) 2026-10-18T20:51:12.721045485Z --- PASS: TestParse_Names/bad_app (0.00s) 2026-10-18T20:51:12.721060001Z --- PASS: TestParse_Names/double_dash_app (0.00s) 2026-10-18T20:51:12.721074688Z --- PASS: TestParse_Names/reserved_app (0.00s) 2026-10-18T20:51:12.721088866Z --- PASS: TestParse_Names/no_services (0.00s) 2026-10-18T20:51:12.721102808Z --- PASS: TestParse_Names/dup_service (0.00s) 2026-10-18T20:51:12.721117096Z --- PASS: TestParse_Names/dup_service_case (0.00s) 2026-10-18T20:51:12.721132454Z --- PASS: TestParse_Names/normalized_collision (0.00s) 2026-10-18T20:51:12.7211493Z --- PASS: TestParse_Names/replicas_rejected (0.00s) 2026-10-18T20:51:12.721164304Z --- PASS: TestParse_Names/volume_double_dash (0.00s) 2026-10-18T20:51:12.721178683Z --- PASS: TestParse_Names/shared_volume (0.00s) 2026-10-18T20:51:12.721194607Z --- PASS: TestParse_Names/env_secret_key_collision (0.00s) 2026-10-18T20:51:12.721209166Z --- PASS: TestParse_Names/secret_ref_in_env (0.00s) 2026-10-18T20:51:12.721217239Z === RUN TestParse_Readiness 2026-10-18T20:51:12.721225616Z === RUN TestParse_Readiness/bad_type 2026-10-18T20:51:12.721238871Z === RUN TestParse_Readiness/log_needs_path 2026-10-18T20:51:12.722660752Z === RUN TestParse_Readiness/http_needs_path 2026-10-18T20:51:12.722712185Z === RUN TestParse_Readiness/udp_tcp_rejected 2026-10-18T20:51:12.722721725Z === RUN TestParse_Readiness/multi_tcp_needs_port 2026-10-18T20:51:12.722727655Z === RUN TestParse_Readiness/bad_port_ref 2026-10-18T20:51:12.722736713Z === RUN TestParse_Readiness/bad_timeout 2026-10-18T20:51:12.722751229Z --- PASS: TestParse_Readiness (0.00s) 2026-10-18T20:51:12.722763161Z --- PASS: TestParse_Readiness/bad_type (0.00s) 2026-10-18T20:51:12.722786609Z --- PASS: TestParse_Readiness/log_needs_path (0.00s) 2026-10-18T20:51:12.722833237Z --- PASS: TestParse_Readiness/http_needs_path (0.00s) 2026-10-18T20:51:12.722856334Z --- PASS: TestParse_Readiness/udp_tcp_rejected (0.00s) 2026-10-18T20:51:12.722875387Z --- PASS: TestParse_Readiness/multi_tcp_needs_port (0.00s) 2026-10-18T20:51:12.722895872Z --- PASS: TestParse_Readiness/bad_port_ref (0.00s) 2026-10-18T20:51:12.722922863Z --- PASS: TestParse_Readiness/bad_timeout (0.00s) 2026-10-18T20:51:12.722933824Z === RUN TestParse_Interfaces 2026-10-18T20:51:12.722942855Z === RUN TestParse_Interfaces/tcp_needs_entrypoint 2026-10-18T20:51:12.722953322Z === RUN TestParse_Interfaces/publish_hostname 2026-10-18T20:51:12.722968552Z === RUN TestParse_Interfaces/rcon_table_rejected 2026-10-18T20:51:12.722982541Z === RUN TestParse_Interfaces/bad_host 2026-10-18T20:51:12.722991405Z --- PASS: TestParse_Interfaces (0.00s) 2026-10-18T20:51:12.723011706Z --- PASS: TestParse_Interfaces/tcp_needs_entrypoint (0.00s) 2026-10-18T20:51:12.723030458Z --- PASS: TestParse_Interfaces/publish_hostname (0.00s) 2026-10-18T20:51:12.72304857Z --- PASS: TestParse_Interfaces/rcon_table_rejected (0.00s) 2026-10-18T20:51:12.72306245Z --- PASS: TestParse_Interfaces/bad_host (0.00s) 2026-10-18T20:51:12.723070356Z === RUN TestParse_Backups 2026-10-18T20:51:12.723075441Z --- PASS: TestParse_Backups (0.00s) 2026-10-18T20:51:12.723080261Z === RUN TestParse_GameAndStagingExamples 2026-10-18T20:51:12.723088115Z --- PASS: TestParse_GameAndStagingExamples (0.00s) 2026-10-18T20:51:12.72309772Z === RUN TestParse_NoFileEnvSecretReads 2026-10-18T20:51:12.723240884Z --- PASS: TestParse_NoFileEnvSecretReads (0.00s) 2026-10-18T20:51:12.723259165Z === RUN TestParse_Binds 2026-10-18T20:51:12.723273493Z --- PASS: TestParse_Binds (0.00s) 2026-10-18T20:51:12.723283523Z === RUN TestParse_BindDestinationRejected 2026-10-18T20:51:12.723289036Z --- PASS: TestParse_BindDestinationRejected (0.00s) 2026-10-18T20:51:12.723296867Z === RUN TestParse_Devices 2026-10-18T20:51:12.723306665Z --- PASS: TestParse_Devices (0.00s) 2026-10-18T20:51:12.723315924Z === RUN TestParse_DevicesWrongType 2026-10-18T20:51:12.723324441Z --- PASS: TestParse_DevicesWrongType (0.00s) 2026-10-18T20:51:12.723329982Z === RUN TestParse_DevicesMalformedRejected 2026-10-18T20:51:12.723334857Z --- PASS: TestParse_DevicesMalformedRejected (0.00s) 2026-10-18T20:51:12.723344881Z === RUN TestParse_DevicesDuplicateRejected 2026-10-18T20:51:12.72336019Z --- PASS: TestParse_DevicesDuplicateRejected (0.00s) 2026-10-18T20:51:12.723371231Z === RUN TestParse_UnknownGPUFieldRejected 2026-10-18T20:51:12.723389535Z --- PASS: TestParse_UnknownGPUFieldRejected (0.00s) 2026-10-18T20:51:12.723405443Z === RUN TestParse_TelemetryLogsPrecedence 2026-10-18T20:51:12.723415861Z --- PASS: TestParse_TelemetryLogsPrecedence (0.00s) 2026-10-18T20:51:12.723426312Z === RUN TestParse_TelemetryLogsDefaultOn 2026-10-18T20:51:12.723431695Z --- PASS: TestParse_TelemetryLogsDefaultOn (0.00s) 2026-10-18T20:51:12.723442249Z === RUN TestParse_Capabilities 2026-10-18T20:51:12.723450839Z --- PASS: TestParse_Capabilities (0.00s) 2026-10-18T20:51:12.723460099Z === RUN TestParse_CapabilitiesWrongType 2026-10-18T20:51:12.723468773Z --- PASS: TestParse_CapabilitiesWrongType (0.00s) 2026-10-18T20:51:12.723474515Z === RUN TestParse_CapabilitiesMalformedAndDuplicateRejected 2026-10-18T20:51:12.723480514Z --- PASS: TestParse_CapabilitiesMalformedAndDuplicateRejected (0.00s) 2026-10-18T20:51:12.723489167Z === RUN TestParse_VisibilityNormalization 2026-10-18T20:51:12.723499016Z === RUN TestParse_VisibilityNormalization/absent_visibility_stays_public_with_auto_tls 2026-10-18T20:51:12.723511425Z === RUN TestParse_VisibilityNormalization/explicit_internal_keeps_tls_absent_and_has_no_host 2026-10-18T20:51:12.723518301Z === RUN TestParse_VisibilityNormalization/explicit_public_normalizes_to_auto_tls 2026-10-18T20:51:12.723526707Z --- PASS: TestParse_VisibilityNormalization (0.00s) 2026-10-18T20:51:12.723621926Z --- PASS: TestParse_VisibilityNormalization/absent_visibility_stays_public_with_auto_tls (0.00s) 2026-10-18T20:51:12.723656992Z --- PASS: TestParse_VisibilityNormalization/explicit_internal_keeps_tls_absent_and_has_no_host (0.00s) 2026-10-18T20:51:12.723683093Z --- PASS: TestParse_VisibilityNormalization/explicit_public_normalizes_to_auto_tls (0.00s) 2026-10-18T20:51:12.723702025Z === RUN TestParse_VisibilityRejections 2026-10-18T20:51:12.723715087Z === RUN TestParse_VisibilityRejections/internal_port_also_published_as_tcp 2026-10-18T20:51:12.723725072Z === RUN TestParse_VisibilityRejections/internal_forbids_host 2026-10-18T20:51:12.723731032Z === RUN TestParse_VisibilityRejections/internal_forbids_tls 2026-10-18T20:51:12.723743509Z === RUN TestParse_VisibilityRejections/internal_forbids_explicitly_empty_tls 2026-10-18T20:51:12.723750259Z === RUN TestParse_VisibilityRejections/unknown_visibility_value 2026-10-18T20:51:12.723759152Z --- PASS: TestParse_VisibilityRejections (0.00s) 2026-10-18T20:51:12.723793384Z --- PASS: TestParse_VisibilityRejections/internal_port_also_published_as_tcp (0.00s) 2026-10-18T20:51:12.723819769Z --- PASS: TestParse_VisibilityRejections/internal_forbids_host (0.00s) 2026-10-18T20:51:12.723839938Z --- PASS: TestParse_VisibilityRejections/internal_forbids_tls (0.00s) 2026-10-18T20:51:12.724171378Z --- PASS: TestParse_VisibilityRejections/internal_forbids_explicitly_empty_tls (0.00s) 2026-10-18T20:51:12.724202407Z --- PASS: TestParse_VisibilityRejections/unknown_visibility_value (0.00s) 2026-10-18T20:51:12.724212811Z === RUN TestParse_VisibilityUnknownFieldStillRejected 2026-10-18T20:51:12.724222736Z --- PASS: TestParse_VisibilityUnknownFieldStillRejected (0.00s) 2026-10-18T20:51:12.72422747Z PASS 2026-10-18T20:51:12.724233435Z ok github.com/bnema/gordon/internal/adapters/in/appmanifest 1.047s 2026-10-18T20:51:18.245594781Z === RUN TestRunAppsApply_DeployAcceptedPollsToSuccess 2026-10-18T20:51:18.245641998Z --- PASS: TestRunAppsApply_DeployAcceptedPollsToSuccess (0.00s) 2026-10-18T20:51:18.245654108Z === RUN TestRunAppsApply_DeployAcceptedNoSecondMutation 2026-10-18T20:51:18.245664364Z --- PASS: TestRunAppsApply_DeployAcceptedNoSecondMutation (0.00s) 2026-10-18T20:51:18.245676137Z === RUN TestRunAppsApply_DeployAcceptedUnchangedStateNotReprinted 2026-10-18T20:51:18.24569306Z --- PASS: TestRunAppsApply_DeployAcceptedUnchangedStateNotReprinted (0.02s) 2026-10-18T20:51:18.245706397Z === RUN TestRunAppsApply_DeployAcceptedPartialFailsButKeepsApply 2026-10-18T20:51:18.245718666Z --- PASS: TestRunAppsApply_DeployAcceptedPartialFailsButKeepsApply (0.00s) 2026-10-18T20:51:18.245737293Z === RUN TestRunAppsApply_DeployAcceptedJSONKeepsStdoutSingleCombinedDocument 2026-10-18T20:51:18.245757511Z --- PASS: TestRunAppsApply_DeployAcceptedJSONKeepsStdoutSingleCombinedDocument (0.01s) 2026-10-18T20:51:18.245768007Z === RUN TestRunAppsApply_DeployAcceptedJSONFailureKeepsApplyDocument 2026-10-18T20:51:18.24577865Z --- PASS: TestRunAppsApply_DeployAcceptedJSONFailureKeepsApplyDocument (0.00s) 2026-10-18T20:51:18.245787965Z === RUN TestRunAppsApply_DeployAcceptedCancelPrintsResume 2026-10-18T20:51:18.245802121Z --- PASS: TestRunAppsApply_DeployAcceptedCancelPrintsResume (0.00s) 2026-10-18T20:51:18.245816027Z === RUN TestRunAppsApply_DeployAcceptedCancelKeepsJSONStdoutClean 2026-10-18T20:51:18.245830081Z --- PASS: TestRunAppsApply_DeployAcceptedCancelKeepsJSONStdoutClean (0.00s) 2026-10-18T20:51:18.245844911Z === RUN TestRunAppsApply_DryRunOmitsEmptyRevisionAndRendersDiff 2026-10-18T20:51:18.245859163Z --- PASS: TestRunAppsApply_DryRunOmitsEmptyRevisionAndRendersDiff (0.00s) 2026-10-18T20:51:18.245872348Z === RUN TestRunAppsApply_NoopOmitsEmptyRevision 2026-10-18T20:51:18.245886372Z --- PASS: TestRunAppsApply_NoopOmitsEmptyRevision (0.00s) 2026-10-18T20:51:18.245902399Z === RUN TestRunAppLogs_RejectsJSONWithFollow 2026-10-18T20:51:18.245916392Z --- PASS: TestRunAppLogs_RejectsJSONWithFollow (0.00s) 2026-10-18T20:51:18.245929173Z === RUN TestAppLogRef_ZeroServicesAccurateError 2026-10-18T20:51:18.245944551Z --- PASS: TestAppLogRef_ZeroServicesAccurateError (0.00s) 2026-10-18T20:51:18.245974061Z === RUN TestRunStatusCmd_AppsLabelAndSortedHelpers 2026-10-18T20:51:18.245991241Z --- PASS: TestRunStatusCmd_AppsLabelAndSortedHelpers (0.00s) 2026-10-18T20:51:18.246005219Z === RUN TestSharedCommandLocalAdminComposition_Status 2026-10-18T20:51:18.246022145Z --- PASS: TestSharedCommandLocalAdminComposition_Status (0.00s) 2026-10-18T20:51:18.246036789Z === RUN TestAppLocalAdminComposition_EndToEnd 2026-10-18T20:51:18.246051417Z --- PASS: TestAppLocalAdminComposition_EndToEnd (0.01s) 2026-10-18T20:51:18.246065122Z === RUN TestResolveAppPlane_UsesLocalAdminSocket 2026-10-18T20:51:18.24607963Z --- PASS: TestResolveAppPlane_UsesLocalAdminSocket (0.01s) 2026-10-18T20:51:18.246092799Z === RUN TestControlPlane_LocalAndRemoteDTOParity 2026-10-18T20:51:18.24610656Z --- PASS: TestControlPlane_LocalAndRemoteDTOParity (0.01s) 2026-10-18T20:51:18.246124955Z === RUN TestResolveAppPlane_ExplicitRemoteNeverProbesLocal 2026-10-18T20:51:18.246143035Z === RUN TestResolveAppPlane_ExplicitRemoteNeverProbesLocal/remote_succeeds 2026-10-18T20:51:18.246155017Z === RUN TestResolveAppPlane_ExplicitRemoteNeverProbesLocal/remote_fails_without_local_fallback 2026-10-18T20:51:18.246165805Z --- PASS: TestResolveAppPlane_ExplicitRemoteNeverProbesLocal (0.00s) 2026-10-18T20:51:18.246199471Z --- PASS: TestResolveAppPlane_ExplicitRemoteNeverProbesLocal/remote_succeeds (0.00s) 2026-10-18T20:51:18.246242443Z --- PASS: TestResolveAppPlane_ExplicitRemoteNeverProbesLocal/remote_fails_without_local_fallback (0.00s) 2026-10-18T20:51:18.246256305Z === RUN TestResolveAppPlane_ReportsDaemonUnavailable 2026-10-18T20:51:18.246265491Z --- PASS: TestResolveAppPlane_ReportsDaemonUnavailable (0.00s) 2026-10-18T20:51:18.246274084Z === RUN TestRunAppsApply_RejectsDryRunWithDeploy 2026-10-18T20:51:18.246288068Z --- PASS: TestRunAppsApply_RejectsDryRunWithDeploy (0.00s) 2026-10-18T20:51:18.246299548Z === RUN TestRunAppsApply_RequiresFile 2026-10-18T20:51:18.246308197Z --- PASS: TestRunAppsApply_RequiresFile (0.00s) 2026-10-18T20:51:18.246315382Z === RUN TestRunAppsApply_JSONParity 2026-10-18T20:51:18.246322766Z --- PASS: TestRunAppsApply_JSONParity (0.00s) 2026-10-18T20:51:18.246337869Z === RUN TestRunAppsApply_ChainsAcceptedRevision 2026-10-18T20:51:18.24634686Z --- PASS: TestRunAppsApply_ChainsAcceptedRevision (0.00s) 2026-10-18T20:51:18.246354706Z === RUN TestRunAppsApply_ChainedJSONIsOneDocument 2026-10-18T20:51:18.246367742Z --- PASS: TestRunAppsApply_ChainedJSONIsOneDocument (0.00s) 2026-10-18T20:51:18.246381597Z === RUN TestRunAppsList_JSONParityAndSorting 2026-10-18T20:51:18.246397585Z --- PASS: TestRunAppsList_JSONParityAndSorting (0.00s) 2026-10-18T20:51:18.246415142Z === RUN TestRunAppsList_EmptyJSONIsArray 2026-10-18T20:51:18.246439485Z --- PASS: TestRunAppsList_EmptyJSONIsArray (0.00s) 2026-10-18T20:51:18.246457415Z === RUN TestRenderActiveServices_SingleWriterLegend 2026-10-18T20:51:18.246467997Z === RUN TestRenderActiveServices_SingleWriterLegend/none 2026-10-18T20:51:18.246482312Z === RUN TestRenderActiveServices_SingleWriterLegend/one 2026-10-18T20:51:18.24649678Z === RUN TestRenderActiveServices_SingleWriterLegend/two 2026-10-18T20:51:18.24651273Z --- PASS: TestRenderActiveServices_SingleWriterLegend (0.00s) 2026-10-18T20:51:18.246572412Z --- PASS: TestRenderActiveServices_SingleWriterLegend/none (0.00s) 2026-10-18T20:51:18.246595185Z --- PASS: TestRenderActiveServices_SingleWriterLegend/one (0.00s) 2026-10-18T20:51:18.246614599Z --- PASS: TestRenderActiveServices_SingleWriterLegend/two (0.00s) 2026-10-18T20:51:18.246624683Z === RUN TestRunAppsShow_JSONParity 2026-10-18T20:51:18.246630433Z --- PASS: TestRunAppsShow_JSONParity (0.00s) 2026-10-18T20:51:18.246635339Z === RUN TestRunAppsSecretsSet_NeverEchoesValues 2026-10-18T20:51:18.246643888Z --- PASS: TestRunAppsSecretsSet_NeverEchoesValues (0.00s) 2026-10-18T20:51:18.246669669Z === RUN TestRunAppsSecretsSet_RequiresService 2026-10-18T20:51:18.246683369Z --- PASS: TestRunAppsSecretsSet_RequiresService (0.00s) 2026-10-18T20:51:18.246692455Z === RUN TestRunAppsSecretsSet_StdinAndValidation 2026-10-18T20:51:18.246701299Z --- PASS: TestRunAppsSecretsSet_StdinAndValidation (0.00s) 2026-10-18T20:51:18.246712426Z === RUN TestRunAppDeploy_OutcomeUnknownMentionsKey 2026-10-18T20:51:18.246740792Z --- PASS: TestRunAppDeploy_OutcomeUnknownMentionsKey (0.00s) 2026-10-18T20:51:18.246752059Z === RUN TestRunAppDeploy_ConflictRendersJournal 2026-10-18T20:51:18.24676119Z --- PASS: TestRunAppDeploy_ConflictRendersJournal (0.00s) 2026-10-18T20:51:18.246774457Z === RUN TestRunAppDeploy_ConflictJSONRendersJournal 2026-10-18T20:51:18.24678407Z --- PASS: TestRunAppDeploy_ConflictJSONRendersJournal (0.00s) 2026-10-18T20:51:18.246802965Z === RUN TestRunAppLifecycle_ConflictRendersJournal 2026-10-18T20:51:18.24681563Z --- PASS: TestRunAppLifecycle_ConflictRendersJournal (0.00s) 2026-10-18T20:51:18.246827348Z === RUN TestRenderAppDeployResponse_SortedServices 2026-10-18T20:51:18.246843882Z --- PASS: TestRenderAppDeployResponse_SortedServices (0.00s) 2026-10-18T20:51:18.246857285Z === RUN TestAppLogRef_Selection 2026-10-18T20:51:18.246867948Z --- PASS: TestAppLogRef_Selection (0.00s) 2026-10-18T20:51:18.246884104Z === RUN TestResolveAppPlane_FailsWithoutDaemon 2026-10-18T20:51:18.246894033Z --- PASS: TestResolveAppPlane_FailsWithoutDaemon (0.00s) 2026-10-18T20:51:18.246904901Z === RUN TestAppCommandSurface 2026-10-18T20:51:18.246917362Z --- PASS: TestAppCommandSurface (0.00s) 2026-10-18T20:51:18.246928044Z === RUN TestRunAppsDiff_TextAndJSON 2026-10-18T20:51:18.246938578Z --- PASS: TestRunAppsDiff_TextAndJSON (0.00s) 2026-10-18T20:51:18.246949404Z === RUN TestRunAppsSecretsDelete 2026-10-18T20:51:18.246960987Z --- PASS: TestRunAppsSecretsDelete (0.00s) 2026-10-18T20:51:18.246969621Z === RUN TestRunAppRestart_AndLifecycle 2026-10-18T20:51:18.246979849Z --- PASS: TestRunAppRestart_AndLifecycle (0.00s) 2026-10-18T20:51:18.24698793Z === RUN TestRunAppStatus_Observed 2026-10-18T20:51:18.246999608Z --- PASS: TestRunAppStatus_Observed (0.00s) 2026-10-18T20:51:18.247007505Z === RUN TestRunAppLogs_TextJSONFollow 2026-10-18T20:51:18.247020401Z --- PASS: TestRunAppLogs_TextJSONFollow (0.00s) 2026-10-18T20:51:18.247029741Z === RUN TestRunAppsSecretsList_RendersMetadataAndWrapsErrors 2026-10-18T20:51:18.247038891Z --- PASS: TestRunAppsSecretsList_RendersMetadataAndWrapsErrors (0.00s) 2026-10-18T20:51:18.247047691Z === RUN TestRunAppDeploy_PollsAcceptedToTerminal 2026-10-18T20:51:18.247060558Z --- PASS: TestRunAppDeploy_PollsAcceptedToTerminal (0.00s) 2026-10-18T20:51:18.247069658Z === RUN TestRunAppDeploy_UnchangedStateNotReprinted 2026-10-18T20:51:18.247084632Z --- PASS: TestRunAppDeploy_UnchangedStateNotReprinted (0.01s) 2026-10-18T20:51:18.247103219Z === RUN TestRunAppDeploy_AcceptedIssuesNoSecondMutation 2026-10-18T20:51:18.247118267Z --- PASS: TestRunAppDeploy_AcceptedIssuesNoSecondMutation (0.00s) 2026-10-18T20:51:18.247132966Z === RUN TestRunAppDeploy_TerminalPartialRendersAndFails 2026-10-18T20:51:18.247147374Z --- PASS: TestRunAppDeploy_TerminalPartialRendersAndFails (0.00s) 2026-10-18T20:51:18.24715934Z === RUN TestRunAppDeploy_JSONKeepsStdoutMachineReadable 2026-10-18T20:51:18.247177957Z --- PASS: TestRunAppDeploy_JSONKeepsStdoutMachineReadable (0.00s) 2026-10-18T20:51:18.247194475Z === RUN TestWatchOperation_CancelPrintsResumeWithoutAbort 2026-10-18T20:51:18.24720872Z --- PASS: TestWatchOperation_CancelPrintsResumeWithoutAbort (0.00s) 2026-10-18T20:51:18.247222334Z === RUN TestWatchOperation_CancelKeepsJSONStdoutClean 2026-10-18T20:51:18.247238899Z --- PASS: TestWatchOperation_CancelKeepsJSONStdoutClean (0.00s) 2026-10-18T20:51:18.247252291Z === RUN TestRunAppsOperationsWatch_ResumesExisting 2026-10-18T20:51:18.247267439Z --- PASS: TestRunAppsOperationsWatch_ResumesExisting (0.01s) 2026-10-18T20:51:18.247281972Z === RUN TestAwaitOperation_TransientErrorsAreBounded 2026-10-18T20:51:18.247297366Z --- PASS: TestAwaitOperation_TransientErrorsAreBounded (0.01s) 2026-10-18T20:51:18.247308287Z === RUN TestAwaitOperation_NotFoundFailsFast 2026-10-18T20:51:18.247322774Z --- PASS: TestAwaitOperation_NotFoundFailsFast (0.00s) 2026-10-18T20:51:18.247334216Z === RUN TestAppsOperationsWatchCmd_Flags 2026-10-18T20:51:18.247348122Z --- PASS: TestAppsOperationsWatchCmd_Flags (0.00s) 2026-10-18T20:51:18.247363545Z === RUN TestParseAndConvertScopes_DefaultWildcard 2026-10-18T20:51:18.247377064Z --- PASS: TestParseAndConvertScopes_DefaultWildcard (0.00s) 2026-10-18T20:51:18.247394351Z === RUN TestParseAndConvertScopes_SpecificRepo 2026-10-18T20:51:18.247405924Z --- PASS: TestParseAndConvertScopes_SpecificRepo (0.00s) 2026-10-18T20:51:18.247414739Z === RUN TestParseAndConvertScopes_SpecificRepoPushOnly 2026-10-18T20:51:18.247423659Z --- PASS: TestParseAndConvertScopes_SpecificRepoPushOnly (0.00s) 2026-10-18T20:51:18.247433149Z === RUN TestParseAndConvertScopes_MixedWithAdminScopes 2026-10-18T20:51:18.24744358Z --- PASS: TestParseAndConvertScopes_MixedWithAdminScopes (0.00s) 2026-10-18T20:51:18.247453975Z === RUN TestParseAndConvertScopes_AlreadyV2Format_RepoIgnored 2026-10-18T20:51:18.247463489Z --- PASS: TestParseAndConvertScopes_AlreadyV2Format_RepoIgnored (0.00s) 2026-10-18T20:51:18.247472349Z === RUN TestParseAndConvertScopes_EmptyRepo 2026-10-18T20:51:18.247496564Z --- PASS: TestParseAndConvertScopes_EmptyRepo (0.00s) 2026-10-18T20:51:18.247513252Z === RUN TestParseAndConvertScopes_WhitespaceRepo 2026-10-18T20:51:18.247526738Z --- PASS: TestParseAndConvertScopes_WhitespaceRepo (0.00s) 2026-10-18T20:51:18.247539274Z === RUN TestRunAuthLoginWithToken_StoresToken 2026-10-18T20:51:18.247553Z Warning: 'pass' not available. Storing token in plaintext config. Consider installing pass (https://www.passwordstore.org/) for secure token storage. 2026-10-18T20:51:18.247563409Z --- PASS: TestRunAuthLoginWithToken_StoresToken (0.00s) 2026-10-18T20:51:18.24757123Z === RUN TestVolumeBackupStatus_JSONFlag 2026-10-18T20:51:18.24757971Z --- PASS: TestVolumeBackupStatus_JSONFlag (0.00s) 2026-10-18T20:51:18.247590562Z === RUN TestVolumeBackupRun_PrintsPartialJobsBeforeReturningError 2026-10-18T20:51:18.24761168Z --- PASS: TestVolumeBackupRun_PrintsPartialJobsBeforeReturningError (0.00s) 2026-10-18T20:51:18.247626954Z === RUN TestCAExportRemoteUsesControlPlane 2026-10-18T20:51:18.247640585Z --- PASS: TestCAExportRemoteUsesControlPlane (0.00s) 2026-10-18T20:51:18.247654523Z === RUN TestCAExportRemoteWritesFile 2026-10-18T20:51:18.247668866Z  Before trusting this CA, check that fingerprint 42:F4:B1:8C:AD:A6:39:F5:97:D4:A4:73:6E:F5:AB:25:A2:9D:AE:AB:B1:5D:61:8A:9E:2F:FA:9B:6D:B4:A8:A4 matches `gordon ca info` on the Gordon host 2026-10-18T20:51:18.247678754Z --- PASS: TestCAExportRemoteWritesFile (0.00s) 2026-10-18T20:51:18.247683935Z === RUN TestCAInfoRemoteUsesControlPlane 2026-10-18T20:51:18.247696177Z --- PASS: TestCAInfoRemoteUsesControlPlane (0.00s) 2026-10-18T20:51:18.247707702Z === RUN TestCAInfoRemoteText 2026-10-18T20:51:18.24771582Z --- PASS: TestCAInfoRemoteText (0.00s) 2026-10-18T20:51:18.247728479Z === RUN TestCARemoteErrorIsWrapped 2026-10-18T20:51:18.247740902Z --- PASS: TestCARemoteErrorIsWrapped (0.00s) 2026-10-18T20:51:18.24775527Z === RUN TestCAInstallRejectsRemote 2026-10-18T20:51:18.247768189Z --- PASS: TestCAInstallRejectsRemote (0.00s) 2026-10-18T20:51:18.247786221Z === RUN TestCARemoteRejectsInvalidRoot 2026-10-18T20:51:18.24780186Z === RUN TestCARemoteRejectsInvalidRoot/invalid_pem 2026-10-18T20:51:18.247813003Z === RUN TestCARemoteRejectsInvalidRoot/garbage_der 2026-10-18T20:51:18.247823565Z === RUN TestCARemoteRejectsInvalidRoot/wrong_block_type 2026-10-18T20:51:18.24783846Z === RUN TestCARemoteRejectsInvalidRoot/multiple_certs 2026-10-18T20:51:18.247851294Z === RUN TestCARemoteRejectsInvalidRoot/not_a_CA 2026-10-18T20:51:18.247871193Z === RUN TestCARemoteRejectsInvalidRoot/fingerprint_mismatch 2026-10-18T20:51:18.247887002Z --- PASS: TestCARemoteRejectsInvalidRoot (0.00s) 2026-10-18T20:51:18.247910808Z --- PASS: TestCARemoteRejectsInvalidRoot/invalid_pem (0.00s) 2026-10-18T20:51:18.247929993Z --- PASS: TestCARemoteRejectsInvalidRoot/garbage_der (0.00s) 2026-10-18T20:51:18.247949034Z --- PASS: TestCARemoteRejectsInvalidRoot/wrong_block_type (0.00s) 2026-10-18T20:51:18.24796821Z --- PASS: TestCARemoteRejectsInvalidRoot/multiple_certs (0.00s) 2026-10-18T20:51:18.247988443Z --- PASS: TestCARemoteRejectsInvalidRoot/not_a_CA (0.00s) 2026-10-18T20:51:18.248010856Z --- PASS: TestCARemoteRejectsInvalidRoot/fingerprint_mismatch (0.00s) 2026-10-18T20:51:18.248021752Z === RUN TestCARemoteRejectsNotSelfSigned 2026-10-18T20:51:18.24803059Z --- PASS: TestCARemoteRejectsNotSelfSigned (0.00s) 2026-10-18T20:51:18.248039154Z === RUN TestCARemoteComputesFingerprintAndCNLocally 2026-10-18T20:51:18.248047994Z --- PASS: TestCARemoteComputesFingerprintAndCNLocally (0.00s) 2026-10-18T20:51:18.248056536Z === RUN TestCALocalErrorMentionsConfigAndRemote 2026-10-18T20:51:18.248067918Z --- PASS: TestCALocalErrorMentionsConfigAndRemote (0.00s) 2026-10-18T20:51:18.248082803Z === RUN TestErrLocalInternalTLSDisabledWithoutConfigFile 2026-10-18T20:51:18.248100516Z --- PASS: TestErrLocalInternalTLSDisabledWithoutConfigFile (0.00s) 2026-10-18T20:51:18.248115773Z === RUN TestRemoteControlPlane_RunVolumeBackupsPreservesPartialResult 2026-10-18T20:51:18.248131311Z --- PASS: TestRemoteControlPlane_RunVolumeBackupsPreservesPartialResult (0.00s) 2026-10-18T20:51:18.248145407Z === RUN TestRemoteControlPlane_VolumeBackupErrorsKeepHTTPStatus 2026-10-18T20:51:18.248159675Z --- PASS: TestRemoteControlPlane_VolumeBackupErrorsKeepHTTPStatus (0.00s) 2026-10-18T20:51:18.24817492Z === RUN TestResolveControlPlane_LocalUsesSocketBackedRemotePlane 2026-10-18T20:51:18.248193497Z --- PASS: TestResolveControlPlane_LocalUsesSocketBackedRemotePlane (0.00s) 2026-10-18T20:51:18.248210059Z === RUN TestResolveControlPlane_LocalFailsClosedWhenDaemonUnavailable 2026-10-18T20:51:18.248230259Z --- PASS: TestResolveControlPlane_LocalFailsClosedWhenDaemonUnavailable (0.00s) 2026-10-18T20:51:18.248245176Z === RUN TestResolveControlPlane_ExplicitRemoteDoesNotUseLocalFactory 2026-10-18T20:51:18.248262901Z --- PASS: TestResolveControlPlane_ExplicitRemoteDoesNotUseLocalFactory (0.00s) 2026-10-18T20:51:18.248273396Z === RUN TestResolveControlPlane_ExplicitUnknownRemoteReturnsError 2026-10-18T20:51:18.248282974Z --- PASS: TestResolveControlPlane_ExplicitUnknownRemoteReturnsError (0.00s) 2026-10-18T20:51:18.248297081Z === RUN TestResolveControlPlane_LocalIgnoresConfigAndStoreState 2026-10-18T20:51:18.248307468Z --- PASS: TestResolveControlPlane_LocalIgnoresConfigAndStoreState (0.00s) 2026-10-18T20:51:18.248316516Z === RUN TestFormatDeployFailure_RemoteStructuredError 2026-10-18T20:51:18.248331443Z --- PASS: TestFormatDeployFailure_RemoteStructuredError (0.00s) 2026-10-18T20:51:18.248344957Z === RUN TestFormatDeployFailure_LocalTypedError 2026-10-18T20:51:18.248358676Z --- PASS: TestFormatDeployFailure_LocalTypedError (0.00s) 2026-10-18T20:51:18.248375644Z === RUN TestFormatDeployFailure_GenericFallback 2026-10-18T20:51:18.248388315Z --- PASS: TestFormatDeployFailure_GenericFallback (0.00s) 2026-10-18T20:51:18.248397856Z === RUN TestFormatDeployFailure_SkipsEmptySanitizedLogsSection 2026-10-18T20:51:18.248407292Z --- PASS: TestFormatDeployFailure_SkipsEmptySanitizedLogsSection (0.00s) 2026-10-18T20:51:18.248415656Z === RUN TestShouldFallbackToLocal 2026-10-18T20:51:18.248430909Z === RUN TestShouldFallbackToLocal/nil 2026-10-18T20:51:18.24844036Z === RUN TestShouldFallbackToLocal/connection_refused 2026-10-18T20:51:18.248451562Z === RUN TestShouldFallbackToLocal/status_503 2026-10-18T20:51:18.248471774Z === RUN TestShouldFallbackToLocal/status_500 2026-10-18T20:51:18.248483502Z === RUN TestShouldFallbackToLocal/timeout 2026-10-18T20:51:18.248494269Z === RUN TestShouldFallbackToLocal/auth_error 2026-10-18T20:51:18.248503032Z === RUN TestShouldFallbackToLocal/bad_request 2026-10-18T20:51:18.248512635Z --- PASS: TestShouldFallbackToLocal (0.00s) 2026-10-18T20:51:18.248536478Z --- PASS: TestShouldFallbackToLocal/nil (0.00s) 2026-10-18T20:51:18.248606402Z --- PASS: TestShouldFallbackToLocal/connection_refused (0.00s) 2026-10-18T20:51:18.248625128Z --- PASS: TestShouldFallbackToLocal/status_503 (0.00s) 2026-10-18T20:51:18.248642171Z --- PASS: TestShouldFallbackToLocal/status_500 (0.00s) 2026-10-18T20:51:18.248656792Z --- PASS: TestShouldFallbackToLocal/timeout (0.00s) 2026-10-18T20:51:18.248678291Z --- PASS: TestShouldFallbackToLocal/auth_error (0.00s) 2026-10-18T20:51:18.248694842Z --- PASS: TestShouldFallbackToLocal/bad_request (0.00s) 2026-10-18T20:51:18.248707252Z === RUN TestRunImagesList_PrintsRowsAndSummary 2026-10-18T20:51:18.248716883Z --- PASS: TestRunImagesList_PrintsRowsAndSummary (0.01s) 2026-10-18T20:51:18.248725202Z === RUN TestRunImagesList_HeaderOrderAndSummaryLine 2026-10-18T20:51:18.248733598Z --- PASS: TestRunImagesList_HeaderOrderAndSummaryLine (0.00s) 2026-10-18T20:51:18.248746883Z === RUN TestRunImagesList_TruncatesLongValuesAndKeepsBoundedRowShape 2026-10-18T20:51:18.24875722Z --- PASS: TestRunImagesList_TruncatesLongValuesAndKeepsBoundedRowShape (0.00s) 2026-10-18T20:51:18.248769342Z === RUN TestRunImagesList_LongDigestLikeValuesAndEmptyFormattedFields 2026-10-18T20:51:18.248779008Z --- PASS: TestRunImagesList_LongDigestLikeValuesAndEmptyFormattedFields (0.00s) 2026-10-18T20:51:18.248787773Z === RUN TestRunImagesList_EmptyOutput 2026-10-18T20:51:18.248796473Z --- PASS: TestRunImagesList_EmptyOutput (0.00s) 2026-10-18T20:51:18.248805255Z === RUN TestRunImagesPrune_DefaultScopeIsBothDanglingAndRegistry 2026-10-18T20:51:18.248817586Z --- PASS: TestRunImagesPrune_DefaultScopeIsBothDanglingAndRegistry (0.00s) 2026-10-18T20:51:18.248827074Z === RUN TestRunImagesPrune_DanglingOnlyScopeSkipsRegistry 2026-10-18T20:51:18.248838489Z --- PASS: TestRunImagesPrune_DanglingOnlyScopeSkipsRegistry (0.00s) 2026-10-18T20:51:18.248848852Z === RUN TestRunImagesPrune_RegistryOnlyScopeSkipsRuntime 2026-10-18T20:51:18.248863394Z --- PASS: TestRunImagesPrune_RegistryOnlyScopeSkipsRuntime (0.00s) 2026-10-18T20:51:18.248874125Z === RUN TestRunImagesPrune_BothScopeFlagsExplicit 2026-10-18T20:51:18.248882897Z --- PASS: TestRunImagesPrune_BothScopeFlagsExplicit (0.00s) 2026-10-18T20:51:18.248891296Z === RUN TestRunImagesPrune_DryRunBothScopes 2026-10-18T20:51:18.248911558Z --- PASS: TestRunImagesPrune_DryRunBothScopes (0.00s) 2026-10-18T20:51:18.248922148Z === RUN TestRunImagesPrune_DryRunDanglingOnlyScope 2026-10-18T20:51:18.248937417Z --- PASS: TestRunImagesPrune_DryRunDanglingOnlyScope (0.00s) 2026-10-18T20:51:18.248946356Z === RUN TestRunImagesPrune_DryRunRegistryOnlyScope 2026-10-18T20:51:18.248970401Z --- PASS: TestRunImagesPrune_DryRunRegistryOnlyScope (0.00s) 2026-10-18T20:51:18.248982612Z === RUN TestRunImagesPrune_KeepReleasesControlsRetention 2026-10-18T20:51:18.248992198Z --- PASS: TestRunImagesPrune_KeepReleasesControlsRetention (0.00s) 2026-10-18T20:51:18.249001361Z === RUN TestRunImagesPrune_RejectsNegativeKeepReleases 2026-10-18T20:51:18.249010185Z --- PASS: TestRunImagesPrune_RejectsNegativeKeepReleases (0.00s) 2026-10-18T20:51:18.249020243Z === RUN TestRunImagesPrune_NonDryRunCallsConfirm 2026-10-18T20:51:18.249030936Z --- PASS: TestRunImagesPrune_NonDryRunCallsConfirm (0.00s) 2026-10-18T20:51:18.249040103Z === RUN TestRunImagesPrune_ConfirmPromptIncludesScopePreviewCounts 2026-10-18T20:51:18.24905135Z --- PASS: TestRunImagesPrune_ConfirmPromptIncludesScopePreviewCounts (0.00s) 2026-10-18T20:51:18.249066469Z === RUN TestRunImagesPrune_ConfirmRejectCancelsOperation 2026-10-18T20:51:18.249075852Z --- PASS: TestRunImagesPrune_ConfirmRejectCancelsOperation (0.00s) 2026-10-18T20:51:18.249084904Z === RUN TestRunImagesPrune_NoConfirmSkipsPrompt 2026-10-18T20:51:18.249091885Z --- PASS: TestRunImagesPrune_NoConfirmSkipsPrompt (0.00s) 2026-10-18T20:51:18.249101277Z === RUN TestRunImagesPrune_DryRunNeverPrompts 2026-10-18T20:51:18.24911253Z --- PASS: TestRunImagesPrune_DryRunNeverPrompts (0.00s) 2026-10-18T20:51:18.249120704Z === RUN TestRunImagesPrune_ReturnsRemoteErrors 2026-10-18T20:51:18.249126586Z --- PASS: TestRunImagesPrune_ReturnsRemoteErrors (0.00s) 2026-10-18T20:51:18.249137141Z === RUN TestRunImagesPrune_RejectsEmptyResponse 2026-10-18T20:51:18.249142754Z --- PASS: TestRunImagesPrune_RejectsEmptyResponse (0.00s) 2026-10-18T20:51:18.249150687Z === RUN TestAllListCommands_AcceptJSONFlag 2026-10-18T20:51:18.249159211Z === RUN TestAllListCommands_AcceptJSONFlag/images_list 2026-10-18T20:51:18.249167482Z === RUN TestAllListCommands_AcceptJSONFlag/backup_list 2026-10-18T20:51:18.249176175Z === RUN TestAllListCommands_AcceptJSONFlag/backup_volumes_list 2026-10-18T20:51:18.249184746Z === RUN TestAllListCommands_AcceptJSONFlag/backup_volumes_run 2026-10-18T20:51:18.249199968Z === RUN TestAllListCommands_AcceptJSONFlag/backup_volumes_status 2026-10-18T20:51:18.249211672Z === RUN TestAllListCommands_AcceptJSONFlag/auth_token_list 2026-10-18T20:51:18.2492205Z === RUN TestAllListCommands_AcceptJSONFlag/remotes_list 2026-10-18T20:51:18.249234192Z === RUN TestAllListCommands_AcceptJSONFlag/daemon_config_show 2026-10-18T20:51:18.249244088Z === RUN TestAllListCommands_AcceptJSONFlag/daemon_networks 2026-10-18T20:51:18.24925257Z === RUN TestAllListCommands_AcceptJSONFlag/images_tags 2026-10-18T20:51:18.249260958Z === RUN TestAllListCommands_AcceptJSONFlag/daemon_tls 2026-10-18T20:51:18.249271168Z --- PASS: TestAllListCommands_AcceptJSONFlag (0.00s) 2026-10-18T20:51:18.249300194Z --- PASS: TestAllListCommands_AcceptJSONFlag/images_list (0.00s) 2026-10-18T20:51:18.249320713Z --- PASS: TestAllListCommands_AcceptJSONFlag/backup_list (0.00s) 2026-10-18T20:51:18.249339231Z --- PASS: TestAllListCommands_AcceptJSONFlag/backup_volumes_list (0.00s) 2026-10-18T20:51:18.249356639Z --- PASS: TestAllListCommands_AcceptJSONFlag/backup_volumes_run (0.00s) 2026-10-18T20:51:18.249379779Z --- PASS: TestAllListCommands_AcceptJSONFlag/backup_volumes_status (0.00s) 2026-10-18T20:51:18.249400654Z --- PASS: TestAllListCommands_AcceptJSONFlag/auth_token_list (0.00s) 2026-10-18T20:51:18.249427012Z --- PASS: TestAllListCommands_AcceptJSONFlag/remotes_list (0.00s) 2026-10-18T20:51:18.249447805Z --- PASS: TestAllListCommands_AcceptJSONFlag/daemon_config_show (0.00s) 2026-10-18T20:51:18.249467755Z --- PASS: TestAllListCommands_AcceptJSONFlag/daemon_networks (0.00s) 2026-10-18T20:51:18.249489896Z --- PASS: TestAllListCommands_AcceptJSONFlag/images_tags (0.00s) 2026-10-18T20:51:18.249518631Z --- PASS: TestAllListCommands_AcceptJSONFlag/daemon_tls (0.00s) 2026-10-18T20:51:18.249529776Z === RUN TestImagesList_JSONFlag_Accepted 2026-10-18T20:51:18.249538725Z --- PASS: TestImagesList_JSONFlag_Accepted (0.00s) 2026-10-18T20:51:18.249548401Z === RUN TestBackupList_JSONFlag_Accepted 2026-10-18T20:51:18.249557118Z --- PASS: TestBackupList_JSONFlag_Accepted (0.00s) 2026-10-18T20:51:18.249565399Z === RUN TestTokenList_JSONFlag_Accepted 2026-10-18T20:51:18.249574562Z --- PASS: TestTokenList_JSONFlag_Accepted (0.00s) 2026-10-18T20:51:18.249582841Z === RUN TestRemotesList_JSONFlag_Accepted 2026-10-18T20:51:18.249601218Z --- PASS: TestRemotesList_JSONFlag_Accepted (0.00s) 2026-10-18T20:51:18.249613446Z === RUN TestImagesList_JSONShape_RoundTripsDTO 2026-10-18T20:51:18.249626195Z --- PASS: TestImagesList_JSONShape_RoundTripsDTO (0.00s) 2026-10-18T20:51:18.249638818Z === RUN TestPinList_JSONShape_RoundTripsTags 2026-10-18T20:51:18.249650352Z --- PASS: TestPinList_JSONShape_RoundTripsTags (0.00s) 2026-10-18T20:51:18.249660931Z === RUN TestBackupList_JSONShape_RoundTripsJobs 2026-10-18T20:51:18.249677054Z --- PASS: TestBackupList_JSONShape_RoundTripsJobs (0.00s) 2026-10-18T20:51:18.249689064Z === RUN TestTokenList_JSONShape_RoundTripsTokens 2026-10-18T20:51:18.24970005Z --- PASS: TestTokenList_JSONShape_RoundTripsTokens (0.00s) 2026-10-18T20:51:18.249716877Z === RUN TestRemotesList_JSONShape_RoundTripsRemoteObjects 2026-10-18T20:51:18.249730495Z --- PASS: TestRemotesList_JSONShape_RoundTripsRemoteObjects (0.00s) 2026-10-18T20:51:18.249740858Z === RUN TestWriteJSON_ProducesValidIndentedJSON 2026-10-18T20:51:18.249751338Z --- PASS: TestWriteJSON_ProducesValidIndentedJSON (0.00s) 2026-10-18T20:51:18.249761977Z === RUN TestHasLocalTLSCapableEntrypoint 2026-10-18T20:51:18.249773297Z === RUN TestHasLocalTLSCapableEntrypoint/smart_tcp 2026-10-18T20:51:18.249785609Z === RUN TestHasLocalTLSCapableEntrypoint/tls_mux 2026-10-18T20:51:18.249796811Z === RUN TestHasLocalTLSCapableEntrypoint/plain_tcp 2026-10-18T20:51:18.249807248Z === RUN TestHasLocalTLSCapableEntrypoint/empty 2026-10-18T20:51:18.249818176Z --- PASS: TestHasLocalTLSCapableEntrypoint (0.00s) 2026-10-18T20:51:18.24984504Z --- PASS: TestHasLocalTLSCapableEntrypoint/smart_tcp (0.00s) 2026-10-18T20:51:18.249866316Z --- PASS: TestHasLocalTLSCapableEntrypoint/tls_mux (0.00s) 2026-10-18T20:51:18.249887211Z --- PASS: TestHasLocalTLSCapableEntrypoint/plain_tcp (0.00s) 2026-10-18T20:51:18.249909358Z --- PASS: TestHasLocalTLSCapableEntrypoint/empty (0.00s) 2026-10-18T20:51:18.249920817Z === RUN TestTagAndPushPreservesExactSourceReference 2026-10-18T20:51:18.24993219Z --- PASS: TestTagAndPushPreservesExactSourceReference (0.00s) 2026-10-18T20:51:18.249944495Z === RUN TestTagAndPushRejectsMissingSourceReference 2026-10-18T20:51:18.249960387Z --- PASS: TestTagAndPushRejectsMissingSourceReference (0.00s) 2026-10-18T20:51:18.249972234Z === RUN TestExchangeRegistryAuth_Success 2026-10-18T20:51:18.249981186Z --- PASS: TestExchangeRegistryAuth_Success (0.00s) 2026-10-18T20:51:18.25000018Z === RUN TestExchangeRegistryAuth_VerifyAuthFails 2026-10-18T20:51:18.25001355Z --- PASS: TestExchangeRegistryAuth_VerifyAuthFails (0.00s) 2026-10-18T20:51:18.250025245Z === RUN TestExchangeRegistryAuth_TokenNotValid 2026-10-18T20:51:18.250038179Z --- PASS: TestExchangeRegistryAuth_TokenNotValid (0.00s) 2026-10-18T20:51:18.250050684Z === RUN TestIntegration_TagAndPush_NativeRegistry 2026-10-18T20:51:18.250059593Z === PAUSE TestIntegration_TagAndPush_NativeRegistry 2026-10-18T20:51:18.25007435Z === RUN TestResolveImageTarget_BareNameUsesTargetRegistry 2026-10-18T20:51:18.250086926Z === RUN TestResolveImageTarget_BareNameUsesTargetRegistry/bare_name 2026-10-18T20:51:18.250100511Z === RUN TestResolveImageTarget_BareNameUsesTargetRegistry/bare_name_with_tag 2026-10-18T20:51:18.250123068Z === RUN TestResolveImageTarget_BareNameUsesTargetRegistry/namespaced_name 2026-10-18T20:51:18.250135822Z === RUN TestResolveImageTarget_BareNameUsesTargetRegistry/bare_digest 2026-10-18T20:51:18.250145113Z --- PASS: TestResolveImageTarget_BareNameUsesTargetRegistry (0.00s) 2026-10-18T20:51:18.250170949Z --- PASS: TestResolveImageTarget_BareNameUsesTargetRegistry/bare_name (0.00s) 2026-10-18T20:51:18.250196016Z --- PASS: TestResolveImageTarget_BareNameUsesTargetRegistry/bare_name_with_tag (0.00s) 2026-10-18T20:51:18.250220115Z --- PASS: TestResolveImageTarget_BareNameUsesTargetRegistry/namespaced_name (0.00s) 2026-10-18T20:51:18.250243045Z --- PASS: TestResolveImageTarget_BareNameUsesTargetRegistry/bare_digest (0.00s) 2026-10-18T20:51:18.250254846Z === RUN TestResolveImageTarget_QualifiedRefMatchingTarget 2026-10-18T20:51:18.250264169Z --- PASS: TestResolveImageTarget_QualifiedRefMatchingTarget (0.00s) 2026-10-18T20:51:18.250272812Z === RUN TestResolveImageTarget_RejectsMismatchedRegistry 2026-10-18T20:51:18.250283644Z === RUN TestResolveImageTarget_RejectsMismatchedRegistry/other.example.org/myapp:v1 2026-10-18T20:51:18.250305486Z === RUN TestResolveImageTarget_RejectsMismatchedRegistry/reg.example.com:443/myapp:v1 2026-10-18T20:51:18.250318398Z --- PASS: TestResolveImageTarget_RejectsMismatchedRegistry (0.00s) 2026-10-18T20:51:18.250343618Z --- PASS: TestResolveImageTarget_RejectsMismatchedRegistry/other.example.org/myapp:v1 (0.00s) 2026-10-18T20:51:18.250372231Z --- PASS: TestResolveImageTarget_RejectsMismatchedRegistry/reg.example.com:443/myapp:v1 (0.00s) 2026-10-18T20:51:18.250386527Z === RUN TestTargetRegistryDomain_RemoteFallsBackToStatusForOlderServers 2026-10-18T20:51:18.250400152Z --- PASS: TestTargetRegistryDomain_RemoteFallsBackToStatusForOlderServers (0.00s) 2026-10-18T20:51:18.250419605Z === RUN TestTargetRegistryDomain_LocalSocketUsesStatus 2026-10-18T20:51:18.250443102Z --- PASS: TestTargetRegistryDomain_LocalSocketUsesStatus (0.00s) 2026-10-18T20:51:18.250454572Z === RUN TestTargetRegistryDomain_Errors 2026-10-18T20:51:18.250463465Z === RUN TestTargetRegistryDomain_Errors/verify_fails 2026-10-18T20:51:18.250472242Z === RUN TestTargetRegistryDomain_Errors/token_without_admin_scope 2026-10-18T20:51:18.250482783Z === RUN TestTargetRegistryDomain_Errors/token_invalid 2026-10-18T20:51:18.250491453Z === RUN TestTargetRegistryDomain_Errors/older_server_denies_status 2026-10-18T20:51:18.250500955Z === RUN TestTargetRegistryDomain_Errors/no_registry_domain_configured 2026-10-18T20:51:18.250512Z --- PASS: TestTargetRegistryDomain_Errors (0.00s) 2026-10-18T20:51:18.250536651Z --- PASS: TestTargetRegistryDomain_Errors/verify_fails (0.00s) 2026-10-18T20:51:18.250562095Z --- PASS: TestTargetRegistryDomain_Errors/token_without_admin_scope (0.00s) 2026-10-18T20:51:18.250583582Z --- PASS: TestTargetRegistryDomain_Errors/token_invalid (0.00s) 2026-10-18T20:51:18.250606127Z --- PASS: TestTargetRegistryDomain_Errors/older_server_denies_status (0.00s) 2026-10-18T20:51:18.250629323Z --- PASS: TestTargetRegistryDomain_Errors/no_registry_domain_configured (0.00s) 2026-10-18T20:51:18.250643114Z === RUN TestInferPushRemote_UsesUniqueMatchingSavedRemote 2026-10-18T20:51:18.25065926Z --- PASS: TestInferPushRemote_UsesUniqueMatchingSavedRemote (0.00s) 2026-10-18T20:51:18.250671686Z === RUN TestInferPushRemote_ReturnsAmbiguousErrorWhenMultipleRemotesMatch 2026-10-18T20:51:18.250681596Z --- PASS: TestInferPushRemote_ReturnsAmbiguousErrorWhenMultipleRemotesMatch (0.00s) 2026-10-18T20:51:18.250693902Z === RUN TestInferPushRemote_SkipsGuessWhenExplicitRemoteSelected 2026-10-18T20:51:18.250704063Z --- PASS: TestInferPushRemote_SkipsGuessWhenExplicitRemoteSelected (0.00s) 2026-10-18T20:51:18.250713029Z === RUN TestInferPushRemote_SkipsGuessWhenActiveRemoteConfigured 2026-10-18T20:51:18.250726539Z --- PASS: TestInferPushRemote_SkipsGuessWhenActiveRemoteConfigured (0.00s) 2026-10-18T20:51:18.25074003Z === RUN TestInferPushRemote_FailsSafeWhenSomeRemotesCannotBeProbed 2026-10-18T20:51:18.250751874Z --- PASS: TestInferPushRemote_FailsSafeWhenSomeRemotesCannotBeProbed (0.00s) 2026-10-18T20:51:18.250764463Z === RUN TestInferRemoteForRepository_ReturnsAmbiguousErrorWhenMultipleRemotesMatch 2026-10-18T20:51:18.250777229Z --- PASS: TestInferRemoteForRepository_ReturnsAmbiguousErrorWhenMultipleRemotesMatch (0.00s) 2026-10-18T20:51:18.25078493Z === RUN TestValidateBuildArg 2026-10-18T20:51:18.250791903Z === RUN TestValidateBuildArg/valid_simple 2026-10-18T20:51:18.250804682Z === RUN TestValidateBuildArg/valid_with_underscore_key 2026-10-18T20:51:18.250817506Z === RUN TestValidateBuildArg/valid_with_numbers_in_key 2026-10-18T20:51:18.250828502Z === RUN TestValidateBuildArg/valid_empty_value 2026-10-18T20:51:18.250841078Z === RUN TestValidateBuildArg/valid_complex_value 2026-10-18T20:51:18.250852103Z === RUN TestValidateBuildArg/invalid_no_equals 2026-10-18T20:51:18.250863625Z === RUN TestValidateBuildArg/invalid_starts_with_number 2026-10-18T20:51:18.250874515Z === RUN TestValidateBuildArg/invalid_starts_with_dash 2026-10-18T20:51:18.250887366Z === RUN TestValidateBuildArg/invalid_special_chars_in_key 2026-10-18T20:51:18.250898434Z === RUN TestValidateBuildArg/invalid_empty_string 2026-10-18T20:51:18.250909036Z === RUN TestValidateBuildArg/invalid_equals_only 2026-10-18T20:51:18.250919177Z --- PASS: TestValidateBuildArg (0.00s) 2026-10-18T20:51:18.250946834Z --- PASS: TestValidateBuildArg/valid_simple (0.00s) 2026-10-18T20:51:18.250961477Z --- PASS: TestValidateBuildArg/valid_with_underscore_key (0.00s) 2026-10-18T20:51:18.250974348Z --- PASS: TestValidateBuildArg/valid_with_numbers_in_key (0.00s) 2026-10-18T20:51:18.250996129Z --- PASS: TestValidateBuildArg/valid_empty_value (0.00s) 2026-10-18T20:51:18.251024533Z --- PASS: TestValidateBuildArg/valid_complex_value (0.00s) 2026-10-18T20:51:18.251047539Z --- PASS: TestValidateBuildArg/invalid_no_equals (0.00s) 2026-10-18T20:51:18.251070665Z --- PASS: TestValidateBuildArg/invalid_starts_with_number (0.00s) 2026-10-18T20:51:18.251090108Z --- PASS: TestValidateBuildArg/invalid_starts_with_dash (0.00s) 2026-10-18T20:51:18.251115707Z --- PASS: TestValidateBuildArg/invalid_special_chars_in_key (0.00s) 2026-10-18T20:51:18.251147771Z --- PASS: TestValidateBuildArg/invalid_empty_string (0.00s) 2026-10-18T20:51:18.251171681Z --- PASS: TestValidateBuildArg/invalid_equals_only (0.00s) 2026-10-18T20:51:18.251180328Z === RUN TestParseImageRef 2026-10-18T20:51:18.251188812Z === RUN TestParseImageRef/full_ref 2026-10-18T20:51:18.251205712Z === RUN TestParseImageRef/no_tag 2026-10-18T20:51:18.25121777Z === RUN TestParseImageRef/latest_tag 2026-10-18T20:51:18.251228644Z === RUN TestParseImageRef/no_slash 2026-10-18T20:51:18.251243865Z === RUN TestParseImageRef/namespace_without_registry_host 2026-10-18T20:51:18.251257262Z === RUN TestParseImageRef/localhost 2026-10-18T20:51:18.251268449Z === RUN TestParseImageRef/registry_with_port 2026-10-18T20:51:18.251282705Z === RUN TestParseImageRef/registry_with_namespace 2026-10-18T20:51:18.251295514Z --- PASS: TestParseImageRef (0.00s) 2026-10-18T20:51:18.251313753Z --- PASS: TestParseImageRef/full_ref (0.00s) 2026-10-18T20:51:18.251332684Z --- PASS: TestParseImageRef/no_tag (0.00s) 2026-10-18T20:51:18.251351373Z --- PASS: TestParseImageRef/latest_tag (0.00s) 2026-10-18T20:51:18.251376815Z --- PASS: TestParseImageRef/no_slash (0.00s) 2026-10-18T20:51:18.25139927Z --- PASS: TestParseImageRef/namespace_without_registry_host (0.00s) 2026-10-18T20:51:18.251425659Z --- PASS: TestParseImageRef/localhost (0.00s) 2026-10-18T20:51:18.251449143Z --- PASS: TestParseImageRef/registry_with_port (0.00s) 2026-10-18T20:51:18.251469368Z --- PASS: TestParseImageRef/registry_with_namespace (0.00s) 2026-10-18T20:51:18.251480279Z === RUN TestClassifyPushArgument 2026-10-18T20:51:18.251492886Z === RUN TestClassifyPushArgument/tagged_image_latest 2026-10-18T20:51:18.251504171Z === RUN TestClassifyPushArgument/tagged_image_semver 2026-10-18T20:51:18.251515234Z === RUN TestClassifyPushArgument/registry_qualified_image 2026-10-18T20:51:18.251527523Z === RUN TestClassifyPushArgument/registry_qualified_digest 2026-10-18T20:51:18.251551211Z === RUN TestClassifyPushArgument/legacy_domain 2026-10-18T20:51:18.251563759Z === RUN TestClassifyPushArgument/bare_image_name 2026-10-18T20:51:18.251573408Z --- PASS: TestClassifyPushArgument (0.00s) 2026-10-18T20:51:18.251590506Z --- PASS: TestClassifyPushArgument/tagged_image_latest (0.00s) 2026-10-18T20:51:18.251606935Z --- PASS: TestClassifyPushArgument/tagged_image_semver (0.00s) 2026-10-18T20:51:18.251628257Z --- PASS: TestClassifyPushArgument/registry_qualified_image (0.00s) 2026-10-18T20:51:18.251652075Z --- PASS: TestClassifyPushArgument/registry_qualified_digest (0.00s) 2026-10-18T20:51:18.251672355Z --- PASS: TestClassifyPushArgument/legacy_domain (0.00s) 2026-10-18T20:51:18.251692604Z --- PASS: TestClassifyPushArgument/bare_image_name (0.00s) 2026-10-18T20:51:18.251711166Z === RUN TestBuildAndPush_BuildArgs 2026-10-18T20:51:18.251722749Z --- PASS: TestBuildAndPush_BuildArgs (0.01s) 2026-10-18T20:51:18.251733806Z === RUN TestBuildImageArgsInjectsGitBuildArgs 2026-10-18T20:51:18.251746416Z --- PASS: TestBuildImageArgsInjectsGitBuildArgs (0.00s) 2026-10-18T20:51:18.251759437Z === RUN TestBuildImageArgsUserArgsOverrideDefaults 2026-10-18T20:51:18.25176897Z --- PASS: TestBuildImageArgsUserArgsOverrideDefaults (0.01s) 2026-10-18T20:51:18.251779134Z === RUN TestParseTagRef 2026-10-18T20:51:18.251789084Z === RUN TestParseTagRef/github_tag_ref 2026-10-18T20:51:18.251797359Z === RUN TestParseTagRef/peeled_tag_ref 2026-10-18T20:51:18.251802214Z === RUN TestParseTagRef/branch_ref 2026-10-18T20:51:18.251809817Z === RUN TestParseTagRef/empty 2026-10-18T20:51:18.251814844Z --- PASS: TestParseTagRef (0.00s) 2026-10-18T20:51:18.251827979Z --- PASS: TestParseTagRef/github_tag_ref (0.00s) 2026-10-18T20:51:18.251845643Z --- PASS: TestParseTagRef/peeled_tag_ref (0.00s) 2026-10-18T20:51:18.251863947Z --- PASS: TestParseTagRef/branch_ref (0.00s) 2026-10-18T20:51:18.25188889Z --- PASS: TestParseTagRef/empty (0.00s) 2026-10-18T20:51:18.251901581Z === RUN TestVersionFromTagRefs 2026-10-18T20:51:18.251914991Z === RUN TestVersionFromTagRefs/github_ref_tag 2026-10-18T20:51:18.251925243Z === RUN TestVersionFromTagRefs/github_ref_type_and_name 2026-10-18T20:51:18.251942691Z === RUN TestVersionFromTagRefs/gitlab_commit_tag 2026-10-18T20:51:18.251955424Z === RUN TestVersionFromTagRefs/azure_source_branch_tag_ref 2026-10-18T20:51:18.251966062Z === RUN TestVersionFromTagRefs/no_tag_refs 2026-10-18T20:51:18.251976775Z --- PASS: TestVersionFromTagRefs (0.00s) 2026-10-18T20:51:18.25199807Z --- PASS: TestVersionFromTagRefs/github_ref_tag (0.00s) 2026-10-18T20:51:18.25202052Z --- PASS: TestVersionFromTagRefs/github_ref_type_and_name (0.00s) 2026-10-18T20:51:18.25204118Z --- PASS: TestVersionFromTagRefs/gitlab_commit_tag (0.00s) 2026-10-18T20:51:18.252064163Z --- PASS: TestVersionFromTagRefs/azure_source_branch_tag_ref (0.00s) 2026-10-18T20:51:18.252084024Z --- PASS: TestVersionFromTagRefs/no_tag_refs (0.00s) 2026-10-18T20:51:18.252095583Z === RUN TestBuildImageArgs_CustomDockerfile 2026-10-18T20:51:18.252108149Z --- PASS: TestBuildImageArgs_CustomDockerfile (0.00s) 2026-10-18T20:51:18.252118356Z === RUN TestParseDockerfileLabels 2026-10-18T20:51:18.25212918Z === RUN TestParseDockerfileLabels/simple_label 2026-10-18T20:51:18.252139909Z === RUN TestParseDockerfileLabels/multiple_labels 2026-10-18T20:51:18.25215479Z === RUN TestParseDockerfileLabels/multi-label_on_one_line 2026-10-18T20:51:18.252167319Z === RUN TestParseDockerfileLabels/unquoted_value 2026-10-18T20:51:18.252180525Z === RUN TestParseDockerfileLabels/single-quoted_value 2026-10-18T20:51:18.252207073Z === RUN TestParseDockerfileLabels/non-gordon_labels_ignored 2026-10-18T20:51:18.252230935Z === RUN TestParseDockerfileLabels/comma-separated_domains 2026-10-18T20:51:18.252253227Z === RUN TestParseDockerfileLabels/no_labels 2026-10-18T20:51:18.252266385Z === RUN TestParseDockerfileLabels/comments_and_empty_lines 2026-10-18T20:51:18.252277831Z --- PASS: TestParseDockerfileLabels (0.00s) 2026-10-18T20:51:18.252300523Z --- PASS: TestParseDockerfileLabels/simple_label (0.00s) 2026-10-18T20:51:18.252322319Z --- PASS: TestParseDockerfileLabels/multiple_labels (0.00s) 2026-10-18T20:51:18.252363064Z --- PASS: TestParseDockerfileLabels/multi-label_on_one_line (0.00s) 2026-10-18T20:51:18.252386473Z --- PASS: TestParseDockerfileLabels/unquoted_value (0.00s) 2026-10-18T20:51:18.25241892Z --- PASS: TestParseDockerfileLabels/single-quoted_value (0.00s) 2026-10-18T20:51:18.2524518Z --- PASS: TestParseDockerfileLabels/non-gordon_labels_ignored (0.00s) 2026-10-18T20:51:18.252478978Z --- PASS: TestParseDockerfileLabels/comma-separated_domains (0.00s) 2026-10-18T20:51:18.252500217Z --- PASS: TestParseDockerfileLabels/no_labels (0.00s) 2026-10-18T20:51:18.252523839Z --- PASS: TestParseDockerfileLabels/comments_and_empty_lines (0.00s) 2026-10-18T20:51:18.252535237Z === RUN TestParseDockerfileLabels_NonExistent 2026-10-18T20:51:18.252551332Z --- PASS: TestParseDockerfileLabels_NonExistent (0.00s) 2026-10-18T20:51:18.252562932Z === RUN TestDetectImageName_FromDockerfileLabels 2026-10-18T20:51:18.252571598Z --- PASS: TestDetectImageName_FromDockerfileLabels (0.00s) 2026-10-18T20:51:18.252579513Z === RUN TestDetectImageName_FallbackToDir 2026-10-18T20:51:18.252589676Z --- PASS: TestDetectImageName_FallbackToDir (0.00s) 2026-10-18T20:51:18.252599824Z === RUN TestSplitLabelPairs 2026-10-18T20:51:18.252610811Z === RUN TestSplitLabelPairs/single_pair 2026-10-18T20:51:18.252636389Z === RUN TestSplitLabelPairs/two_pairs 2026-10-18T20:51:18.252650158Z === RUN TestSplitLabelPairs/unquoted 2026-10-18T20:51:18.252661782Z === RUN TestSplitLabelPairs/quoted_with_spaces_in_value 2026-10-18T20:51:18.252675902Z --- PASS: TestSplitLabelPairs (0.00s) 2026-10-18T20:51:18.252690413Z --- PASS: TestSplitLabelPairs/single_pair (0.00s) 2026-10-18T20:51:18.252704296Z --- PASS: TestSplitLabelPairs/two_pairs (0.00s) 2026-10-18T20:51:18.25272743Z --- PASS: TestSplitLabelPairs/unquoted (0.00s) 2026-10-18T20:51:18.25275211Z --- PASS: TestSplitLabelPairs/quoted_with_spaces_in_value (0.00s) 2026-10-18T20:51:18.252768746Z === RUN TestGetGitVersionNoTagsReturnsFallbackAndWarns 2026-10-18T20:51:18.252782051Z --- PASS: TestGetGitVersionNoTagsReturnsFallbackAndWarns (0.01s) 2026-10-18T20:51:18.25279303Z === RUN TestParseLabelPair 2026-10-18T20:51:18.25280537Z === RUN TestParseLabelPair/quoted 2026-10-18T20:51:18.252816742Z === RUN TestParseLabelPair/unquoted 2026-10-18T20:51:18.252827287Z === RUN TestParseLabelPair/single_quoted 2026-10-18T20:51:18.252837363Z === RUN TestParseLabelPair/empty_value 2026-10-18T20:51:18.252853568Z === RUN TestParseLabelPair/no_equals 2026-10-18T20:51:18.252861691Z --- PASS: TestParseLabelPair (0.00s) 2026-10-18T20:51:18.252878843Z --- PASS: TestParseLabelPair/quoted (0.00s) 2026-10-18T20:51:18.252897541Z --- PASS: TestParseLabelPair/unquoted (0.00s) 2026-10-18T20:51:18.252914042Z --- PASS: TestParseLabelPair/single_quoted (0.00s) 2026-10-18T20:51:18.25292801Z --- PASS: TestParseLabelPair/empty_value (0.00s) 2026-10-18T20:51:18.252941553Z --- PASS: TestParseLabelPair/no_equals (0.00s) 2026-10-18T20:51:18.252949399Z === RUN TestTLSStatus_HumanOutput 2026-10-18T20:51:18.25296624Z tls_test.go:58: Human output: 2026-10-18T20:51:18.252986336Z Public TLS / ACME Status 2026-10-18T20:51:18.253004588Z ACME: enabled 2026-10-18T20:51:18.253023081Z Configured Mode: acme 2026-10-18T20:51:18.253044793Z Effective Mode: acme-staging 2026-10-18T20:51:18.253062459Z Reason: configured 2026-10-18T20:51:18.253079339Z Token Source: env 2026-10-18T20:51:18.253096486Z 2026-10-18T20:51:18.253114007Z Certificates 2026-10-18T20:51:18.253132387Z ID: cert-abc123 2026-10-18T20:51:18.253158467Z Names: example.com, www.example.com 2026-10-18T20:51:18.253172497Z Status: valid 2026-10-18T20:51:18.253190203Z Not After: 2026-05-29 12:00:00 2026-10-18T20:51:18.253198418Z 2026-10-18T20:51:18.253211759Z Route Coverage 2026-10-18T20:51:18.253241316Z example.com covered=yes covered_by=cert-abc123 2026-10-18T20:51:18.253270299Z internal.local covered=no error=self-signed cert 2026-10-18T20:51:18.253282735Z 2026-10-18T20:51:18.253299448Z Errors 2026-10-18T20:51:18.253330103Z route internal.local has no ACME cert 2026-10-18T20:51:18.253366812Z 2026-10-18T20:51:18.253377066Z --- PASS: TestTLSStatus_HumanOutput (0.00s) 2026-10-18T20:51:18.253387011Z === RUN TestTLSStatus_JSONOutput 2026-10-18T20:51:18.25339556Z --- PASS: TestTLSStatus_JSONOutput (0.00s) 2026-10-18T20:51:18.253403328Z === RUN TestTrafficCommandExists 2026-10-18T20:51:18.253410643Z --- PASS: TestTrafficCommandExists (0.00s) 2026-10-18T20:51:18.253423547Z === RUN TestTrafficStatusRejectsArgs 2026-10-18T20:51:18.253437459Z --- PASS: TestTrafficStatusRejectsArgs (0.00s) 2026-10-18T20:51:18.253451933Z === RUN TestTrafficStatusHumanOutput 2026-10-18T20:51:18.253467826Z --- PASS: TestTrafficStatusHumanOutput (0.00s) 2026-10-18T20:51:18.253482051Z === RUN TestTrafficStatusJSONOutput 2026-10-18T20:51:18.253495558Z --- PASS: TestTrafficStatusJSONOutput (0.00s) 2026-10-18T20:51:18.253517946Z === RUN TestRunTrafficStatusUsesControlPlane 2026-10-18T20:51:18.25352511Z --- PASS: TestRunTrafficStatusUsesControlPlane (0.00s) 2026-10-18T20:51:18.2535331Z === RUN TestRemoteTrafficStatusControlPlaneStillRenders 2026-10-18T20:51:18.253541372Z --- PASS: TestRemoteTrafficStatusControlPlaneStillRenders (0.00s) 2026-10-18T20:51:18.253548746Z === RUN TestPresentationHelpers 2026-10-18T20:51:18.253556069Z --- PASS: TestPresentationHelpers (0.00s) 2026-10-18T20:51:18.25356323Z === RUN TestUIAdoptionRuntimeSeams 2026-10-18T20:51:18.253571072Z --- PASS: TestUIAdoptionRuntimeSeams (0.00s) 2026-10-18T20:51:18.25357823Z === RUN TestRunVolumesList_ShowsVolumes 2026-10-18T20:51:18.253586054Z --- PASS: TestRunVolumesList_ShowsVolumes (0.00s) 2026-10-18T20:51:18.253591045Z === RUN TestRunVolumesList_JSON 2026-10-18T20:51:18.253595777Z --- PASS: TestRunVolumesList_JSON (0.00s) 2026-10-18T20:51:18.253600873Z === RUN TestRunVolumesPrune_JSONExecutesActualPrune 2026-10-18T20:51:18.25360747Z --- PASS: TestRunVolumesPrune_JSONExecutesActualPrune (0.00s) 2026-10-18T20:51:18.253612259Z === RUN TestRunVolumesPrune_DryRun 2026-10-18T20:51:18.253616979Z --- PASS: TestRunVolumesPrune_DryRun (0.00s) 2026-10-18T20:51:18.253621833Z === CONT TestIntegration_TagAndPush_NativeRegistry 2026-10-18T20:51:18.253631652Z 2026-10-18T20:51:17Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_TagAndPush_NativeRegistry464249681/001 2026-10-18T20:51:18.253643447Z 2026-10-18T20:51:17Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_TagAndPush_NativeRegistry464249681/001 2026-10-18T20:51:18.253657873Z 2026-10-18T20:51:17Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=e8383d3c-d8bb-45f4-82fc-17c991b07994 2026-10-18T20:51:18.253679239Z 2026-10-18T20:51:17Z INF blob upload finished adapter=filesystem digest=sha256:f6d90a413d270efeaef147f057850b7d3bba9dd28dfba1cacf6e930a182b9e73 layer=adapter name=testapp uuid=e8383d3c-d8bb-45f4-82fc-17c991b07994 2026-10-18T20:51:18.25369504Z 2026-10-18T20:51:17Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=8541d35c-d839-4310-b72f-6c5ff0afdb56 2026-10-18T20:51:18.253712134Z 2026-10-18T20:51:17Z INF blob upload finished adapter=filesystem digest=sha256:422a5dd7f9c5f6ceecaa6db41438c74c52490bb49e8320a2e333a85b6d89a3d5 layer=adapter name=testapp uuid=8541d35c-d839-4310-b72f-6c5ff0afdb56 2026-10-18T20:51:18.253727955Z 2026-10-18T20:51:17Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:51:18.253742456Z 2026-10-18T20:51:17Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=latest 2026-10-18T20:51:18.253750752Z --- PASS: TestIntegration_TagAndPush_NativeRegistry (0.04s) 2026-10-18T20:51:18.25375712Z PASS 2026-10-18T20:51:18.253765049Z ok github.com/bnema/gordon/internal/adapters/in/cli 1.295s 2026-10-18T20:51:18.2537713Z ? github.com/bnema/gordon/internal/adapters/in/cli/mocks [no test files] 2026-10-18T20:51:20.321007062Z === RUN TestClientApplyApp_SendsIdempotencyKey 2026-10-18T20:51:20.321057761Z --- PASS: TestClientApplyApp_SendsIdempotencyKey (0.00s) 2026-10-18T20:51:20.321073782Z === RUN TestClientDeployApp_GatewayErrorIsOutcomeUnknownWithoutReplay 2026-10-18T20:51:20.321135152Z --- PASS: TestClientDeployApp_GatewayErrorIsOutcomeUnknownWithoutReplay (0.00s) 2026-10-18T20:51:20.321169055Z === RUN TestClientOperationByKey_RecoveryPath 2026-10-18T20:51:20.321182031Z --- PASS: TestClientOperationByKey_RecoveryPath (0.00s) 2026-10-18T20:51:20.321200042Z === RUN TestClientLifecycle_MutationsCarryKeys 2026-10-18T20:51:20.321225891Z --- PASS: TestClientLifecycle_MutationsCarryKeys (0.00s) 2026-10-18T20:51:20.321237917Z === RUN TestClientRestartApp_SendsServiceScope 2026-10-18T20:51:20.321248034Z --- PASS: TestClientRestartApp_SendsServiceScope (0.00s) 2026-10-18T20:51:20.321264232Z === RUN TestClientDeployApp_AcceptedRunningJournal 2026-10-18T20:51:20.32127956Z --- PASS: TestClientDeployApp_AcceptedRunningJournal (0.00s) 2026-10-18T20:51:20.321291582Z === RUN TestClientDeployApp_ConflictDecodesJournal 2026-10-18T20:51:20.321311206Z --- PASS: TestClientDeployApp_ConflictDecodesJournal (0.00s) 2026-10-18T20:51:20.321326439Z === RUN TestClientStopApp_ConflictDecodesJournal 2026-10-18T20:51:20.321337883Z --- PASS: TestClientStopApp_ConflictDecodesJournal (0.00s) 2026-10-18T20:51:20.321355291Z === RUN TestClientDeployApp_ConflictWithoutJournalFallsBackToHTTPError 2026-10-18T20:51:20.321369837Z --- PASS: TestClientDeployApp_ConflictWithoutJournalFallsBackToHTTPError (0.00s) 2026-10-18T20:51:20.321385612Z === RUN TestClientListAppSecrets_ServiceFilterAndErrorContext 2026-10-18T20:51:20.321400957Z --- PASS: TestClientListAppSecrets_ServiceFilterAndErrorContext (0.00s) 2026-10-18T20:51:20.321418726Z === RUN TestClientReloadDoesNotRetryGatewayResponse 2026-10-18T20:51:20.321436993Z --- PASS: TestClientReloadDoesNotRetryGatewayResponse (0.00s) 2026-10-18T20:51:20.321454799Z === RUN TestClientGetStatusDoesNotRetryAuthenticationRejection 2026-10-18T20:51:20.321469167Z --- PASS: TestClientGetStatusDoesNotRetryAuthenticationRejection (0.00s) 2026-10-18T20:51:20.32148291Z === RUN TestClientGetStatusRetriesTransientGatewayResponse 2026-10-18T20:51:20.321511713Z --- PASS: TestClientGetStatusRetriesTransientGatewayResponse (0.03s) 2026-10-18T20:51:20.321540648Z === RUN TestClientGetStatusRetriesTransientTransportFailure 2026-10-18T20:51:20.321567435Z --- PASS: TestClientGetStatusRetriesTransientTransportFailure (0.03s) 2026-10-18T20:51:20.321594167Z === RUN TestClientGetStatusReportsTransportContextAfterRetryExhaustion 2026-10-18T20:51:20.321619252Z --- PASS: TestClientGetStatusReportsTransportContextAfterRetryExhaustion (0.03s) 2026-10-18T20:51:20.321637565Z === RUN TestClientWithInsecureTLS_AllowsSelfSignedCertificate 2026-10-18T20:51:20.321662795Z 2026/10/18 20:51:17 http: TLS handshake error from 127.0.0.1:33162: remote error: tls: bad certificate 2026-10-18T20:51:20.32169014Z 2026/10/18 20:51:17 http: TLS handshake error from 127.0.0.1:33168: remote error: tls: bad certificate 2026-10-18T20:51:20.321712664Z 2026/10/18 20:51:18 http: TLS handshake error from 127.0.0.1:33176: remote error: tls: bad certificate 2026-10-18T20:51:20.321728312Z WARNING: TLS certificate verification disabled for https://127.0.0.1:32869 2026-10-18T20:51:20.321745163Z 2026/10/18 20:51:19 http: TLS handshake error from 127.0.0.1:33190: remote error: tls: bad certificate 2026-10-18T20:51:20.321759428Z --- PASS: TestClientWithInsecureTLS_AllowsSelfSignedCertificate (1.88s) 2026-10-18T20:51:20.321778072Z === RUN TestClientGetTrafficStatus 2026-10-18T20:51:20.321800911Z --- PASS: TestClientGetTrafficStatus (0.00s) 2026-10-18T20:51:20.321815782Z === RUN TestClientGetCA 2026-10-18T20:51:20.321827594Z --- PASS: TestClientGetCA (0.00s) 2026-10-18T20:51:20.321836043Z === RUN TestClientGetCADisabled 2026-10-18T20:51:20.321844284Z --- PASS: TestClientGetCADisabled (0.00s) 2026-10-18T20:51:20.321855431Z === RUN TestClientGetTLSStatus 2026-10-18T20:51:20.321867136Z --- PASS: TestClientGetTLSStatus (0.00s) 2026-10-18T20:51:20.321878381Z === RUN TestClientListImages 2026-10-18T20:51:20.321891459Z --- PASS: TestClientListImages (0.00s) 2026-10-18T20:51:20.321905726Z === RUN TestClientPruneImages 2026-10-18T20:51:20.321915072Z --- PASS: TestClientPruneImages (0.00s) 2026-10-18T20:51:20.321924307Z === RUN TestParseResponse_CapsErrorBodySize 2026-10-18T20:51:20.321937318Z --- PASS: TestParseResponse_CapsErrorBodySize (0.02s) 2026-10-18T20:51:20.321950785Z === RUN TestStreamLogs_CapsErrorBodySize 2026-10-18T20:51:20.321959753Z --- PASS: TestStreamLogs_CapsErrorBodySize (0.03s) 2026-10-18T20:51:20.321973206Z === RUN TestRequestWithRetry_CapsErrorBodySize 2026-10-18T20:51:20.321986336Z --- PASS: TestRequestWithRetry_CapsErrorBodySize (0.03s) 2026-10-18T20:51:20.322002019Z === RUN TestExchangeRegistryToken_Success 2026-10-18T20:51:20.322015918Z --- PASS: TestExchangeRegistryToken_Success (0.00s) 2026-10-18T20:51:20.32203036Z === RUN TestExchangeRegistryToken_Unauthorized 2026-10-18T20:51:20.322041833Z --- PASS: TestExchangeRegistryToken_Unauthorized (0.00s) 2026-10-18T20:51:20.322050521Z === RUN TestExchangeRegistryToken_EmptyToken 2026-10-18T20:51:20.322064179Z --- PASS: TestExchangeRegistryToken_EmptyToken (0.00s) 2026-10-18T20:51:20.322078727Z === RUN TestHTTPError_ErrorString 2026-10-18T20:51:20.322107786Z --- PASS: TestHTTPError_ErrorString (0.00s) 2026-10-18T20:51:20.322127158Z === RUN TestHTTPError_Unwrap 2026-10-18T20:51:20.32214247Z --- PASS: TestHTTPError_Unwrap (0.00s) 2026-10-18T20:51:20.32215746Z === RUN TestParseErrorResponse_ReturnsHTTPError 2026-10-18T20:51:20.322171155Z --- PASS: TestParseErrorResponse_ReturnsHTTPError (0.00s) 2026-10-18T20:51:20.322189555Z === RUN TestParseErrorResponse_AppErrorMessage 2026-10-18T20:51:20.322205729Z --- PASS: TestParseErrorResponse_AppErrorMessage (0.00s) 2026-10-18T20:51:20.322219485Z === RUN TestParseErrorResponse_DeployFailureFields 2026-10-18T20:51:20.322234523Z --- PASS: TestParseErrorResponse_DeployFailureFields (0.00s) 2026-10-18T20:51:20.322248064Z === RUN TestParseErrorResponse_ErrorOnlyJSONNotStructured 2026-10-18T20:51:20.322266164Z --- PASS: TestParseErrorResponse_ErrorOnlyJSONNotStructured (0.00s) 2026-10-18T20:51:20.32228404Z === RUN TestParseErrorResponse_NonJSON 2026-10-18T20:51:20.322297603Z --- PASS: TestParseErrorResponse_NonJSON (0.00s) 2026-10-18T20:51:20.322313072Z === RUN TestRunVolumeBackups_PartialContentReturnsResultAndError 2026-10-18T20:51:20.322326856Z --- PASS: TestRunVolumeBackups_PartialContentReturnsResultAndError (0.00s) 2026-10-18T20:51:20.322344434Z === RUN TestExchangeRegistryToken_AccessTokenFallback 2026-10-18T20:51:20.322365444Z --- PASS: TestExchangeRegistryToken_AccessTokenFallback (0.00s) 2026-10-18T20:51:20.322379843Z === RUN TestLocalAdminDiscoveryRejectsUnsafeSelectedCandidate 2026-10-18T20:51:20.322393738Z --- PASS: TestLocalAdminDiscoveryRejectsUnsafeSelectedCandidate (0.00s) 2026-10-18T20:51:20.32240885Z === RUN TestLocalAdminDiscoveryReportsUnavailable 2026-10-18T20:51:20.322426124Z --- PASS: TestLocalAdminDiscoveryReportsUnavailable (0.00s) 2026-10-18T20:51:20.322447135Z === RUN TestLocalAdminDiscoveryUsesXDGCandidates 2026-10-18T20:51:20.322462551Z --- PASS: TestLocalAdminDiscoveryUsesXDGCandidates (0.00s) 2026-10-18T20:51:20.32247597Z === RUN TestLocalAdminClientFailsWithoutSocket 2026-10-18T20:51:20.322494461Z --- PASS: TestLocalAdminClientFailsWithoutSocket (0.00s) 2026-10-18T20:51:20.322522312Z === RUN TestLocalAdminClientSendsNoTokenAndNoExchange 2026-10-18T20:51:20.322540025Z --- PASS: TestLocalAdminClientSendsNoTokenAndNoExchange (0.10s) 2026-10-18T20:51:20.3225641Z === RUN TestLocalAdminClientIgnoresEnvironmentProxy 2026-10-18T20:51:20.322584127Z --- PASS: TestLocalAdminClientIgnoresEnvironmentProxy (0.00s) 2026-10-18T20:51:20.322608938Z === RUN TestLocalAdminClientRejectsRedirects 2026-10-18T20:51:20.322632167Z --- PASS: TestLocalAdminClientRejectsRedirects (0.00s) 2026-10-18T20:51:20.322654249Z === RUN TestLocalAdminClientRespectsCancellation 2026-10-18T20:51:20.322676604Z --- PASS: TestLocalAdminClientRespectsCancellation (0.00s) 2026-10-18T20:51:20.322699661Z === RUN TestLocalAdminClientFailsOnMissingSocket 2026-10-18T20:51:20.322721628Z --- PASS: TestLocalAdminClientFailsOnMissingSocket (0.00s) 2026-10-18T20:51:20.32274409Z === RUN TestLocalAdminTransportDialsUnixOnly 2026-10-18T20:51:20.322766078Z --- PASS: TestLocalAdminTransportDialsUnixOnly (0.00s) 2026-10-18T20:51:20.322786063Z === RUN TestMigrateClientConfig 2026-10-18T20:51:20.322818712Z Notice: migrated [client] config from gordon.toml to 'default' remote. The [client] section is deprecated; use 'gordon remotes' instead. 2026-10-18T20:51:20.322841167Z --- PASS: TestMigrateClientConfig (0.00s) 2026-10-18T20:51:20.322862405Z === RUN TestMigrateClientConfig_NoOverwrite 2026-10-18T20:51:20.322885118Z --- PASS: TestMigrateClientConfig_NoOverwrite (0.00s) 2026-10-18T20:51:20.322905517Z === RUN TestMigrateClientConfig_SkipsLocalMode 2026-10-18T20:51:20.322928231Z --- PASS: TestMigrateClientConfig_SkipsLocalMode (0.00s) 2026-10-18T20:51:20.322948964Z === RUN TestValidateRemoteName 2026-10-18T20:51:20.322969961Z === RUN TestValidateRemoteName/valid_simple 2026-10-18T20:51:20.322981273Z === RUN TestValidateRemoteName/valid_with_dots 2026-10-18T20:51:20.322996377Z === RUN TestValidateRemoteName/valid_with_dashes 2026-10-18T20:51:20.323006526Z === RUN TestValidateRemoteName/valid_with_underscore 2026-10-18T20:51:20.323016212Z === RUN TestValidateRemoteName/invalid_slash 2026-10-18T20:51:20.323025864Z === RUN TestValidateRemoteName/invalid_dotdot 2026-10-18T20:51:20.323046086Z === RUN TestValidateRemoteName/invalid_space 2026-10-18T20:51:20.323064272Z === RUN TestValidateRemoteName/empty 2026-10-18T20:51:20.323079902Z === RUN TestValidateRemoteName/leading_dot 2026-10-18T20:51:20.323091928Z === RUN TestValidateRemoteName/trailing_dot 2026-10-18T20:51:20.323106247Z === RUN TestValidateRemoteName/only_dots 2026-10-18T20:51:20.32312348Z === RUN TestValidateRemoteName/only_dashes 2026-10-18T20:51:20.323140954Z === RUN TestValidateRemoteName/very_long_name 2026-10-18T20:51:20.323156029Z --- PASS: TestValidateRemoteName (0.00s) 2026-10-18T20:51:20.323186238Z --- PASS: TestValidateRemoteName/valid_simple (0.00s) 2026-10-18T20:51:20.323230827Z --- PASS: TestValidateRemoteName/valid_with_dots (0.00s) 2026-10-18T20:51:20.323261255Z --- PASS: TestValidateRemoteName/valid_with_dashes (0.00s) 2026-10-18T20:51:20.323298078Z --- PASS: TestValidateRemoteName/valid_with_underscore (0.00s) 2026-10-18T20:51:20.323324388Z --- PASS: TestValidateRemoteName/invalid_slash (0.00s) 2026-10-18T20:51:20.323352486Z --- PASS: TestValidateRemoteName/invalid_dotdot (0.00s) 2026-10-18T20:51:20.323381589Z --- PASS: TestValidateRemoteName/invalid_space (0.00s) 2026-10-18T20:51:20.323410365Z --- PASS: TestValidateRemoteName/empty (0.00s) 2026-10-18T20:51:20.323440232Z --- PASS: TestValidateRemoteName/leading_dot (0.00s) 2026-10-18T20:51:20.323464779Z --- PASS: TestValidateRemoteName/trailing_dot (0.00s) 2026-10-18T20:51:20.323481093Z --- PASS: TestValidateRemoteName/only_dots (0.00s) 2026-10-18T20:51:20.323500642Z --- PASS: TestValidateRemoteName/only_dashes (0.00s) 2026-10-18T20:51:20.323525857Z --- PASS: TestValidateRemoteName/very_long_name (0.00s) 2026-10-18T20:51:20.323542052Z === RUN TestResolve_FlagNameLookup 2026-10-18T20:51:20.323558473Z --- PASS: TestResolve_FlagNameLookup (0.00s) 2026-10-18T20:51:20.323573135Z === RUN TestResolve_FlagURLPassthrough 2026-10-18T20:51:20.323588409Z --- PASS: TestResolve_FlagURLPassthrough (0.00s) 2026-10-18T20:51:20.323604021Z === RUN TestResolve_ActiveRemoteFallback 2026-10-18T20:51:20.32362034Z --- PASS: TestResolve_ActiveRemoteFallback (0.00s) 2026-10-18T20:51:20.323635624Z === RUN TestResolve_NoRemote_LocalMode 2026-10-18T20:51:20.32364979Z --- PASS: TestResolve_NoRemote_LocalMode (0.00s) 2026-10-18T20:51:20.323665157Z === RUN TestResolve_EnvRemoteName 2026-10-18T20:51:20.323679761Z --- PASS: TestResolve_EnvRemoteName (0.00s) 2026-10-18T20:51:20.323694224Z === RUN TestResolve_EnvRemoteURL 2026-10-18T20:51:20.323709262Z --- PASS: TestResolve_EnvRemoteURL (0.00s) 2026-10-18T20:51:20.323724528Z === RUN TestResolve_FlagTokenOverridesStored 2026-10-18T20:51:20.323740707Z --- PASS: TestResolve_FlagTokenOverridesStored (0.00s) 2026-10-18T20:51:20.323755431Z === RUN TestResolve_EnvTokenOverridesStored 2026-10-18T20:51:20.32376988Z --- PASS: TestResolve_EnvTokenOverridesStored (0.00s) 2026-10-18T20:51:20.323785201Z === RUN TestResolve_InsecureTLSFlag 2026-10-18T20:51:20.32380092Z --- PASS: TestResolve_InsecureTLSFlag (0.00s) 2026-10-18T20:51:20.323815775Z === RUN TestResolve_InsecureTLSFromEntry 2026-10-18T20:51:20.323831653Z --- PASS: TestResolve_InsecureTLSFromEntry (0.00s) 2026-10-18T20:51:20.323846847Z === RUN TestResolve_TokenEnvVar 2026-10-18T20:51:20.32386197Z --- PASS: TestResolve_TokenEnvVar (0.00s) 2026-10-18T20:51:20.323877525Z === RUN TestResolve_UnknownNameReturnsNotFound 2026-10-18T20:51:20.323893113Z --- PASS: TestResolve_UnknownNameReturnsNotFound (0.00s) 2026-10-18T20:51:20.323910056Z === RUN TestResolveStrict_UnknownFlagRemoteWrapsErrRemoteNotFound 2026-10-18T20:51:20.323927708Z --- PASS: TestResolveStrict_UnknownFlagRemoteWrapsErrRemoteNotFound (0.00s) 2026-10-18T20:51:20.323945086Z === RUN TestResolveStrict_LoadRemotesErrorIsReturned 2026-10-18T20:51:20.323961767Z --- PASS: TestResolveStrict_LoadRemotesErrorIsReturned (0.00s) 2026-10-18T20:51:20.323974363Z PASS 2026-10-18T20:51:20.323985509Z ok github.com/bnema/gordon/internal/adapters/in/cli/remote 3.220s 2026-10-18T20:51:20.323995184Z === RUN TestStatusIcon_ReturnsStyledIcon 2026-10-18T20:51:20.324011622Z === RUN TestStatusIcon_ReturnsStyledIcon/success_renders_without_error 2026-10-18T20:51:20.324022596Z === RUN TestStatusIcon_ReturnsStyledIcon/running_renders_without_error 2026-10-18T20:51:20.324032854Z === RUN TestStatusIcon_ReturnsStyledIcon/error_renders_without_error 2026-10-18T20:51:20.324042791Z === RUN TestStatusIcon_ReturnsStyledIcon/stopped_renders_without_error 2026-10-18T20:51:20.324052597Z === RUN TestStatusIcon_ReturnsStyledIcon/exited_renders_without_error 2026-10-18T20:51:20.324062893Z === RUN TestStatusIcon_ReturnsStyledIcon/unknown_renders_without_error 2026-10-18T20:51:20.324072789Z === RUN TestStatusIcon_ReturnsStyledIcon/pending_renders_without_error 2026-10-18T20:51:20.324082591Z --- PASS: TestStatusIcon_ReturnsStyledIcon (0.00s) 2026-10-18T20:51:20.324109397Z --- PASS: TestStatusIcon_ReturnsStyledIcon/success_renders_without_error (0.00s) 2026-10-18T20:51:20.324130153Z --- PASS: TestStatusIcon_ReturnsStyledIcon/running_renders_without_error (0.00s) 2026-10-18T20:51:20.32414937Z --- PASS: TestStatusIcon_ReturnsStyledIcon/error_renders_without_error (0.00s) 2026-10-18T20:51:20.32416891Z --- PASS: TestStatusIcon_ReturnsStyledIcon/stopped_renders_without_error (0.00s) 2026-10-18T20:51:20.324187915Z --- PASS: TestStatusIcon_ReturnsStyledIcon/exited_renders_without_error (0.00s) 2026-10-18T20:51:20.32420803Z --- PASS: TestStatusIcon_ReturnsStyledIcon/unknown_renders_without_error (0.00s) 2026-10-18T20:51:20.324227324Z --- PASS: TestStatusIcon_ReturnsStyledIcon/pending_renders_without_error (0.00s) 2026-10-18T20:51:20.324237065Z === RUN TestStatusIcon_DifferentStatusesProduceDifferentOutput 2026-10-18T20:51:20.324246955Z --- PASS: TestStatusIcon_DifferentStatusesProduceDifferentOutput (0.00s) 2026-10-18T20:51:20.324256556Z === RUN TestTableRender_AppliesConfiguredColumnWidth 2026-10-18T20:51:20.324266837Z --- PASS: TestTableRender_AppliesConfiguredColumnWidth (0.00s) 2026-10-18T20:51:20.324277402Z === RUN TestTableRender_TruncatesLongCellTextWithEllipsis 2026-10-18T20:51:20.324292763Z --- PASS: TestTableRender_TruncatesLongCellTextWithEllipsis (0.00s) 2026-10-18T20:51:20.324309843Z === RUN TestTruncateCell_LeavesShortTextUnchanged 2026-10-18T20:51:20.32432541Z --- PASS: TestTruncateCell_LeavesShortTextUnchanged (0.00s) 2026-10-18T20:51:20.324335278Z === RUN TestTruncateCell_EdgeCases 2026-10-18T20:51:20.324344933Z === RUN TestTruncateCell_EdgeCases/zero_width_passthrough 2026-10-18T20:51:20.324354395Z === RUN TestTruncateCell_EdgeCases/width_three_all_dots 2026-10-18T20:51:20.324364075Z === RUN TestTruncateCell_EdgeCases/ascii_truncates 2026-10-18T20:51:20.32437378Z === RUN TestTruncateCell_EdgeCases/cjk_truncates_by_display_width 2026-10-18T20:51:20.324383582Z === RUN TestTruncateCell_EdgeCases/grapheme-safe_emoji_truncation 2026-10-18T20:51:20.32439404Z --- PASS: TestTruncateCell_EdgeCases (0.01s) 2026-10-18T20:51:20.324411736Z --- PASS: TestTruncateCell_EdgeCases/zero_width_passthrough (0.00s) 2026-10-18T20:51:20.324429085Z --- PASS: TestTruncateCell_EdgeCases/width_three_all_dots (0.00s) 2026-10-18T20:51:20.324446282Z --- PASS: TestTruncateCell_EdgeCases/ascii_truncates (0.00s) 2026-10-18T20:51:20.324465207Z --- PASS: TestTruncateCell_EdgeCases/cjk_truncates_by_display_width (0.01s) 2026-10-18T20:51:20.324489368Z --- PASS: TestTruncateCell_EdgeCases/grapheme-safe_emoji_truncation (0.00s) 2026-10-18T20:51:20.32450379Z === RUN TestTruncateCell_AnsiInputPassthrough 2026-10-18T20:51:20.324513875Z --- PASS: TestTruncateCell_AnsiInputPassthrough (0.00s) 2026-10-18T20:51:20.324523295Z === RUN TestTree_SingleNodeNoChildren 2026-10-18T20:51:20.32453281Z --- PASS: TestTree_SingleNodeNoChildren (0.00s) 2026-10-18T20:51:20.32453996Z === RUN TestTree_NodeWithOneChild 2026-10-18T20:51:20.324549797Z --- PASS: TestTree_NodeWithOneChild (0.00s) 2026-10-18T20:51:20.324558997Z === RUN TestTree_NodeWithMultipleChildren 2026-10-18T20:51:20.324568493Z --- PASS: TestTree_NodeWithMultipleChildren (0.00s) 2026-10-18T20:51:20.324575457Z === RUN TestTree_GroupWithNodes 2026-10-18T20:51:20.324584323Z --- PASS: TestTree_GroupWithNodes (0.00s) 2026-10-18T20:51:20.324593279Z === RUN TestTree_MixedNodesAndGroups 2026-10-18T20:51:20.32460299Z --- PASS: TestTree_MixedNodesAndGroups (0.00s) 2026-10-18T20:51:20.324784383Z === RUN TestTree_EmptyTreeRendersEmpty 2026-10-18T20:51:20.324796455Z --- PASS: TestTree_EmptyTreeRendersEmpty (0.00s) 2026-10-18T20:51:20.324802675Z === RUN TestTree_NodeWithChildSubtitleIndented 2026-10-18T20:51:20.324808653Z --- PASS: TestTree_NodeWithChildSubtitleIndented (0.00s) 2026-10-18T20:51:20.324815034Z === RUN TestTree_GroupNodeWithChild 2026-10-18T20:51:20.324824085Z --- PASS: TestTree_GroupNodeWithChild (0.00s) 2026-10-18T20:51:20.324828868Z PASS 2026-10-18T20:51:20.324835899Z ok github.com/bnema/gordon/internal/adapters/in/cli/ui/components 1.024s 2026-10-18T20:51:20.324842823Z ? github.com/bnema/gordon/internal/adapters/in/cli/ui/styles [no test files] 2026-10-18T20:51:20.324850412Z === RUN TestHandlerServesGETChallenge 2026-10-18T20:51:20.324864791Z --- PASS: TestHandlerServesGETChallenge (0.00s) 2026-10-18T20:51:20.32487041Z === RUN TestHandlerServesHEADChallenge 2026-10-18T20:51:20.324876217Z --- PASS: TestHandlerServesHEADChallenge (0.00s) 2026-10-18T20:51:20.324883568Z === RUN TestHandlerRejectsUnsafeToken 2026-10-18T20:51:20.32488926Z === RUN TestHandlerRejectsUnsafeToken/path_traversal 2026-10-18T20:51:20.32489533Z === RUN TestHandlerRejectsUnsafeToken/slash_in_token 2026-10-18T20:51:20.324901002Z === RUN TestHandlerRejectsUnsafeToken/empty_token 2026-10-18T20:51:20.324906912Z === RUN TestHandlerRejectsUnsafeToken/backslash_in_token 2026-10-18T20:51:20.324914465Z --- PASS: TestHandlerRejectsUnsafeToken (0.00s) 2026-10-18T20:51:20.324927747Z --- PASS: TestHandlerRejectsUnsafeToken/path_traversal (0.00s) 2026-10-18T20:51:20.32494503Z --- PASS: TestHandlerRejectsUnsafeToken/slash_in_token (0.00s) 2026-10-18T20:51:20.324958424Z --- PASS: TestHandlerRejectsUnsafeToken/empty_token (0.00s) 2026-10-18T20:51:20.324977911Z --- PASS: TestHandlerRejectsUnsafeToken/backslash_in_token (0.00s) 2026-10-18T20:51:20.324983547Z === RUN TestHandlerRejectsPOST 2026-10-18T20:51:20.324989078Z --- PASS: TestHandlerRejectsPOST (0.00s) 2026-10-18T20:51:20.324994953Z === RUN TestHandlerRejectsMissingPrefix 2026-10-18T20:51:20.325000825Z --- PASS: TestHandlerRejectsMissingPrefix (0.00s) 2026-10-18T20:51:20.32500839Z === RUN TestHandlerRejectsUnknownToken 2026-10-18T20:51:20.325015782Z --- PASS: TestHandlerRejectsUnknownToken (0.00s) 2026-10-18T20:51:20.325024938Z === RUN TestHandlerRejectsNilService 2026-10-18T20:51:20.325033775Z --- PASS: TestHandlerRejectsNilService (0.00s) 2026-10-18T20:51:20.325043702Z PASS 2026-10-18T20:51:20.325054229Z ok github.com/bnema/gordon/internal/adapters/in/http/acme 1.021s 2026-10-18T20:51:20.325060498Z === RUN TestHandler_AppApply_Persists 2026-10-18T20:51:20.325065827Z --- PASS: TestHandler_AppApply_Persists (0.00s) 2026-10-18T20:51:20.325071146Z === RUN TestHandler_AppApply_RejectsBadManifest 2026-10-18T20:51:20.325085071Z --- PASS: TestHandler_AppApply_RejectsBadManifest (0.00s) 2026-10-18T20:51:20.325155942Z === RUN TestHandler_AppDeploy_MapsOp 2026-10-18T20:51:20.325194495Z --- PASS: TestHandler_AppDeploy_MapsOp (0.00s) 2026-10-18T20:51:20.325216086Z === RUN TestHandler_AppDeploy_MapsCleanupWarnings 2026-10-18T20:51:20.325249709Z --- PASS: TestHandler_AppDeploy_MapsCleanupWarnings (0.00s) 2026-10-18T20:51:20.325270959Z === RUN TestHandler_AppDeploy_RunningReturns202 2026-10-18T20:51:20.325279177Z --- PASS: TestHandler_AppDeploy_RunningReturns202 (0.00s) 2026-10-18T20:51:20.325285643Z === RUN TestHandler_AppDeploy_TerminalReplayReturnsOK 2026-10-18T20:51:20.325292088Z --- PASS: TestHandler_AppDeploy_TerminalReplayReturnsOK (0.00s) 2026-10-18T20:51:20.32530388Z === RUN TestHandler_AppDeploy_TerminalFailureReplayIsVisible 2026-10-18T20:51:20.325310525Z --- PASS: TestHandler_AppDeploy_TerminalFailureReplayIsVisible (0.00s) 2026-10-18T20:51:20.325317892Z === RUN TestHandler_AppDeploy_RunningReplayBeforeServiceSteps 2026-10-18T20:51:20.325324207Z --- PASS: TestHandler_AppDeploy_RunningReplayBeforeServiceSteps (0.00s) 2026-10-18T20:51:20.325332288Z === RUN TestHandler_AppDeploy_RunningReplayAfterServiceSteps 2026-10-18T20:51:20.3253391Z --- PASS: TestHandler_AppDeploy_RunningReplayAfterServiceSteps (0.00s) 2026-10-18T20:51:20.325345123Z === RUN TestHandler_AppDeploy_ServiceScopeRequiredIs400 2026-10-18T20:51:20.325351393Z --- PASS: TestHandler_AppDeploy_ServiceScopeRequiredIs400 (0.00s) 2026-10-18T20:51:20.325356895Z === RUN TestHandler_AppDeploy_PassesAll 2026-10-18T20:51:20.325364821Z --- PASS: TestHandler_AppDeploy_PassesAll (0.00s) 2026-10-18T20:51:20.325370459Z === RUN TestHandler_AppRestart_PassesServiceAndAll 2026-10-18T20:51:20.325376258Z --- PASS: TestHandler_AppRestart_PassesServiceAndAll (0.00s) 2026-10-18T20:51:20.325381934Z === RUN TestHandler_AppDeploy_RejectsMissingIdempotencyKey 2026-10-18T20:51:20.325389911Z --- PASS: TestHandler_AppDeploy_RejectsMissingIdempotencyKey (0.00s) 2026-10-18T20:51:20.325396454Z === RUN TestHandler_AppList_RequiresScope 2026-10-18T20:51:20.32540302Z --- PASS: TestHandler_AppList_RequiresScope (0.00s) 2026-10-18T20:51:20.325408434Z === RUN TestHandler_AppSecretsSet_Forwards 2026-10-18T20:51:20.325414015Z --- PASS: TestHandler_AppSecretsSet_Forwards (0.00s) 2026-10-18T20:51:20.325422254Z === RUN TestHandler_AppSecretsSet_MissingRegistrationHasNoDeployHint 2026-10-18T20:51:20.325428859Z --- PASS: TestHandler_AppSecretsSet_MissingRegistrationHasNoDeployHint (0.00s) 2026-10-18T20:51:20.325435179Z === RUN TestHandler_AppLifecycle_UnknownAppIsNotFound 2026-10-18T20:51:20.325441181Z --- PASS: TestHandler_AppLifecycle_UnknownAppIsNotFound (0.00s) 2026-10-18T20:51:20.325449035Z === RUN TestHandler_AppLifecycle_ReplayConflictCarriesJournal 2026-10-18T20:51:20.325455212Z --- PASS: TestHandler_AppLifecycle_ReplayConflictCarriesJournal (0.00s) 2026-10-18T20:51:20.325460672Z === RUN TestHandler_AppShow_MapsReadModel 2026-10-18T20:51:20.325466647Z --- PASS: TestHandler_AppShow_MapsReadModel (0.00s) 2026-10-18T20:51:20.325472045Z === RUN TestHandler_AppShow_UnknownAppIsNotFound 2026-10-18T20:51:20.325479815Z --- PASS: TestHandler_AppShow_UnknownAppIsNotFound (0.00s) 2026-10-18T20:51:20.325484978Z === RUN TestHandler_AppList_MapsReadModel 2026-10-18T20:51:20.325490364Z --- PASS: TestHandler_AppList_MapsReadModel (0.00s) 2026-10-18T20:51:20.325495554Z === RUN TestHandler_AppOpLookup_Recovers 2026-10-18T20:51:20.325530344Z --- PASS: TestHandler_AppOpLookup_Recovers (0.00s) 2026-10-18T20:51:20.325541094Z === RUN TestHandler_AppOpLookup_GatesDiagnosticsByLogsScope 2026-10-18T20:51:20.325572147Z --- PASS: TestHandler_AppOpLookup_GatesDiagnosticsByLogsScope (0.00s) 2026-10-18T20:51:20.325586813Z === RUN TestHandler_AppApply_DryRunOmitsRevision 2026-10-18T20:51:20.325661223Z --- PASS: TestHandler_AppApply_DryRunOmitsRevision (0.00s) 2026-10-18T20:51:20.325698381Z === RUN TestHandler_AppSecretsList_MissingAppIs404 2026-10-18T20:51:20.325735718Z --- PASS: TestHandler_AppSecretsList_MissingAppIs404 (0.00s) 2026-10-18T20:51:20.325753757Z === RUN TestHandler_AppApply_MapsDevicePolicyViolation 2026-10-18T20:51:20.325763373Z --- PASS: TestHandler_AppApply_MapsDevicePolicyViolation (0.00s) 2026-10-18T20:51:20.325772652Z === RUN TestSendAppOpError_MapsRuntimeGuard 2026-10-18T20:51:20.325778878Z --- PASS: TestSendAppOpError_MapsRuntimeGuard (0.00s) 2026-10-18T20:51:20.325784203Z === RUN TestHandler_AppApply_MapsRuntimeUnsupported 2026-10-18T20:51:20.32578926Z --- PASS: TestHandler_AppApply_MapsRuntimeUnsupported (0.00s) 2026-10-18T20:51:20.325805821Z === RUN TestApplyApp_MapsCapabilityPolicyViolation 2026-10-18T20:51:20.325821698Z --- PASS: TestApplyApp_MapsCapabilityPolicyViolation (0.00s) 2026-10-18T20:51:20.325827012Z === RUN TestHandler_CA 2026-10-18T20:51:20.325832516Z --- PASS: TestHandler_CA (0.00s) 2026-10-18T20:51:20.325846106Z === RUN TestHandler_CARequiresStatusRead 2026-10-18T20:51:20.325851907Z --- PASS: TestHandler_CARequiresStatusRead (0.00s) 2026-10-18T20:51:20.325860239Z === RUN TestHandler_CARejectsNonGet 2026-10-18T20:51:20.325868619Z --- PASS: TestHandler_CARejectsNonGet (0.00s) 2026-10-18T20:51:20.325876735Z === RUN TestHandler_CADisabledReturnsNotFound 2026-10-18T20:51:20.325910006Z --- PASS: TestHandler_CADisabledReturnsNotFound (0.00s) 2026-10-18T20:51:20.32592235Z === RUN TestHandler_RetiredMutations_Return410 2026-10-18T20:51:20.325928222Z --- PASS: TestHandler_RetiredMutations_Return410 (0.00s) 2026-10-18T20:51:20.325940422Z === RUN TestHandler_VolumesGet_RequiresVolumesReadScope 2026-10-18T20:51:20.325952717Z === RUN TestHandler_VolumesGet_RequiresVolumesReadScope/volumes_read_access_granted 2026-10-18T20:51:20.325964297Z === RUN TestHandler_VolumesGet_RequiresVolumesReadScope/all_admin_access_granted 2026-10-18T20:51:20.325981454Z === RUN TestHandler_VolumesGet_RequiresVolumesReadScope/status_read_denied 2026-10-18T20:51:20.325995382Z === RUN TestHandler_VolumesGet_RequiresVolumesReadScope/volumes_write_denied 2026-10-18T20:51:20.326005849Z --- PASS: TestHandler_VolumesGet_RequiresVolumesReadScope (0.00s) 2026-10-18T20:51:20.326023868Z --- PASS: TestHandler_VolumesGet_RequiresVolumesReadScope/volumes_read_access_granted (0.00s) 2026-10-18T20:51:20.326046485Z --- PASS: TestHandler_VolumesGet_RequiresVolumesReadScope/all_admin_access_granted (0.00s) 2026-10-18T20:51:20.326070331Z --- PASS: TestHandler_VolumesGet_RequiresVolumesReadScope/status_read_denied (0.00s) 2026-10-18T20:51:20.326092555Z --- PASS: TestHandler_VolumesGet_RequiresVolumesReadScope/volumes_write_denied (0.00s) 2026-10-18T20:51:20.326101879Z === RUN TestHandler_VolumesPrune_RequiresVolumesWriteScope 2026-10-18T20:51:20.326114339Z === RUN TestHandler_VolumesPrune_RequiresVolumesWriteScope/volumes_write_access_granted 2026-10-18T20:51:20.326125676Z === RUN TestHandler_VolumesPrune_RequiresVolumesWriteScope/all_admin_access_granted 2026-10-18T20:51:20.326135502Z === RUN TestHandler_VolumesPrune_RequiresVolumesWriteScope/config_write_denied 2026-10-18T20:51:20.326149023Z === RUN TestHandler_VolumesPrune_RequiresVolumesWriteScope/volumes_read_denied 2026-10-18T20:51:20.326194585Z --- PASS: TestHandler_VolumesPrune_RequiresVolumesWriteScope (0.00s) 2026-10-18T20:51:20.326219276Z --- PASS: TestHandler_VolumesPrune_RequiresVolumesWriteScope/volumes_write_access_granted (0.00s) 2026-10-18T20:51:20.326240801Z --- PASS: TestHandler_VolumesPrune_RequiresVolumesWriteScope/all_admin_access_granted (0.00s) 2026-10-18T20:51:20.326275337Z --- PASS: TestHandler_VolumesPrune_RequiresVolumesWriteScope/config_write_denied (0.00s) 2026-10-18T20:51:20.326296646Z --- PASS: TestHandler_VolumesPrune_RequiresVolumesWriteScope/volumes_read_denied (0.00s) 2026-10-18T20:51:20.326305254Z === RUN TestHandler_Status_RequiresReadScope 2026-10-18T20:51:20.326314021Z === RUN TestHandler_Status_RequiresReadScope/status_read_access_granted 2026-10-18T20:51:20.326323141Z === RUN TestHandler_Status_RequiresReadScope/all_admin_access_granted 2026-10-18T20:51:20.326333774Z === RUN TestHandler_Status_RequiresReadScope/wrong_resource_denied 2026-10-18T20:51:20.326342688Z --- PASS: TestHandler_Status_RequiresReadScope (0.00s) 2026-10-18T20:51:20.326361818Z --- PASS: TestHandler_Status_RequiresReadScope/status_read_access_granted (0.00s) 2026-10-18T20:51:20.326380243Z --- PASS: TestHandler_Status_RequiresReadScope/all_admin_access_granted (0.00s) 2026-10-18T20:51:20.32640028Z --- PASS: TestHandler_Status_RequiresReadScope/wrong_resource_denied (0.00s) 2026-10-18T20:51:20.326409772Z === RUN TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens 2026-10-18T20:51:20.326420101Z === RUN TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens/valid_token_without_status_scope 2026-10-18T20:51:20.326441921Z === RUN TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens/invalid_token 2026-10-18T20:51:20.326453517Z --- PASS: TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens (0.00s) 2026-10-18T20:51:20.326483371Z --- PASS: TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens/valid_token_without_status_scope (0.00s) 2026-10-18T20:51:20.32650731Z --- PASS: TestHandler_AuthVerify_PublishesRegistryDomainForValidTokens/invalid_token (0.00s) 2026-10-18T20:51:20.326516862Z === RUN TestHandler_Config_HidesSensitiveInventoryByDefault 2026-10-18T20:51:20.326525689Z --- PASS: TestHandler_Config_HidesSensitiveInventoryByDefault (0.00s) 2026-10-18T20:51:20.326548217Z === RUN TestHandler_Config_RequiresReadScope 2026-10-18T20:51:20.326564211Z === RUN TestHandler_Config_RequiresReadScope/config_read_access_granted 2026-10-18T20:51:20.326579937Z === RUN TestHandler_Config_RequiresReadScope/all_admin_access_granted 2026-10-18T20:51:20.326591994Z === RUN TestHandler_Config_RequiresReadScope/wrong_resource_denied 2026-10-18T20:51:20.326601043Z --- PASS: TestHandler_Config_RequiresReadScope (0.00s) 2026-10-18T20:51:20.326622338Z --- PASS: TestHandler_Config_RequiresReadScope/config_read_access_granted (0.00s) 2026-10-18T20:51:20.326645847Z --- PASS: TestHandler_Config_RequiresReadScope/all_admin_access_granted (0.00s) 2026-10-18T20:51:20.326664745Z --- PASS: TestHandler_Config_RequiresReadScope/wrong_resource_denied (0.00s) 2026-10-18T20:51:20.326675942Z === RUN TestHandler_Reload_RequiresWriteScope 2026-10-18T20:51:20.326685649Z === RUN TestHandler_Reload_RequiresWriteScope/config_write_access_granted 2026-10-18T20:51:20.326694822Z === RUN TestHandler_Reload_RequiresWriteScope/all_admin_access_granted 2026-10-18T20:51:20.326705701Z === RUN TestHandler_Reload_RequiresWriteScope/only_read_access_denied 2026-10-18T20:51:20.326717712Z === RUN TestHandler_Reload_RequiresWriteScope/wrong_resource_denied 2026-10-18T20:51:20.326726873Z --- PASS: TestHandler_Reload_RequiresWriteScope (0.00s) 2026-10-18T20:51:20.326748269Z --- PASS: TestHandler_Reload_RequiresWriteScope/config_write_access_granted (0.00s) 2026-10-18T20:51:20.326769562Z --- PASS: TestHandler_Reload_RequiresWriteScope/all_admin_access_granted (0.00s) 2026-10-18T20:51:20.326792644Z --- PASS: TestHandler_Reload_RequiresWriteScope/only_read_access_denied (0.00s) 2026-10-18T20:51:20.326813756Z --- PASS: TestHandler_Reload_RequiresWriteScope/wrong_resource_denied (0.00s) 2026-10-18T20:51:20.326827633Z === RUN TestHandler_Reload_ReturnsServerErrorOnTriggerFailure 2026-10-18T20:51:20.326837487Z --- PASS: TestHandler_Reload_ReturnsServerErrorOnTriggerFailure (0.00s) 2026-10-18T20:51:20.326848291Z === RUN TestHandler_Reload_UsesDetachedContextWithDeadline 2026-10-18T20:51:20.326869064Z --- PASS: TestHandler_Reload_UsesDetachedContextWithDeadline (0.00s) 2026-10-18T20:51:20.326879434Z === RUN TestHandler_MethodNotAllowed 2026-10-18T20:51:20.326888755Z === RUN TestHandler_MethodNotAllowed/DELETE_/admin/status 2026-10-18T20:51:20.326899169Z === RUN TestHandler_MethodNotAllowed/PUT_/admin/status 2026-10-18T20:51:20.326920572Z === RUN TestHandler_MethodNotAllowed/GET_/admin/reload 2026-10-18T20:51:20.326934643Z === RUN TestHandler_MethodNotAllowed/DELETE_/admin/reload 2026-10-18T20:51:20.32694417Z === RUN TestHandler_MethodNotAllowed/POST_/admin/config 2026-10-18T20:51:20.326953114Z === RUN TestHandler_MethodNotAllowed/DELETE_/admin/config 2026-10-18T20:51:20.326965401Z --- PASS: TestHandler_MethodNotAllowed (0.00s) 2026-10-18T20:51:20.326991949Z --- PASS: TestHandler_MethodNotAllowed/DELETE_/admin/status (0.00s) 2026-10-18T20:51:20.32701277Z --- PASS: TestHandler_MethodNotAllowed/PUT_/admin/status (0.00s) 2026-10-18T20:51:20.327029839Z --- PASS: TestHandler_MethodNotAllowed/GET_/admin/reload (0.00s) 2026-10-18T20:51:20.327047047Z --- PASS: TestHandler_MethodNotAllowed/DELETE_/admin/reload (0.00s) 2026-10-18T20:51:20.327063526Z --- PASS: TestHandler_MethodNotAllowed/POST_/admin/config (0.00s) 2026-10-18T20:51:20.327082101Z --- PASS: TestHandler_MethodNotAllowed/DELETE_/admin/config (0.00s) 2026-10-18T20:51:20.32709071Z === RUN TestHandler_Tags_InvalidRepository 2026-10-18T20:51:20.327113349Z === RUN TestHandler_Tags_InvalidRepository/path_traversal 2026-10-18T20:51:20.32712876Z === RUN TestHandler_Tags_InvalidRepository/empty_repo 2026-10-18T20:51:20.327141708Z --- PASS: TestHandler_Tags_InvalidRepository (0.00s) 2026-10-18T20:51:20.327165101Z --- PASS: TestHandler_Tags_InvalidRepository/path_traversal (0.00s) 2026-10-18T20:51:20.327186262Z --- PASS: TestHandler_Tags_InvalidRepository/empty_repo (0.00s) 2026-10-18T20:51:20.327199067Z === RUN TestHandler_Tags_Success 2026-10-18T20:51:20.327211257Z --- PASS: TestHandler_Tags_Success (0.00s) 2026-10-18T20:51:20.327224885Z === RUN TestHandler_Tags_Error 2026-10-18T20:51:20.327234125Z --- PASS: TestHandler_Tags_Error (0.00s) 2026-10-18T20:51:20.327249606Z === RUN TestHandler_Tags_URLDecodedRepository 2026-10-18T20:51:20.327261694Z --- PASS: TestHandler_Tags_URLDecodedRepository (0.00s) 2026-10-18T20:51:20.327269902Z === RUN TestHandler_NotFound 2026-10-18T20:51:20.327284628Z --- PASS: TestHandler_NotFound (0.00s) 2026-10-18T20:51:20.32729421Z === RUN TestHandler_BackupsStatus 2026-10-18T20:51:20.327302291Z --- PASS: TestHandler_BackupsStatus (0.00s) 2026-10-18T20:51:20.327311588Z === RUN TestHandler_BackupsListApp 2026-10-18T20:51:20.327323041Z --- PASS: TestHandler_BackupsListApp (0.00s) 2026-10-18T20:51:20.327333578Z === RUN TestHandler_BackupsRunApp 2026-10-18T20:51:20.327342011Z --- PASS: TestHandler_BackupsRunApp (0.00s) 2026-10-18T20:51:20.327353902Z === RUN TestHandler_VolumeBackupsRunDomain_ReturnsPartialResults 2026-10-18T20:51:20.32736819Z --- PASS: TestHandler_VolumeBackupsRunDomain_ReturnsPartialResults (0.00s) 2026-10-18T20:51:20.327377835Z === RUN TestHandler_VolumeBackupsRunDomain_ReturnsServerErrorWithoutResults 2026-10-18T20:51:20.327389158Z --- PASS: TestHandler_VolumeBackupsRunDomain_ReturnsServerErrorWithoutResults (0.00s) 2026-10-18T20:51:20.327399925Z === RUN TestHandler_BackupsRunApp_ChunkedBodyIsDecoded 2026-10-18T20:51:20.327409129Z --- PASS: TestHandler_BackupsRunApp_ChunkedBodyIsDecoded (0.00s) 2026-10-18T20:51:20.327417625Z === RUN TestHandler_LogsRequireLogsReadAndRedact 2026-10-18T20:51:20.327430565Z === RUN TestHandler_LogsRequireLogsReadAndRedact/status_read_denied 2026-10-18T20:51:20.327446348Z === RUN TestHandler_LogsRequireLogsReadAndRedact/logs_read_allowed_and_redacted 2026-10-18T20:51:20.327459924Z --- PASS: TestHandler_LogsRequireLogsReadAndRedact (0.00s) 2026-10-18T20:51:20.327484419Z --- PASS: TestHandler_LogsRequireLogsReadAndRedact/status_read_denied (0.00s) 2026-10-18T20:51:20.327507285Z --- PASS: TestHandler_LogsRequireLogsReadAndRedact/logs_read_allowed_and_redacted (0.00s) 2026-10-18T20:51:20.327516147Z === RUN TestHandler_ImagesGet_ReturnsMappedList 2026-10-18T20:51:20.327529869Z --- PASS: TestHandler_ImagesGet_ReturnsMappedList (0.00s) 2026-10-18T20:51:20.327539776Z === RUN TestHandler_ImagesPrune_AcceptsOptionalKeepLast 2026-10-18T20:51:20.327550475Z === RUN TestHandler_ImagesPrune_AcceptsOptionalKeepLast/missing_keep_last_uses_default 2026-10-18T20:51:20.327562239Z === RUN TestHandler_ImagesPrune_AcceptsOptionalKeepLast/provided_keep_last 2026-10-18T20:51:20.32757237Z --- PASS: TestHandler_ImagesPrune_AcceptsOptionalKeepLast (0.00s) 2026-10-18T20:51:20.327594664Z --- PASS: TestHandler_ImagesPrune_AcceptsOptionalKeepLast/missing_keep_last_uses_default (0.00s) 2026-10-18T20:51:20.327614371Z --- PASS: TestHandler_ImagesPrune_AcceptsOptionalKeepLast/provided_keep_last (0.00s) 2026-10-18T20:51:20.327623872Z === RUN TestHandler_Images_ErrorMappingForServiceFailures 2026-10-18T20:51:20.327634013Z === RUN TestHandler_Images_ErrorMappingForServiceFailures/list_failure_maps_to_internal_server_error 2026-10-18T20:51:20.327644201Z === RUN TestHandler_Images_ErrorMappingForServiceFailures/prune_failure_maps_to_internal_server_error 2026-10-18T20:51:20.327653319Z --- PASS: TestHandler_Images_ErrorMappingForServiceFailures (0.00s) 2026-10-18T20:51:20.327676207Z --- PASS: TestHandler_Images_ErrorMappingForServiceFailures/list_failure_maps_to_internal_server_error (0.00s) 2026-10-18T20:51:20.327699287Z --- PASS: TestHandler_Images_ErrorMappingForServiceFailures/prune_failure_maps_to_internal_server_error (0.00s) 2026-10-18T20:51:20.32771032Z === RUN TestHandler_ImagesPrune_ValidationAndAvailability 2026-10-18T20:51:20.327720085Z === RUN TestHandler_ImagesPrune_ValidationAndAvailability/rejects_negative_keep_last 2026-10-18T20:51:20.327730707Z === RUN TestHandler_ImagesPrune_ValidationAndAvailability/returns_service_unavailable_when_image_service_missing 2026-10-18T20:51:20.327754908Z --- PASS: TestHandler_ImagesPrune_ValidationAndAvailability (0.00s) 2026-10-18T20:51:20.327782706Z --- PASS: TestHandler_ImagesPrune_ValidationAndAvailability/rejects_negative_keep_last (0.00s) 2026-10-18T20:51:20.327814376Z --- PASS: TestHandler_ImagesPrune_ValidationAndAvailability/returns_service_unavailable_when_image_service_missing (0.00s) 2026-10-18T20:51:20.327829976Z === RUN TestHandler_ImagesPrune_ScopeDefaults 2026-10-18T20:51:20.327840598Z === RUN TestHandler_ImagesPrune_ScopeDefaults/missing_scope_fields_defaults_to_both_true 2026-10-18T20:51:20.327851674Z === RUN TestHandler_ImagesPrune_ScopeDefaults/explicit_dangling_only 2026-10-18T20:51:20.327860765Z === RUN TestHandler_ImagesPrune_ScopeDefaults/explicit_registry_only 2026-10-18T20:51:20.327870608Z === RUN TestHandler_ImagesPrune_ScopeDefaults/both_scopes_false_returns_400 2026-10-18T20:51:20.327881924Z --- PASS: TestHandler_ImagesPrune_ScopeDefaults (0.00s) 2026-10-18T20:51:20.327903484Z --- PASS: TestHandler_ImagesPrune_ScopeDefaults/missing_scope_fields_defaults_to_both_true (0.00s) 2026-10-18T20:51:20.327926526Z --- PASS: TestHandler_ImagesPrune_ScopeDefaults/explicit_dangling_only (0.00s) 2026-10-18T20:51:20.327949455Z --- PASS: TestHandler_ImagesPrune_ScopeDefaults/explicit_registry_only (0.00s) 2026-10-18T20:51:20.327973872Z --- PASS: TestHandler_ImagesPrune_ScopeDefaults/both_scopes_false_returns_400 (0.00s) 2026-10-18T20:51:20.327987516Z === RUN TestHandler_Images_Authorization 2026-10-18T20:51:20.327998808Z === RUN TestHandler_Images_Authorization/images_list_requires_status:read 2026-10-18T20:51:20.328008142Z === RUN TestHandler_Images_Authorization/images_prune_requires_config:write 2026-10-18T20:51:20.328024273Z --- PASS: TestHandler_Images_Authorization (0.00s) 2026-10-18T20:51:20.328045021Z --- PASS: TestHandler_Images_Authorization/images_list_requires_status:read (0.00s) 2026-10-18T20:51:20.328064691Z --- PASS: TestHandler_Images_Authorization/images_prune_requires_config:write (0.00s) 2026-10-18T20:51:20.328073954Z === RUN TestHandler_TLSStatus_RequiresStatusReadScope 2026-10-18T20:51:20.328092705Z --- PASS: TestHandler_TLSStatus_RequiresStatusReadScope (0.00s) 2026-10-18T20:51:20.328106932Z === RUN TestHandler_TLSStatus_GETReturnsJSON 2026-10-18T20:51:20.328123924Z --- PASS: TestHandler_TLSStatus_GETReturnsJSON (0.00s) 2026-10-18T20:51:20.328139248Z === RUN TestHandler_TLSStatus_POSTReturns405 2026-10-18T20:51:20.328151887Z --- PASS: TestHandler_TLSStatus_POSTReturns405 (0.00s) 2026-10-18T20:51:20.328160368Z === RUN TestHandler_TrafficStatus 2026-10-18T20:51:20.328170464Z --- PASS: TestHandler_TrafficStatus (0.00s) 2026-10-18T20:51:20.328179326Z === RUN TestHandler_TrafficStatusRequiresStatusRead 2026-10-18T20:51:20.328190259Z --- PASS: TestHandler_TrafficStatusRequiresStatusRead (0.00s) 2026-10-18T20:51:20.328199963Z === RUN TestHandler_TrafficStatusUnavailableWithoutService 2026-10-18T20:51:20.328209161Z --- PASS: TestHandler_TrafficStatusUnavailableWithoutService (0.00s) 2026-10-18T20:51:20.328218055Z === RUN TestLocalAuthorityInjectsLeastPrivilegeScopes 2026-10-18T20:51:20.328227027Z --- PASS: TestLocalAuthorityInjectsLeastPrivilegeScopes (0.00s) 2026-10-18T20:51:20.328235626Z === RUN TestLocalAuthorityCanonicalAllowlist 2026-10-18T20:51:20.328245807Z === PAUSE TestLocalAuthorityCanonicalAllowlist 2026-10-18T20:51:20.328262999Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths 2026-10-18T20:51:20.328274076Z === PAUSE TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths 2026-10-18T20:51:20.328283471Z === RUN TestLocalAuthorityRejectsNonAdminAndTraversalRequests 2026-10-18T20:51:20.328299797Z --- PASS: TestLocalAuthorityRejectsNonAdminAndTraversalRequests (0.00s) 2026-10-18T20:51:20.328311636Z === RUN TestAuthMiddleware_GlobalRateLimitHit 2026-10-18T20:51:20.328320564Z --- PASS: TestAuthMiddleware_GlobalRateLimitHit (0.00s) 2026-10-18T20:51:20.32833529Z === RUN TestAuthMiddleware_PerIPRateLimitHit 2026-10-18T20:51:20.32835751Z --- PASS: TestAuthMiddleware_PerIPRateLimitHit (0.00s) 2026-10-18T20:51:20.328366929Z === RUN TestAuthMiddleware_TrustedProxy 2026-10-18T20:51:20.328377054Z --- PASS: TestAuthMiddleware_TrustedProxy (0.00s) 2026-10-18T20:51:20.328393225Z === RUN TestAuthMiddleware_NoRateLimiting 2026-10-18T20:51:20.328438515Z --- PASS: TestAuthMiddleware_NoRateLimiting (0.00s) 2026-10-18T20:51:20.328457957Z === RUN TestAuthMiddleware_AuthDisabled 2026-10-18T20:51:20.328475884Z 2026-10-18T20:51:18Z ERR authentication disabled/misconfigured - denying admin API request method=GET path=/admin/status remote_addr=192.168.1.100:12345 2026-10-18T20:51:20.328487906Z --- PASS: TestAuthMiddleware_AuthDisabled (0.00s) 2026-10-18T20:51:20.328497288Z === RUN TestAuthMiddleware_MissingAuthHeader 2026-10-18T20:51:20.328506554Z --- PASS: TestAuthMiddleware_MissingAuthHeader (0.00s) 2026-10-18T20:51:20.328515427Z === RUN TestAuthMiddleware_InvalidToken 2026-10-18T20:51:20.328531407Z 2026-10-18T20:51:18Z WRN invalid admin token error="assert.AnError general error for testing" 2026-10-18T20:51:20.328542212Z --- PASS: TestAuthMiddleware_InvalidToken (0.00s) 2026-10-18T20:51:20.328551931Z === RUN TestAuthMiddleware_RejectsLongLivedToken 2026-10-18T20:51:20.328563883Z 2026-10-18T20:51:18Z WRN long-lived token rejected on admin endpoint path=/admin/status subject=admin 2026-10-18T20:51:20.328574013Z --- PASS: TestAuthMiddleware_RejectsLongLivedToken (0.00s) 2026-10-18T20:51:20.328582771Z === RUN TestAuthMiddleware_AcceptsEphemeralToken 2026-10-18T20:51:20.328592193Z --- PASS: TestAuthMiddleware_AcceptsEphemeralToken (0.00s) 2026-10-18T20:51:20.328601011Z === RUN TestAuthMiddleware_MissingAdminScope 2026-10-18T20:51:20.328613894Z 2026-10-18T20:51:18Z WRN token missing admin scopes subject=user1 2026-10-18T20:51:20.328624046Z --- PASS: TestAuthMiddleware_MissingAdminScope (0.00s) 2026-10-18T20:51:20.328633152Z === RUN TestAuthMiddleware_Success 2026-10-18T20:51:20.328642029Z --- PASS: TestAuthMiddleware_Success (0.00s) 2026-10-18T20:51:20.328650929Z === RUN TestAuthMiddleware_DirectToken_Rejected 2026-10-18T20:51:20.32865984Z --- PASS: TestAuthMiddleware_DirectToken_Rejected (0.00s) 2026-10-18T20:51:20.328668295Z === RUN TestRequireScope 2026-10-18T20:51:20.328677709Z === RUN TestRequireScope/wildcard_scope_grants_access 2026-10-18T20:51:20.328688692Z === RUN TestRequireScope/exact_scope_grants_access 2026-10-18T20:51:20.328698594Z === RUN TestRequireScope/wrong_resource_denies_access 2026-10-18T20:51:20.328707966Z === RUN TestRequireScope/wrong_action_denies_access 2026-10-18T20:51:20.328716528Z --- PASS: TestRequireScope (0.00s) 2026-10-18T20:51:20.328733885Z --- PASS: TestRequireScope/wildcard_scope_grants_access (0.00s) 2026-10-18T20:51:20.328751122Z --- PASS: TestRequireScope/exact_scope_grants_access (0.00s) 2026-10-18T20:51:20.32877295Z --- PASS: TestRequireScope/wrong_resource_denies_access (0.00s) 2026-10-18T20:51:20.328797517Z --- PASS: TestRequireScope/wrong_action_denies_access (0.00s) 2026-10-18T20:51:20.328814984Z === RUN TestHasAccess 2026-10-18T20:51:20.328825404Z --- PASS: TestHasAccess (0.00s) 2026-10-18T20:51:20.328836835Z === RUN TestHandler_ImagesPrune_ExposesPerCandidateVerdicts 2026-10-18T20:51:20.328849125Z --- PASS: TestHandler_ImagesPrune_ExposesPerCandidateVerdicts (0.00s) 2026-10-18T20:51:20.328864524Z === RUN TestHandler_VolumesPrune_ExposesPerCandidateVerdicts 2026-10-18T20:51:20.328875435Z --- PASS: TestHandler_VolumesPrune_ExposesPerCandidateVerdicts (0.00s) 2026-10-18T20:51:20.328884888Z === CONT TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths 2026-10-18T20:51:20.328894743Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/status 2026-10-18T20:51:20.328904317Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/reload 2026-10-18T20:51:20.328915217Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/config 2026-10-18T20:51:20.328924453Z === CONT TestLocalAuthorityCanonicalAllowlist 2026-10-18T20:51:20.328933753Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/status 2026-10-18T20:51:20.328942752Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/tls/status 2026-10-18T20:51:20.328952961Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/volumes/prune 2026-10-18T20:51:20.328963026Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/images/prune 2026-10-18T20:51:20.32897329Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/auth/verify 2026-10-18T20:51:20.328982498Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/traffic/status 2026-10-18T20:51:20.328993688Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/auth/tokens 2026-10-18T20:51:20.329003014Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/config 2026-10-18T20:51:20.329012789Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/auth/tokens 2026-10-18T20:51:20.329022378Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/health 2026-10-18T20:51:20.329031954Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/networks 2026-10-18T20:51:20.329041148Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/appsX 2026-10-18T20:51:20.329053291Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/secrets 2026-10-18T20:51:20.329068622Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/volumes 2026-10-18T20:51:20.329089807Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/secrets/blog.example.com 2026-10-18T20:51:20.329107219Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/volumes/prune 2026-10-18T20:51:20.329117907Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/secrets/blog.example.com 2026-10-18T20:51:20.329127142Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/images 2026-10-18T20:51:20.329141379Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/DELETE_/secrets/blog 2026-10-18T20:51:20.329158861Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/images/prune 2026-10-18T20:51:20.329172202Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/images/anything 2026-10-18T20:51:20.329182506Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/reload 2026-10-18T20:51:20.32919408Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/tags/repository/extra 2026-10-18T20:51:20.329203845Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/logs/blog 2026-10-18T20:51:20.329212712Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/tags/repository 2026-10-18T20:51:20.329263017Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/backups/volumes/status/extra 2026-10-18T20:51:20.329274774Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/logs 2026-10-18T20:51:20.329284444Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/logs/blog/web 2026-10-18T20:51:20.329293545Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups 2026-10-18T20:51:20.329302525Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups/status 2026-10-18T20:51:20.329311504Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups/shop 2026-10-18T20:51:20.329324091Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/apps/blog/operations/by-key/key/extra 2026-10-18T20:51:20.329334327Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/backups/shop 2026-10-18T20:51:20.329343567Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes 2026-10-18T20:51:20.329352765Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/backups/volumes 2026-10-18T20:51:20.329362104Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes/status 2026-10-18T20:51:20.329371179Z === RUN TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/ 2026-10-18T20:51:20.329381843Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes/blog.example.com 2026-10-18T20:51:20.329398217Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/backups/volumes/blog.example.com 2026-10-18T20:51:20.329415576Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths (0.00s) 2026-10-18T20:51:20.329436164Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/status (0.00s) 2026-10-18T20:51:20.329455898Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/reload (0.00s) 2026-10-18T20:51:20.329480543Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/config (0.00s) 2026-10-18T20:51:20.32952715Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/volumes/prune (0.00s) 2026-10-18T20:51:20.329559869Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/images/prune (0.00s) 2026-10-18T20:51:20.329586116Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/auth/verify (0.00s) 2026-10-18T20:51:20.329617646Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/auth/tokens (0.00s) 2026-10-18T20:51:20.329651354Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/auth/tokens (0.00s) 2026-10-18T20:51:20.329677659Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/health (0.00s) 2026-10-18T20:51:20.32970249Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/appsX (0.00s) 2026-10-18T20:51:20.329728927Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/secrets (0.00s) 2026-10-18T20:51:20.329755695Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/secrets/blog.example.com (0.00s) 2026-10-18T20:51:20.329785784Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/POST_/secrets/blog.example.com (0.00s) 2026-10-18T20:51:20.329827112Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/DELETE_/secrets/blog (0.00s) 2026-10-18T20:51:20.329856986Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/images/anything (0.00s) 2026-10-18T20:51:20.329886105Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/tags/repository/extra (0.00s) 2026-10-18T20:51:20.329911253Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/logs/blog (0.00s) 2026-10-18T20:51:20.329938775Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/backups/volumes/status/extra (0.00s) 2026-10-18T20:51:20.329985268Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/apps/blog/operations/by-key/key/extra (0.00s) 2026-10-18T20:51:20.330017431Z --- PASS: TestLocalAuthorityDeniesNearMissesAndNonCanonicalPaths/GET_/ (0.00s) 2026-10-18T20:51:20.330034702Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/apps 2026-10-18T20:51:20.330049696Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/apply 2026-10-18T20:51:20.330063628Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog 2026-10-18T20:51:20.330205502Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog/diff 2026-10-18T20:51:20.33022655Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/deploy 2026-10-18T20:51:20.330244653Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/restart 2026-10-18T20:51:20.330259767Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/stop 2026-10-18T20:51:20.330277826Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/start 2026-10-18T20:51:20.330298684Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/remove 2026-10-18T20:51:20.330320779Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/secrets/set 2026-10-18T20:51:20.330338014Z === RUN TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/secrets/delete 2026-10-18T20:51:20.330353063Z === RUN TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog/operations/by-key/request-1 2026-10-18T20:51:20.330367661Z --- PASS: TestLocalAuthorityCanonicalAllowlist (0.00s) 2026-10-18T20:51:20.330409596Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/status (0.00s) 2026-10-18T20:51:20.3304357Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/tls/status (0.00s) 2026-10-18T20:51:20.330459664Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/traffic/status (0.00s) 2026-10-18T20:51:20.33048933Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/config (0.00s) 2026-10-18T20:51:20.330514712Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/networks (0.00s) 2026-10-18T20:51:20.330539477Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/volumes (0.00s) 2026-10-18T20:51:20.330571677Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/volumes/prune (0.00s) 2026-10-18T20:51:20.330596573Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/images (0.00s) 2026-10-18T20:51:20.330621911Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/images/prune (0.00s) 2026-10-18T20:51:20.330647421Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/reload (0.00s) 2026-10-18T20:51:20.330672708Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/tags/repository (0.00s) 2026-10-18T20:51:20.330694982Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/logs (0.00s) 2026-10-18T20:51:20.330726071Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/logs/blog/web (0.00s) 2026-10-18T20:51:20.330751158Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups (0.00s) 2026-10-18T20:51:20.330777255Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups/status (0.00s) 2026-10-18T20:51:20.330806733Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups/shop (0.00s) 2026-10-18T20:51:20.330832339Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/backups/shop (0.00s) 2026-10-18T20:51:20.330856072Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes (0.00s) 2026-10-18T20:51:20.330886055Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/backups/volumes (0.00s) 2026-10-18T20:51:20.330913606Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes/status (0.00s) 2026-10-18T20:51:20.330937463Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/backups/volumes/blog.example.com (0.00s) 2026-10-18T20:51:20.330973798Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/backups/volumes/blog.example.com (0.00s) 2026-10-18T20:51:20.330998966Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/apps (0.00s) 2026-10-18T20:51:20.33102208Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/apply (0.00s) 2026-10-18T20:51:20.331054434Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog (0.00s) 2026-10-18T20:51:20.331082314Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog/diff (0.00s) 2026-10-18T20:51:20.331108211Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/deploy (0.00s) 2026-10-18T20:51:20.33114038Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/restart (0.00s) 2026-10-18T20:51:20.331168282Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/stop (0.00s) 2026-10-18T20:51:20.331194348Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/start (0.00s) 2026-10-18T20:51:20.331226585Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/remove (0.00s) 2026-10-18T20:51:20.331254446Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/secrets/set (0.00s) 2026-10-18T20:51:20.331280931Z --- PASS: TestLocalAuthorityCanonicalAllowlist/POST_/apps/blog/secrets/delete (0.00s) 2026-10-18T20:51:20.331316167Z --- PASS: TestLocalAuthorityCanonicalAllowlist/GET_/apps/blog/operations/by-key/request-1 (0.00s) 2026-10-18T20:51:20.331335076Z PASS 2026-10-18T20:51:20.331350034Z ok github.com/bnema/gordon/internal/adapters/in/http/admin 1.106s 2026-10-18T20:51:20.33135902Z === RUN TestHandler_Password_AlwaysGone 2026-10-18T20:51:20.331367028Z --- PASS: TestHandler_Password_AlwaysGone (0.00s) 2026-10-18T20:51:20.331387315Z === RUN TestHandler_Token_Success 2026-10-18T20:51:20.331407398Z --- PASS: TestHandler_Token_Success (0.00s) 2026-10-18T20:51:20.331421577Z === RUN TestHandler_Token_MissingCredentials 2026-10-18T20:51:20.331444369Z --- PASS: TestHandler_Token_MissingCredentials (0.00s) 2026-10-18T20:51:20.331462296Z === RUN TestHandler_Token_AuthDisabled 2026-10-18T20:51:20.331480139Z --- PASS: TestHandler_Token_AuthDisabled (0.00s) 2026-10-18T20:51:20.331492498Z === RUN TestHandler_Token_InvalidCredentials 2026-10-18T20:51:20.331503432Z --- PASS: TestHandler_Token_InvalidCredentials (0.00s) 2026-10-18T20:51:20.331516579Z === RUN TestHandler_Token_InternalAuth 2026-10-18T20:51:20.331525626Z --- PASS: TestHandler_Token_InternalAuth (0.00s) 2026-10-18T20:51:20.331535223Z === RUN TestHandler_Token_TokenAuth 2026-10-18T20:51:20.331549599Z --- PASS: TestHandler_Token_TokenAuth (0.00s) 2026-10-18T20:51:20.331562872Z === RUN TestHandler_Token_TokenAuthScopeIntersection 2026-10-18T20:51:20.331575672Z --- PASS: TestHandler_Token_TokenAuthScopeIntersection (0.00s) 2026-10-18T20:51:20.331585573Z === RUN TestHandler_Token_TokenAuthScopeDenied 2026-10-18T20:51:20.331594498Z --- PASS: TestHandler_Token_TokenAuthScopeDenied (0.00s) 2026-10-18T20:51:20.331602946Z === RUN TestHandler_Token_PasswordAuthWithJWT 2026-10-18T20:51:20.331612259Z --- PASS: TestHandler_Token_PasswordAuthWithJWT (0.00s) 2026-10-18T20:51:20.331625546Z === RUN TestHandler_Token_MethodNotAllowed 2026-10-18T20:51:20.331641525Z === RUN TestHandler_Token_MethodNotAllowed/POST 2026-10-18T20:51:20.331665851Z === RUN TestHandler_Token_MethodNotAllowed/PUT 2026-10-18T20:51:20.3316778Z === RUN TestHandler_Token_MethodNotAllowed/DELETE 2026-10-18T20:51:20.331700237Z === RUN TestHandler_Token_MethodNotAllowed/PATCH 2026-10-18T20:51:20.331711225Z --- PASS: TestHandler_Token_MethodNotAllowed (0.00s) 2026-10-18T20:51:20.331730183Z --- PASS: TestHandler_Token_MethodNotAllowed/POST (0.00s) 2026-10-18T20:51:20.331746751Z --- PASS: TestHandler_Token_MethodNotAllowed/PUT (0.00s) 2026-10-18T20:51:20.331765669Z --- PASS: TestHandler_Token_MethodNotAllowed/DELETE (0.00s) 2026-10-18T20:51:20.331781578Z --- PASS: TestHandler_Token_MethodNotAllowed/PATCH (0.00s) 2026-10-18T20:51:20.331789784Z === RUN TestHandler_NotFound 2026-10-18T20:51:20.331801419Z === RUN TestHandler_NotFound//auth/unknown 2026-10-18T20:51:20.331812271Z === RUN TestHandler_NotFound//auth/ 2026-10-18T20:51:20.331825262Z === RUN TestHandler_NotFound//auth 2026-10-18T20:51:20.331839492Z --- PASS: TestHandler_NotFound (0.00s) 2026-10-18T20:51:20.331859158Z --- PASS: TestHandler_NotFound//auth/unknown (0.00s) 2026-10-18T20:51:20.331879694Z --- PASS: TestHandler_NotFound//auth/ (0.00s) 2026-10-18T20:51:20.331895935Z --- PASS: TestHandler_NotFound//auth (0.00s) 2026-10-18T20:51:20.331904963Z === RUN TestParseRequestedScopes_MultipleScopeParams 2026-10-18T20:51:20.331914036Z --- PASS: TestParseRequestedScopes_MultipleScopeParams (0.00s) 2026-10-18T20:51:20.331922383Z === RUN TestParseRequestedScopes_InvalidScopeFiltered 2026-10-18T20:51:20.331933571Z === RUN TestParseRequestedScopes_InvalidScopeFiltered/invalid_format_is_skipped 2026-10-18T20:51:20.331943784Z === RUN TestParseRequestedScopes_InvalidScopeFiltered/missing_actions_is_skipped 2026-10-18T20:51:20.331953438Z === RUN TestParseRequestedScopes_InvalidScopeFiltered/all_invalid_returns_default 2026-10-18T20:51:20.331962733Z --- PASS: TestParseRequestedScopes_InvalidScopeFiltered (0.00s) 2026-10-18T20:51:20.331988548Z --- PASS: TestParseRequestedScopes_InvalidScopeFiltered/invalid_format_is_skipped (0.00s) 2026-10-18T20:51:20.332009845Z --- PASS: TestParseRequestedScopes_InvalidScopeFiltered/missing_actions_is_skipped (0.00s) 2026-10-18T20:51:20.332031804Z --- PASS: TestParseRequestedScopes_InvalidScopeFiltered/all_invalid_returns_default (0.00s) 2026-10-18T20:51:20.332041282Z === RUN TestParseRequestedScopes_NoScopeReturnsDefault 2026-10-18T20:51:20.332055101Z --- PASS: TestParseRequestedScopes_NoScopeReturnsDefault (0.00s) 2026-10-18T20:51:20.332063858Z === RUN TestIsLocalhostRequest 2026-10-18T20:51:20.332072534Z === RUN TestIsLocalhostRequest/127.0.0.1_is_localhost 2026-10-18T20:51:20.332085656Z === RUN TestIsLocalhostRequest/127.0.0.2_is_localhost 2026-10-18T20:51:20.332098019Z === RUN TestIsLocalhostRequest/::1_is_localhost 2026-10-18T20:51:20.332107234Z === RUN TestIsLocalhostRequest/192.168.1.1_is_not_localhost 2026-10-18T20:51:20.332120861Z === RUN TestIsLocalhostRequest/10.0.0.1_is_not_localhost 2026-10-18T20:51:20.332132943Z === RUN TestIsLocalhostRequest/public_IP_is_not_localhost 2026-10-18T20:51:20.332141202Z --- PASS: TestIsLocalhostRequest (0.00s) 2026-10-18T20:51:20.332157852Z --- PASS: TestIsLocalhostRequest/127.0.0.1_is_localhost (0.00s) 2026-10-18T20:51:20.33217607Z --- PASS: TestIsLocalhostRequest/127.0.0.2_is_localhost (0.00s) 2026-10-18T20:51:20.33219202Z --- PASS: TestIsLocalhostRequest/::1_is_localhost (0.00s) 2026-10-18T20:51:20.332220058Z --- PASS: TestIsLocalhostRequest/192.168.1.1_is_not_localhost (0.00s) 2026-10-18T20:51:20.33226908Z --- PASS: TestIsLocalhostRequest/10.0.0.1_is_not_localhost (0.00s) 2026-10-18T20:51:20.332302909Z --- PASS: TestIsLocalhostRequest/public_IP_is_not_localhost (0.00s) 2026-10-18T20:51:20.332318426Z === RUN TestHandler_isInternalAuth 2026-10-18T20:51:20.332333018Z === RUN TestHandler_isInternalAuth/correct_credentials 2026-10-18T20:51:20.332348138Z === RUN TestHandler_isInternalAuth/incorrect_username 2026-10-18T20:51:20.332361516Z === RUN TestHandler_isInternalAuth/incorrect_password 2026-10-18T20:51:20.332375205Z === RUN TestHandler_isInternalAuth/empty_internal_auth_credentials 2026-10-18T20:51:20.332390912Z === RUN TestHandler_isInternalAuth/partially_empty_internal_auth_-_empty_password 2026-10-18T20:51:20.332405407Z === RUN TestHandler_isInternalAuth/partially_empty_internal_auth_-_empty_username 2026-10-18T20:51:20.332420673Z --- PASS: TestHandler_isInternalAuth (0.00s) 2026-10-18T20:51:20.332437499Z --- PASS: TestHandler_isInternalAuth/correct_credentials (0.00s) 2026-10-18T20:51:20.332454523Z --- PASS: TestHandler_isInternalAuth/incorrect_username (0.00s) 2026-10-18T20:51:20.332481137Z --- PASS: TestHandler_isInternalAuth/incorrect_password (0.00s) 2026-10-18T20:51:20.332504872Z --- PASS: TestHandler_isInternalAuth/empty_internal_auth_credentials (0.00s) 2026-10-18T20:51:20.332538563Z --- PASS: TestHandler_isInternalAuth/partially_empty_internal_auth_-_empty_password (0.00s) 2026-10-18T20:51:20.332596179Z --- PASS: TestHandler_isInternalAuth/partially_empty_internal_auth_-_empty_username (0.00s) 2026-10-18T20:51:20.332619898Z === RUN TestHandler_Token_EphemeralTokenRejected 2026-10-18T20:51:20.332630386Z --- PASS: TestHandler_Token_EphemeralTokenRejected (0.00s) 2026-10-18T20:51:20.33263905Z === RUN TestHandler_Token_LongLivedTokenAccepted 2026-10-18T20:51:20.332647571Z --- PASS: TestHandler_Token_LongLivedTokenAccepted (0.00s) 2026-10-18T20:51:20.332655436Z === RUN TestHandler_Token_AdminScopeSuccess 2026-10-18T20:51:20.332668145Z --- PASS: TestHandler_Token_AdminScopeSuccess (0.00s) 2026-10-18T20:51:20.332687776Z === RUN TestHandler_Token_AdminScopeDeniedWithRegistryOnly 2026-10-18T20:51:20.332710034Z --- PASS: TestHandler_Token_AdminScopeDeniedWithRegistryOnly (0.00s) 2026-10-18T20:51:20.332727847Z === RUN TestHandler_Token_AdminScopeWildcard 2026-10-18T20:51:20.33274269Z --- PASS: TestHandler_Token_AdminScopeWildcard (0.00s) 2026-10-18T20:51:20.332764311Z PASS 2026-10-18T20:51:20.332786988Z ok github.com/bnema/gordon/internal/adapters/in/http/auth 1.025s 2026-10-18T20:51:20.332799828Z === RUN TestIsLocalhostRequest 2026-10-18T20:51:20.332808866Z === RUN TestIsLocalhostRequest/ipv4_loopback 2026-10-18T20:51:20.332819133Z === RUN TestIsLocalhostRequest/ipv4_loopback_other 2026-10-18T20:51:20.332827924Z === RUN TestIsLocalhostRequest/ipv6_loopback_bracketed 2026-10-18T20:51:20.332843875Z === RUN TestIsLocalhostRequest/external_ipv4 2026-10-18T20:51:20.33285711Z === RUN TestIsLocalhostRequest/external_ipv6 2026-10-18T20:51:20.332865699Z === RUN TestIsLocalhostRequest/empty 2026-10-18T20:51:20.332876262Z --- PASS: TestIsLocalhostRequest (0.00s) 2026-10-18T20:51:20.332893422Z --- PASS: TestIsLocalhostRequest/ipv4_loopback (0.00s) 2026-10-18T20:51:20.332928515Z --- PASS: TestIsLocalhostRequest/ipv4_loopback_other (0.00s) 2026-10-18T20:51:20.332959228Z --- PASS: TestIsLocalhostRequest/ipv6_loopback_bracketed (0.00s) 2026-10-18T20:51:20.332978344Z --- PASS: TestIsLocalhostRequest/external_ipv4 (0.00s) 2026-10-18T20:51:20.332993992Z --- PASS: TestIsLocalhostRequest/external_ipv6 (0.00s) 2026-10-18T20:51:20.333014588Z --- PASS: TestIsLocalhostRequest/empty (0.00s) 2026-10-18T20:51:20.33303898Z PASS 2026-10-18T20:51:20.333055549Z ok github.com/bnema/gordon/internal/adapters/in/http/httphelper 1.009s 2026-10-18T20:51:32.543750329Z === RUN TestAccessLogger_EmitsEntryPerRequest 2026-10-18T20:51:32.543795575Z --- PASS: TestAccessLogger_EmitsEntryPerRequest (0.00s) 2026-10-18T20:51:32.543808158Z === RUN TestAccessLogger_RedactsSensitiveQueryParams 2026-10-18T20:51:32.543823099Z --- PASS: TestAccessLogger_RedactsSensitiveQueryParams (0.00s) 2026-10-18T20:51:32.543839761Z === RUN TestAccessLogger_RedactsSensitiveReferers 2026-10-18T20:51:32.543850617Z === RUN TestAccessLogger_RedactsSensitiveReferers/query_params 2026-10-18T20:51:32.543864584Z === RUN TestAccessLogger_RedactsSensitiveReferers/fragment_removed 2026-10-18T20:51:32.543883446Z === RUN TestAccessLogger_RedactsSensitiveReferers/userinfo_removed 2026-10-18T20:51:32.543901507Z === RUN TestAccessLogger_RedactsSensitiveReferers/malformed_query_key_redacted_conservatively 2026-10-18T20:51:32.543917438Z --- PASS: TestAccessLogger_RedactsSensitiveReferers (0.00s) 2026-10-18T20:51:32.543950278Z --- PASS: TestAccessLogger_RedactsSensitiveReferers/query_params (0.00s) 2026-10-18T20:51:32.543984208Z --- PASS: TestAccessLogger_RedactsSensitiveReferers/fragment_removed (0.00s) 2026-10-18T20:51:32.544019939Z --- PASS: TestAccessLogger_RedactsSensitiveReferers/userinfo_removed (0.00s) 2026-10-18T20:51:32.544062124Z --- PASS: TestAccessLogger_RedactsSensitiveReferers/malformed_query_key_redacted_conservatively (0.00s) 2026-10-18T20:51:32.54407559Z === RUN TestAccessLogger_RequestIDReused 2026-10-18T20:51:32.544089131Z --- PASS: TestAccessLogger_RequestIDReused (0.00s) 2026-10-18T20:51:32.544102651Z === RUN TestAccessLogger_ExcludeHealthCheckUA 2026-10-18T20:51:32.544117276Z --- PASS: TestAccessLogger_ExcludeHealthCheckUA (0.00s) 2026-10-18T20:51:32.544133821Z === RUN TestAccessLogger_ExcludeLoopbackIP 2026-10-18T20:51:32.544148665Z --- PASS: TestAccessLogger_ExcludeLoopbackIP (0.00s) 2026-10-18T20:51:32.544160945Z === RUN TestAccessLogger_NoExcludeWhenDisabled 2026-10-18T20:51:32.54417594Z --- PASS: TestAccessLogger_NoExcludeWhenDisabled (0.00s) 2026-10-18T20:51:32.5441859Z === RUN TestAccessLogger_WriteFailureDoesNotAffectResponse 2026-10-18T20:51:32.544212214Z 2026-10-18T20:51:19Z WRN access log write failed error="disk full" adapter=http client_ip=192.0.2.1 layer=adapter method=GET path=/ request_id=03638847a1906a8510b2da9f39e3a8e8 status=200 2026-10-18T20:51:32.544226665Z --- PASS: TestAccessLogger_WriteFailureDoesNotAffectResponse (0.00s) 2026-10-18T20:51:32.544237139Z === RUN TestAccessLogger_PanicRecoveryChain_Captures500 2026-10-18T20:51:32.544256239Z 2026-10-18T20:51:19Z ERR panic recovered adapter=http host=example.com layer=adapter method=GET panic="test panic" path=/crash 2026-10-18T20:51:32.544267473Z --- PASS: TestAccessLogger_PanicRecoveryChain_Captures500 (0.00s) 2026-10-18T20:51:32.544277313Z === RUN TestRegistryAuthV2_LocalhostBypassRequiresInternalAuth 2026-10-18T20:51:32.544287429Z --- PASS: TestRegistryAuthV2_LocalhostBypassRequiresInternalAuth (0.00s) 2026-10-18T20:51:32.544299469Z === RUN TestRegistryAuthV2_LocalhostWrongInternalAuthFallsBack 2026-10-18T20:51:32.544316867Z 2026-10-18T20:51:19Z WRN unauthorized registry access attempt adapter=http client_ip=127.0.0.1 layer=adapter method=GET path=/v2/ 2026-10-18T20:51:32.544328119Z --- PASS: TestRegistryAuthV2_LocalhostWrongInternalAuthFallsBack (0.00s) 2026-10-18T20:51:32.54433764Z === RUN TestRegistryAuthV2_NonLocalhostIgnoresInternalAuth 2026-10-18T20:51:32.544355315Z 2026-10-18T20:51:19Z WRN registry auth over insecure HTTP connection adapter=http client_ip=192.168.1.10 layer=adapter method=GET path=/v2/ 2026-10-18T20:51:32.544377595Z 2026-10-18T20:51:19Z WRN unauthorized registry access attempt adapter=http client_ip=192.168.1.10 layer=adapter method=GET path=/v2/ 2026-10-18T20:51:32.544395257Z --- PASS: TestRegistryAuthV2_NonLocalhostIgnoresInternalAuth (0.00s) 2026-10-18T20:51:32.544409785Z === RUN TestCheckScopeAccess_ActionMapping 2026-10-18T20:51:32.544425087Z === RUN TestCheckScopeAccess_ActionMapping/GET_maps_to_pull 2026-10-18T20:51:32.544440112Z === RUN TestCheckScopeAccess_ActionMapping/HEAD_maps_to_pull 2026-10-18T20:51:32.544452695Z === RUN TestCheckScopeAccess_ActionMapping/PUT_maps_to_push 2026-10-18T20:51:32.544468478Z === RUN TestCheckScopeAccess_ActionMapping/POST_maps_to_push 2026-10-18T20:51:32.544483603Z === RUN TestCheckScopeAccess_ActionMapping/PATCH_maps_to_push 2026-10-18T20:51:32.544498927Z === RUN TestCheckScopeAccess_ActionMapping/DELETE_maps_to_push 2026-10-18T20:51:32.54451637Z === RUN TestCheckScopeAccess_ActionMapping/OPTIONS_defaults_to_pull 2026-10-18T20:51:32.544526273Z --- PASS: TestCheckScopeAccess_ActionMapping (0.00s) 2026-10-18T20:51:32.54455222Z --- PASS: TestCheckScopeAccess_ActionMapping/GET_maps_to_pull (0.00s) 2026-10-18T20:51:32.544579577Z --- PASS: TestCheckScopeAccess_ActionMapping/HEAD_maps_to_pull (0.00s) 2026-10-18T20:51:32.544605879Z --- PASS: TestCheckScopeAccess_ActionMapping/PUT_maps_to_push (0.00s) 2026-10-18T20:51:32.544631695Z --- PASS: TestCheckScopeAccess_ActionMapping/POST_maps_to_push (0.00s) 2026-10-18T20:51:32.544659151Z --- PASS: TestCheckScopeAccess_ActionMapping/PATCH_maps_to_push (0.00s) 2026-10-18T20:51:32.544686264Z --- PASS: TestCheckScopeAccess_ActionMapping/DELETE_maps_to_push (0.00s) 2026-10-18T20:51:32.544716159Z --- PASS: TestCheckScopeAccess_ActionMapping/OPTIONS_defaults_to_pull (0.00s) 2026-10-18T20:51:32.544725343Z === RUN TestCheckScopeAccess_RepoNameExtraction 2026-10-18T20:51:32.544735494Z === RUN TestCheckScopeAccess_RepoNameExtraction/simple_repo_with_manifests 2026-10-18T20:51:32.544745353Z === RUN TestCheckScopeAccess_RepoNameExtraction/simple_repo_with_blobs 2026-10-18T20:51:32.544755421Z === RUN TestCheckScopeAccess_RepoNameExtraction/nested_repo_with_manifests 2026-10-18T20:51:32.54476527Z === RUN TestCheckScopeAccess_RepoNameExtraction/deeply_nested_repo 2026-10-18T20:51:32.544775709Z === RUN TestCheckScopeAccess_RepoNameExtraction/repo_with_tags_list 2026-10-18T20:51:32.544785286Z === RUN TestCheckScopeAccess_RepoNameExtraction/wrong_repo_name 2026-10-18T20:51:32.544794514Z --- PASS: TestCheckScopeAccess_RepoNameExtraction (0.00s) 2026-10-18T20:51:32.544824799Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/simple_repo_with_manifests (0.00s) 2026-10-18T20:51:32.5448544Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/simple_repo_with_blobs (0.00s) 2026-10-18T20:51:32.544884763Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/nested_repo_with_manifests (0.00s) 2026-10-18T20:51:32.544912758Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/deeply_nested_repo (0.00s) 2026-10-18T20:51:32.544941179Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/repo_with_tags_list (0.00s) 2026-10-18T20:51:32.544968242Z --- PASS: TestCheckScopeAccess_RepoNameExtraction/wrong_repo_name (0.00s) 2026-10-18T20:51:32.544978244Z === RUN TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository 2026-10-18T20:51:32.544991266Z === RUN TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/unauthorized_repo_behind_reserved_first_component 2026-10-18T20:51:32.545005847Z === RUN TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/authorized_prefix_cannot_reach_a_nested_repository 2026-10-18T20:51:32.545020046Z === RUN TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/pull_token_cannot_PUT_a_reserved-looking_repository 2026-10-18T20:51:32.545032915Z === RUN TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/exact_nested_repository_is_authorized 2026-10-18T20:51:32.545044948Z --- PASS: TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository (0.00s) 2026-10-18T20:51:32.545089098Z --- PASS: TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/unauthorized_repo_behind_reserved_first_component (0.00s) 2026-10-18T20:51:32.545133751Z --- PASS: TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/authorized_prefix_cannot_reach_a_nested_repository (0.00s) 2026-10-18T20:51:32.54518014Z --- PASS: TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/pull_token_cannot_PUT_a_reserved-looking_repository (0.00s) 2026-10-18T20:51:32.545222328Z --- PASS: TestCheckScopeAccess_ReservedComponentsCannotRedirectRepository/exact_nested_repository_is_authorized (0.00s) 2026-10-18T20:51:32.545232309Z === RUN TestCheckScopeAccess_WildcardMatching 2026-10-18T20:51:32.545242347Z === RUN TestCheckScopeAccess_WildcardMatching/wildcard_repo_matches_any 2026-10-18T20:51:32.545252893Z === RUN TestCheckScopeAccess_WildcardMatching/org_wildcard_matches_repo_in_org 2026-10-18T20:51:32.545264337Z === RUN TestCheckScopeAccess_WildcardMatching/org_wildcard_does_not_match_other_org 2026-10-18T20:51:32.545274803Z === RUN TestCheckScopeAccess_WildcardMatching/wildcard_action_grants_push 2026-10-18T20:51:32.545284229Z --- PASS: TestCheckScopeAccess_WildcardMatching (0.00s) 2026-10-18T20:51:32.545313276Z --- PASS: TestCheckScopeAccess_WildcardMatching/wildcard_repo_matches_any (0.00s) 2026-10-18T20:51:32.545344478Z --- PASS: TestCheckScopeAccess_WildcardMatching/org_wildcard_matches_repo_in_org (0.00s) 2026-10-18T20:51:32.54537967Z --- PASS: TestCheckScopeAccess_WildcardMatching/org_wildcard_does_not_match_other_org (0.00s) 2026-10-18T20:51:32.545410276Z --- PASS: TestCheckScopeAccess_WildcardMatching/wildcard_action_grants_push (0.00s) 2026-10-18T20:51:32.545419149Z === RUN TestCheckScopeAccess_SpecialRoutes 2026-10-18T20:51:32.545429565Z === RUN TestCheckScopeAccess_SpecialRoutes/v2_root_is_allowed 2026-10-18T20:51:32.545439178Z === RUN TestCheckScopeAccess_SpecialRoutes/non-v2_path_is_denied 2026-10-18T20:51:32.545449845Z === RUN TestCheckScopeAccess_SpecialRoutes/catalog_path_is_handled 2026-10-18T20:51:32.545461686Z --- PASS: TestCheckScopeAccess_SpecialRoutes (0.00s) 2026-10-18T20:51:32.545488498Z --- PASS: TestCheckScopeAccess_SpecialRoutes/v2_root_is_allowed (0.00s) 2026-10-18T20:51:32.545540943Z --- PASS: TestCheckScopeAccess_SpecialRoutes/non-v2_path_is_denied (0.00s) 2026-10-18T20:51:32.54557267Z --- PASS: TestCheckScopeAccess_SpecialRoutes/catalog_path_is_handled (0.00s) 2026-10-18T20:51:32.545584954Z === RUN TestRegistryAuthV2_RejectsLongLivedToken 2026-10-18T20:51:32.545605421Z 2026-10-18T20:51:19Z WRN registry auth over insecure HTTP connection adapter=http client_ip=10.0.0.1 layer=adapter method=GET path=/v2/myrepo/manifests/latest 2026-10-18T20:51:32.545624686Z 2026-10-18T20:51:19Z WRN long-lived token rejected on registry endpoint method=GET path=/v2/myrepo/manifests/latest subject=admin 2026-10-18T20:51:32.545644367Z 2026-10-18T20:51:19Z WRN unauthorized registry access attempt adapter=http client_ip=10.0.0.1 layer=adapter method=GET path=/v2/myrepo/manifests/latest 2026-10-18T20:51:32.54565488Z --- PASS: TestRegistryAuthV2_RejectsLongLivedToken (0.00s) 2026-10-18T20:51:32.545663568Z === RUN TestRegistryAuthV2_AcceptsEphemeralToken 2026-10-18T20:51:32.545682692Z 2026-10-18T20:51:19Z WRN registry auth over insecure HTTP connection adapter=http client_ip=10.0.0.1 layer=adapter method=GET path=/v2/myrepo/manifests/latest 2026-10-18T20:51:32.545693885Z --- PASS: TestRegistryAuthV2_AcceptsEphemeralToken (0.00s) 2026-10-18T20:51:32.545703209Z === RUN TestRegistryAuthV2_RejectsLongLivedTokenAsPassword 2026-10-18T20:51:32.545725591Z 2026-10-18T20:51:19Z WRN registry auth over insecure HTTP connection adapter=http client_ip=10.0.0.1 layer=adapter method=GET path=/v2/myrepo/manifests/latest 2026-10-18T20:51:32.545743433Z 2026-10-18T20:51:19Z WRN long-lived token rejected on registry endpoint method=GET path=/v2/myrepo/manifests/latest subject=ci-user 2026-10-18T20:51:32.545764258Z 2026-10-18T20:51:19Z WRN unauthorized registry access attempt adapter=http client_ip=10.0.0.1 layer=adapter method=GET path=/v2/myrepo/manifests/latest 2026-10-18T20:51:32.545775289Z --- PASS: TestRegistryAuthV2_RejectsLongLivedTokenAsPassword (0.00s) 2026-10-18T20:51:32.545784083Z === RUN TestCheckScopeAccess_DenialCases 2026-10-18T20:51:32.545793578Z === RUN TestCheckScopeAccess_DenialCases/pull_scope_denies_push 2026-10-18T20:51:32.545803329Z === RUN TestCheckScopeAccess_DenialCases/wrong_repo_denies_access 2026-10-18T20:51:32.545813148Z === RUN TestCheckScopeAccess_DenialCases/empty_scopes_denies_access 2026-10-18T20:51:32.545823552Z === RUN TestCheckScopeAccess_DenialCases/invalid_scope_format_is_skipped 2026-10-18T20:51:32.545833396Z --- PASS: TestCheckScopeAccess_DenialCases (0.00s) 2026-10-18T20:51:32.545860669Z --- PASS: TestCheckScopeAccess_DenialCases/pull_scope_denies_push (0.00s) 2026-10-18T20:51:32.545888861Z --- PASS: TestCheckScopeAccess_DenialCases/wrong_repo_denies_access (0.00s) 2026-10-18T20:51:32.545917193Z --- PASS: TestCheckScopeAccess_DenialCases/empty_scopes_denies_access (0.00s) 2026-10-18T20:51:32.545947227Z --- PASS: TestCheckScopeAccess_DenialCases/invalid_scope_format_is_skipped (0.00s) 2026-10-18T20:51:32.545955487Z === RUN TestRegistryCIDRAllowlist 2026-10-18T20:51:32.545965385Z === RUN TestRegistryCIDRAllowlist/no_CIDRs_configured_passes_through 2026-10-18T20:51:32.545974911Z === RUN TestRegistryCIDRAllowlist/empty_CIDRs_passes_through 2026-10-18T20:51:32.545984309Z === RUN TestRegistryCIDRAllowlist/allowed_IP_returns_200 2026-10-18T20:51:32.54599328Z === RUN TestRegistryCIDRAllowlist/denied_IP_returns_403 2026-10-18T20:51:32.546012363Z 2026-10-18T20:51:19Z WRN registry access denied by CIDR allowlist adapter=http client_ip=203.0.113.50 layer=adapter method=GET 2026-10-18T20:51:32.546025587Z === RUN TestRegistryCIDRAllowlist/localhost_always_allowed_even_when_not_in_allowlist 2026-10-18T20:51:32.546035057Z === RUN TestRegistryCIDRAllowlist/127.x.x.x_always_allowed 2026-10-18T20:51:32.5460444Z === RUN TestRegistryCIDRAllowlist/IPv6_localhost_always_allowed 2026-10-18T20:51:32.546054445Z === RUN TestRegistryCIDRAllowlist/trusted_proxy_forwards_allowed_client_IP 2026-10-18T20:51:32.546065797Z === RUN TestRegistryCIDRAllowlist/trusted_proxy_forwards_denied_client_IP 2026-10-18T20:51:32.546082948Z 2026-10-18T20:51:19Z WRN registry access denied by CIDR allowlist adapter=http client_ip=203.0.113.50 layer=adapter method=GET 2026-10-18T20:51:32.546092572Z --- PASS: TestRegistryCIDRAllowlist (0.00s) 2026-10-18T20:51:32.546122328Z --- PASS: TestRegistryCIDRAllowlist/no_CIDRs_configured_passes_through (0.00s) 2026-10-18T20:51:32.546149298Z --- PASS: TestRegistryCIDRAllowlist/empty_CIDRs_passes_through (0.00s) 2026-10-18T20:51:32.546174638Z --- PASS: TestRegistryCIDRAllowlist/allowed_IP_returns_200 (0.00s) 2026-10-18T20:51:32.546199719Z --- PASS: TestRegistryCIDRAllowlist/denied_IP_returns_403 (0.00s) 2026-10-18T20:51:32.546233846Z --- PASS: TestRegistryCIDRAllowlist/localhost_always_allowed_even_when_not_in_allowlist (0.00s) 2026-10-18T20:51:32.546260432Z --- PASS: TestRegistryCIDRAllowlist/127.x.x.x_always_allowed (0.00s) 2026-10-18T20:51:32.546287165Z --- PASS: TestRegistryCIDRAllowlist/IPv6_localhost_always_allowed (0.00s) 2026-10-18T20:51:32.547009196Z --- PASS: TestRegistryCIDRAllowlist/trusted_proxy_forwards_allowed_client_IP (0.00s) 2026-10-18T20:51:32.547062003Z --- PASS: TestRegistryCIDRAllowlist/trusted_proxy_forwards_denied_client_IP (0.00s) 2026-10-18T20:51:32.547105845Z === RUN TestHTTPSRedirect_NoPortHost_OmitsTLSPort 2026-10-18T20:51:32.547125711Z --- PASS: TestHTTPSRedirect_NoPortHost_OmitsTLSPort (0.00s) 2026-10-18T20:51:32.547149044Z === RUN TestHTTPSRedirect_HTTPListenerPort_MapsToTLSPort 2026-10-18T20:51:32.547187651Z --- PASS: TestHTTPSRedirect_HTTPListenerPort_MapsToTLSPort (0.00s) 2026-10-18T20:51:32.547208321Z === RUN TestHTTPSRedirect_UnknownExplicitPort_IsPreserved 2026-10-18T20:51:32.547228203Z --- PASS: TestHTTPSRedirect_UnknownExplicitPort_IsPreserved (0.00s) 2026-10-18T20:51:32.547265445Z === RUN TestHTTPSRedirect_TrailingDotHostRedirectsToCanonicalHost 2026-10-18T20:51:32.547288623Z --- PASS: TestHTTPSRedirect_TrailingDotHostRedirectsToCanonicalHost (0.00s) 2026-10-18T20:51:32.547314596Z === RUN TestHTTPSRedirect_RejectsInvalidHost 2026-10-18T20:51:32.547355983Z === RUN TestHTTPSRedirect_RejectsInvalidHost/invalid_port 2026-10-18T20:51:32.54737259Z === RUN TestHTTPSRedirect_RejectsInvalidHost/localhost 2026-10-18T20:51:32.547390637Z === RUN TestHTTPSRedirect_RejectsInvalidHost/ipv6 2026-10-18T20:51:32.547406302Z === RUN TestHTTPSRedirect_RejectsInvalidHost/unconfigured_public_host 2026-10-18T20:51:32.547420332Z --- PASS: TestHTTPSRedirect_RejectsInvalidHost (0.00s) 2026-10-18T20:51:32.5474496Z --- PASS: TestHTTPSRedirect_RejectsInvalidHost/invalid_port (0.00s) 2026-10-18T20:51:32.547481816Z --- PASS: TestHTTPSRedirect_RejectsInvalidHost/localhost (0.00s) 2026-10-18T20:51:32.547511214Z --- PASS: TestHTTPSRedirect_RejectsInvalidHost/ipv6 (0.00s) 2026-10-18T20:51:32.547545602Z --- PASS: TestHTTPSRedirect_RejectsInvalidHost/unconfigured_public_host (0.00s) 2026-10-18T20:51:32.547574638Z === RUN TestHTTPSRedirect_TLSAlwaysNeverServesPlaintext 2026-10-18T20:51:32.547602096Z 2026-10-18T20:51:19Z WRN plaintext refused: host requires TLS but no HTTPS endpoint is configured host=secure.example.com 2026-10-18T20:51:32.547631378Z --- PASS: TestHTTPSRedirect_TLSAlwaysNeverServesPlaintext (0.00s) 2026-10-18T20:51:32.547647243Z === RUN TestHTTPSRedirect_TLSAlwaysIgnoresDisabledRedirectConfig 2026-10-18T20:51:32.547662561Z --- PASS: TestHTTPSRedirect_TLSAlwaysIgnoresDisabledRedirectConfig (0.00s) 2026-10-18T20:51:32.547678315Z === RUN TestHTTPSRedirect_IneligibleKnownHostPassesThrough 2026-10-18T20:51:32.54770465Z --- PASS: TestHTTPSRedirect_IneligibleKnownHostPassesThrough (0.00s) 2026-10-18T20:51:32.547720087Z === RUN TestProxyCIDRAllowlist 2026-10-18T20:51:32.547730959Z === RUN TestProxyCIDRAllowlist/no_CIDRs_configured_passes_through 2026-10-18T20:51:32.547751961Z === RUN TestProxyCIDRAllowlist/allowed_IP_gets_redirect 2026-10-18T20:51:32.547766201Z === RUN TestProxyCIDRAllowlist/blocked_IP_gets_403 2026-10-18T20:51:32.547787937Z 2026-10-18T20:51:19Z WRN proxy origin access denied by CIDR allowlist adapter=http client_ip=203.0.113.50 layer=adapter method=GET 2026-10-18T20:51:32.547809629Z === RUN TestProxyCIDRAllowlist/localhost_always_allowed 2026-10-18T20:51:32.547828448Z === RUN TestProxyCIDRAllowlist/ignores_XFF_(uses_RemoteAddr_only) 2026-10-18T20:51:32.547846844Z 2026-10-18T20:51:19Z WRN proxy origin access denied by CIDR allowlist adapter=http client_ip=203.0.113.50 layer=adapter method=GET 2026-10-18T20:51:32.547868199Z --- PASS: TestProxyCIDRAllowlist (0.00s) 2026-10-18T20:51:32.54790718Z --- PASS: TestProxyCIDRAllowlist/no_CIDRs_configured_passes_through (0.00s) 2026-10-18T20:51:32.547942463Z --- PASS: TestProxyCIDRAllowlist/allowed_IP_gets_redirect (0.00s) 2026-10-18T20:51:32.547967993Z --- PASS: TestProxyCIDRAllowlist/blocked_IP_gets_403 (0.00s) 2026-10-18T20:51:32.547997926Z --- PASS: TestProxyCIDRAllowlist/localhost_always_allowed (0.00s) 2026-10-18T20:51:32.548026935Z --- PASS: TestProxyCIDRAllowlist/ignores_XFF_(uses_RemoteAddr_only) (0.00s) 2026-10-18T20:51:32.548038722Z === RUN TestGetClientIP 2026-10-18T20:51:32.548048798Z === RUN TestGetClientIP/from_RemoteAddr_with_port 2026-10-18T20:51:32.548058037Z === RUN TestGetClientIP/from_RemoteAddr_without_port 2026-10-18T20:51:32.548067483Z === RUN TestGetClientIP/XFF_ignored_when_no_trusted_proxies 2026-10-18T20:51:32.548080774Z === RUN TestGetClientIP/XFF_ignored_when_remote_is_not_trusted 2026-10-18T20:51:32.54809474Z === RUN TestGetClientIP/XFF_honored_from_trusted_proxy_(single_IP) 2026-10-18T20:51:32.54812129Z === RUN TestGetClientIP/XFF_honored_from_trusted_proxy_(multiple_IPs) 2026-10-18T20:51:32.548144332Z === RUN TestGetClientIP/XFF_spoof_chain_returns_first_untrusted_from_right 2026-10-18T20:51:32.548172351Z === RUN TestGetClientIP/XFF_honored_from_trusted_CIDR 2026-10-18T20:51:32.548189005Z === RUN TestGetClientIP/X-Real-IP_honored_from_trusted_proxy 2026-10-18T20:51:32.548209112Z === RUN TestGetClientIP/X-Real-IP_ignored_when_not_trusted 2026-10-18T20:51:32.548228175Z === RUN TestGetClientIP/XFF_takes_precedence_over_X-Real-IP 2026-10-18T20:51:32.54824464Z === RUN TestGetClientIP/Cf-Connecting-Ip_honored_from_Cloudflare_IP 2026-10-18T20:51:32.548266352Z === RUN TestGetClientIP/Cf-Connecting-Ip_ignored_from_non-Cloudflare_trusted_proxy 2026-10-18T20:51:32.548295608Z === RUN TestGetClientIP/Cf-Connecting-Ip_ignored_from_untrusted_IP 2026-10-18T20:51:32.548315699Z === RUN TestGetClientIP/IPv6_RemoteAddr 2026-10-18T20:51:32.548334184Z --- PASS: TestGetClientIP (0.00s) 2026-10-18T20:51:32.548366831Z --- PASS: TestGetClientIP/from_RemoteAddr_with_port (0.00s) 2026-10-18T20:51:32.548396721Z --- PASS: TestGetClientIP/from_RemoteAddr_without_port (0.00s) 2026-10-18T20:51:32.548427945Z --- PASS: TestGetClientIP/XFF_ignored_when_no_trusted_proxies (0.00s) 2026-10-18T20:51:32.548462654Z --- PASS: TestGetClientIP/XFF_ignored_when_remote_is_not_trusted (0.00s) 2026-10-18T20:51:32.548495724Z --- PASS: TestGetClientIP/XFF_honored_from_trusted_proxy_(single_IP) (0.00s) 2026-10-18T20:51:32.548529563Z --- PASS: TestGetClientIP/XFF_honored_from_trusted_proxy_(multiple_IPs) (0.00s) 2026-10-18T20:51:32.548564602Z --- PASS: TestGetClientIP/XFF_spoof_chain_returns_first_untrusted_from_right (0.00s) 2026-10-18T20:51:32.548599207Z --- PASS: TestGetClientIP/XFF_honored_from_trusted_CIDR (0.00s) 2026-10-18T20:51:32.54863185Z --- PASS: TestGetClientIP/X-Real-IP_honored_from_trusted_proxy (0.00s) 2026-10-18T20:51:32.548665671Z --- PASS: TestGetClientIP/X-Real-IP_ignored_when_not_trusted (0.00s) 2026-10-18T20:51:32.548699527Z --- PASS: TestGetClientIP/XFF_takes_precedence_over_X-Real-IP (0.00s) 2026-10-18T20:51:32.548732275Z --- PASS: TestGetClientIP/Cf-Connecting-Ip_honored_from_Cloudflare_IP (0.00s) 2026-10-18T20:51:32.548772275Z --- PASS: TestGetClientIP/Cf-Connecting-Ip_ignored_from_non-Cloudflare_trusted_proxy (0.00s) 2026-10-18T20:51:32.548809235Z --- PASS: TestGetClientIP/Cf-Connecting-Ip_ignored_from_untrusted_IP (0.00s) 2026-10-18T20:51:32.548836005Z --- PASS: TestGetClientIP/IPv6_RemoteAddr (0.00s) 2026-10-18T20:51:32.548866185Z === RUN TestParseTrustedProxies 2026-10-18T20:51:32.548890273Z === RUN TestParseTrustedProxies/empty_list 2026-10-18T20:51:32.548900608Z === RUN TestParseTrustedProxies/single_IP_match 2026-10-18T20:51:32.548915058Z === RUN TestParseTrustedProxies/single_IP_no_match 2026-10-18T20:51:32.548923779Z === RUN TestParseTrustedProxies/CIDR_match 2026-10-18T20:51:32.54893572Z === RUN TestParseTrustedProxies/CIDR_no_match 2026-10-18T20:51:32.548947999Z === RUN TestParseTrustedProxies/mixed_IP_and_CIDR 2026-10-18T20:51:32.548965766Z === RUN TestParseTrustedProxies/invalid_entries_ignored 2026-10-18T20:51:32.548978878Z === RUN TestParseTrustedProxies/IPv6_single_IP 2026-10-18T20:51:32.548992654Z === RUN TestParseTrustedProxies/IPv6_CIDR 2026-10-18T20:51:32.549004989Z --- PASS: TestParseTrustedProxies (0.00s) 2026-10-18T20:51:32.549030263Z --- PASS: TestParseTrustedProxies/empty_list (0.00s) 2026-10-18T20:51:32.549056848Z --- PASS: TestParseTrustedProxies/single_IP_match (0.00s) 2026-10-18T20:51:32.549084265Z --- PASS: TestParseTrustedProxies/single_IP_no_match (0.00s) 2026-10-18T20:51:32.549109811Z --- PASS: TestParseTrustedProxies/CIDR_match (0.00s) 2026-10-18T20:51:32.549136272Z --- PASS: TestParseTrustedProxies/CIDR_no_match (0.00s) 2026-10-18T20:51:32.549169349Z --- PASS: TestParseTrustedProxies/mixed_IP_and_CIDR (0.00s) 2026-10-18T20:51:32.549217568Z --- PASS: TestParseTrustedProxies/invalid_entries_ignored (0.00s) 2026-10-18T20:51:32.549253201Z --- PASS: TestParseTrustedProxies/IPv6_single_IP (0.00s) 2026-10-18T20:51:32.549286429Z --- PASS: TestParseTrustedProxies/IPv6_CIDR (0.00s) 2026-10-18T20:51:32.549304769Z === RUN TestIsTrustedProxy 2026-10-18T20:51:32.549319239Z === RUN TestIsTrustedProxy/empty_trusted_nets 2026-10-18T20:51:32.549335407Z === RUN TestIsTrustedProxy/nil_trusted_nets 2026-10-18T20:51:32.549350418Z === RUN TestIsTrustedProxy/invalid_IP 2026-10-18T20:51:32.549362874Z === RUN TestIsTrustedProxy/empty_IP 2026-10-18T20:51:32.549375268Z --- PASS: TestIsTrustedProxy (0.00s) 2026-10-18T20:51:32.549404702Z --- PASS: TestIsTrustedProxy/empty_trusted_nets (0.00s) 2026-10-18T20:51:32.549433752Z --- PASS: TestIsTrustedProxy/nil_trusted_nets (0.00s) 2026-10-18T20:51:32.549458655Z --- PASS: TestIsTrustedProxy/invalid_IP (0.00s) 2026-10-18T20:51:32.549482814Z --- PASS: TestIsTrustedProxy/empty_IP (0.00s) 2026-10-18T20:51:32.549499302Z === RUN TestRequestLogger_RedactsSensitiveReferers 2026-10-18T20:51:32.549529067Z === RUN TestRequestLogger_RedactsSensitiveReferers/query_params 2026-10-18T20:51:32.549544661Z === RUN TestRequestLogger_RedactsSensitiveReferers/fragment_removed 2026-10-18T20:51:32.549559376Z === RUN TestRequestLogger_RedactsSensitiveReferers/userinfo_removed 2026-10-18T20:51:32.549575112Z === RUN TestRequestLogger_RedactsSensitiveReferers/malformed_query_key_redacted_conservatively 2026-10-18T20:51:32.549589829Z --- PASS: TestRequestLogger_RedactsSensitiveReferers (0.00s) 2026-10-18T20:51:32.549626874Z --- PASS: TestRequestLogger_RedactsSensitiveReferers/query_params (0.00s) 2026-10-18T20:51:32.549660561Z --- PASS: TestRequestLogger_RedactsSensitiveReferers/fragment_removed (0.00s) 2026-10-18T20:51:32.549693691Z --- PASS: TestRequestLogger_RedactsSensitiveReferers/userinfo_removed (0.00s) 2026-10-18T20:51:32.549736402Z --- PASS: TestRequestLogger_RedactsSensitiveReferers/malformed_query_key_redacted_conservatively (0.00s) 2026-10-18T20:51:32.549751766Z === RUN TestPanicRecovery_RethrowsReverseProxyAbort 2026-10-18T20:51:32.549765318Z --- PASS: TestPanicRecovery_RethrowsReverseProxyAbort (0.00s) 2026-10-18T20:51:32.549778081Z === RUN TestSecurityHeaders 2026-10-18T20:51:32.549790659Z --- PASS: TestSecurityHeaders (0.00s) 2026-10-18T20:51:32.549804341Z === RUN TestSecurityHeaders_HSTS_WithTLS 2026-10-18T20:51:32.549817489Z --- PASS: TestSecurityHeaders_HSTS_WithTLS (0.00s) 2026-10-18T20:51:32.549830859Z === RUN TestSecurityHeaders_HSTS_WithForwardedProto_NotTrusted 2026-10-18T20:51:32.549845749Z --- PASS: TestSecurityHeaders_HSTS_WithForwardedProto_NotTrusted (0.00s) 2026-10-18T20:51:32.549859762Z === RUN TestSecurityHeaders_PreservesExistingHeaders 2026-10-18T20:51:32.549874061Z --- PASS: TestSecurityHeaders_PreservesExistingHeaders (0.00s) 2026-10-18T20:51:32.549890215Z === RUN TestSecurityHeaders_CallsNextHandler 2026-10-18T20:51:32.549904933Z --- PASS: TestSecurityHeaders_CallsNextHandler (0.00s) 2026-10-18T20:51:32.549919224Z === RUN TestTransferIdleTimeout_SlowActiveDownloadCompletes 2026-10-18T20:51:32.549938634Z --- PASS: TestTransferIdleTimeout_SlowActiveDownloadCompletes (0.60s) 2026-10-18T20:51:32.549952836Z === RUN TestTransferIdleTimeout_SilentResponseIsCut 2026-10-18T20:51:32.54997285Z --- PASS: TestTransferIdleTimeout_SilentResponseIsCut (0.90s) 2026-10-18T20:51:32.549992172Z === RUN TestTransferIdleTimeout_SilentHandlerBeforeFirstByteIsCut 2026-10-18T20:51:32.550010772Z --- PASS: TestTransferIdleTimeout_SilentHandlerBeforeFirstByteIsCut (0.90s) 2026-10-18T20:51:32.550025951Z === RUN TestTransferIdleTimeout_SlowActiveUploadCompletes 2026-10-18T20:51:32.550040384Z --- PASS: TestTransferIdleTimeout_SlowActiveUploadCompletes (0.60s) 2026-10-18T20:51:32.5500542Z === RUN TestTransferIdleTimeout_StalledUploadIsCut 2026-10-18T20:51:32.550082817Z --- PASS: TestTransferIdleTimeout_StalledUploadIsCut (0.80s) 2026-10-18T20:51:32.550103325Z === RUN TestTransferIdleTimeout_PreservesFlusherAndUnwrap 2026-10-18T20:51:32.550118869Z --- PASS: TestTransferIdleTimeout_PreservesFlusherAndUnwrap (0.00s) 2026-10-18T20:51:32.55013649Z === RUN TestTransferIdleTimeout_HijackStillWorks 2026-10-18T20:51:32.550151158Z --- PASS: TestTransferIdleTimeout_HijackStillWorks (0.60s) 2026-10-18T20:51:32.550170218Z === RUN TestTransferIdleTimeout_ReverseProxyFlushesStream 2026-10-18T20:51:32.550187333Z --- PASS: TestTransferIdleTimeout_ReverseProxyFlushesStream (0.40s) 2026-10-18T20:51:32.550206754Z === RUN TestTransferIdleTimeout_DisabledWhenNonPositive 2026-10-18T20:51:32.550225392Z --- PASS: TestTransferIdleTimeout_DisabledWhenNonPositive (0.00s) 2026-10-18T20:51:32.550244412Z === RUN TestTransferIdleTimeout_HTTP2 2026-10-18T20:51:32.550267408Z --- PASS: TestTransferIdleTimeout_HTTP2 (0.61s) 2026-10-18T20:51:32.550283097Z === RUN TestTransferIdleTimeout_BackpressuredButReadingClientIsNotCut 2026-10-18T20:51:32.550298456Z --- PASS: TestTransferIdleTimeout_BackpressuredButReadingClientIsNotCut (0.63s) 2026-10-18T20:51:32.550316587Z === RUN TestTransferIdleTimeout_NonReadingClientUnblocksWrite 2026-10-18T20:51:32.550331747Z --- PASS: TestTransferIdleTimeout_NonReadingClientUnblocksWrite (0.30s) 2026-10-18T20:51:32.550352469Z === RUN TestTransferIdleTimeout_SilentHandlerContextCanceledAndConnectionClosed 2026-10-18T20:51:32.550369903Z --- PASS: TestTransferIdleTimeout_SilentHandlerContextCanceledAndConnectionClosed (0.30s) 2026-10-18T20:51:32.550385117Z === RUN TestTransferIdleTimeout_ProgressKeepsContextAlive 2026-10-18T20:51:32.550399778Z --- PASS: TestTransferIdleTimeout_ProgressKeepsContextAlive (0.61s) 2026-10-18T20:51:32.550417064Z === RUN TestTransferIdleTimeout_BodyUseAfterHandlerReturnedIsSafe 2026-10-18T20:51:32.550431892Z --- PASS: TestTransferIdleTimeout_BodyUseAfterHandlerReturnedIsSafe (0.00s) 2026-10-18T20:51:32.55044725Z === RUN TestTransferIdleTimeout_HTTP2ReverseProxyEarlyResponseDuringUpload 2026-10-18T20:51:32.550464543Z --- PASS: TestTransferIdleTimeout_HTTP2ReverseProxyEarlyResponseDuringUpload (0.23s) 2026-10-18T20:51:32.550482054Z === RUN TestTransferIdleTimeout_HTTP2BodyUsedAfterHandlerReturned 2026-10-18T20:51:32.550497556Z --- PASS: TestTransferIdleTimeout_HTTP2BodyUsedAfterHandlerReturned (0.11s) 2026-10-18T20:51:32.550514912Z === RUN TestTransferIdleTimeout_FinalFlushToNonReadingClientIsBounded 2026-10-18T20:51:32.550530501Z --- PASS: TestTransferIdleTimeout_FinalFlushToNonReadingClientIsBounded (0.30s) 2026-10-18T20:51:32.550545095Z === RUN TestTransferIdleTimeout_UnreadDeclaredBodyDrainIsBounded 2026-10-18T20:51:32.550561997Z --- PASS: TestTransferIdleTimeout_UnreadDeclaredBodyDrainIsBounded (0.80s) 2026-10-18T20:51:32.550579761Z === RUN TestTransferIdleTimeout_UnreadDeclaredBodyDrainIsBoundedOverTCP 2026-10-18T20:51:32.550595698Z --- PASS: TestTransferIdleTimeout_UnreadDeclaredBodyDrainIsBoundedOverTCP (0.80s) 2026-10-18T20:51:32.550614481Z === RUN TestTransferIdleTimeout_KeepAliveNextRequestNotAffectedByLeftoverDeadlines 2026-10-18T20:51:32.550632055Z --- PASS: TestTransferIdleTimeout_KeepAliveNextRequestNotAffectedByLeftoverDeadlines (1.80s) 2026-10-18T20:51:32.550647748Z === RUN TestTransferIdleTimeout_HijackBlockedOnNonReadingClientIsBounded 2026-10-18T20:51:32.550665617Z --- PASS: TestTransferIdleTimeout_HijackBlockedOnNonReadingClientIsBounded (0.30s) 2026-10-18T20:51:32.550678002Z PASS 2026-10-18T20:51:32.550693385Z ok github.com/bnema/gordon/internal/adapters/in/http/middleware 12.668s 2026-10-18T20:51:32.550706421Z === RUN TestHandler_CACert 2026-10-18T20:51:32.550719491Z --- PASS: TestHandler_CACert (0.00s) 2026-10-18T20:51:32.550732056Z === RUN TestHandler_Mobileconfig 2026-10-18T20:51:32.550745539Z --- PASS: TestHandler_Mobileconfig (0.00s) 2026-10-18T20:51:32.550758123Z === RUN TestHandler_OnboardingPage 2026-10-18T20:51:32.550773418Z --- PASS: TestHandler_OnboardingPage (0.00s) 2026-10-18T20:51:32.550788391Z === RUN TestHandler_OnboardingPage_DefaultHTTPSURLOmitsInternalTLSPort 2026-10-18T20:51:32.550806221Z --- PASS: TestHandler_OnboardingPage_DefaultHTTPSURLOmitsInternalTLSPort (0.00s) 2026-10-18T20:51:32.550821736Z === RUN TestHandler_OnboardingPage_ExplicitHTTPPortMapsToTLSPort 2026-10-18T20:51:32.550836886Z --- PASS: TestHandler_OnboardingPage_ExplicitHTTPPortMapsToTLSPort (0.00s) 2026-10-18T20:51:32.550851993Z === RUN TestHandler_OnboardingPage_ExplicitNonHTTPPortIsPreserved 2026-10-18T20:51:32.550866776Z --- PASS: TestHandler_OnboardingPage_ExplicitNonHTTPPortIsPreserved (0.00s) 2026-10-18T20:51:32.550907502Z === RUN TestHandler_OnboardingPage_IPHostHidesGoToSiteLink 2026-10-18T20:51:32.550932123Z --- PASS: TestHandler_OnboardingPage_IPHostHidesGoToSiteLink (0.00s) 2026-10-18T20:51:32.550950113Z === RUN TestHandler_OnboardingPage_IncludesFingerprintAndClientImportCopy 2026-10-18T20:51:32.550971946Z --- PASS: TestHandler_OnboardingPage_IncludesFingerprintAndClientImportCopy (0.00s) 2026-10-18T20:51:32.550988755Z === RUN TestHandler_OnboardingPage_GoToSiteLinkIsPlainLink 2026-10-18T20:51:32.551004514Z --- PASS: TestHandler_OnboardingPage_GoToSiteLinkIsPlainLink (0.00s) 2026-10-18T20:51:32.551023278Z === RUN TestHandler_OnboardingPage_HEAD 2026-10-18T20:51:32.551042686Z --- PASS: TestHandler_OnboardingPage_HEAD (0.00s) 2026-10-18T20:51:32.551056089Z === RUN TestHandler_CACert_HEAD 2026-10-18T20:51:32.55107134Z --- PASS: TestHandler_CACert_HEAD (0.00s) 2026-10-18T20:51:32.551085424Z === RUN TestHandler_Mobileconfig_HEAD 2026-10-18T20:51:32.551100983Z --- PASS: TestHandler_Mobileconfig_HEAD (0.00s) 2026-10-18T20:51:32.551112838Z PASS 2026-10-18T20:51:32.551127732Z ok github.com/bnema/gordon/internal/adapters/in/http/onboarding 1.024s 2026-10-18T20:51:32.551141435Z === RUN TestForwardToTarget_H2CEndToEnd 2026-10-18T20:51:32.551156386Z --- PASS: TestForwardToTarget_H2CEndToEnd (0.00s) 2026-10-18T20:51:32.551169204Z === RUN TestForwardToTarget_HTTP1StillWorks 2026-10-18T20:51:32.551180249Z --- PASS: TestForwardToTarget_HTTP1StillWorks (0.00s) 2026-10-18T20:51:32.551195352Z === RUN TestTransportForTarget_SelectsCorrectTransport 2026-10-18T20:51:32.551211092Z --- PASS: TestTransportForTarget_SelectsCorrectTransport (0.00s) 2026-10-18T20:51:32.551232531Z === RUN TestForwardToTarget_OriginalHostPreserved 2026-10-18T20:51:32.551255448Z --- PASS: TestForwardToTarget_OriginalHostPreserved (0.00s) 2026-10-18T20:51:32.551274783Z === RUN TestForwardToTarget_RouteHostPreservedForManagedTarget 2026-10-18T20:51:32.551290156Z --- PASS: TestForwardToTarget_RouteHostPreservedForManagedTarget (0.00s) 2026-10-18T20:51:32.551309482Z === RUN TestForwardToTarget_ContextCanceled_Returns499 2026-10-18T20:51:32.551325876Z --- PASS: TestForwardToTarget_ContextCanceled_Returns499 (0.00s) 2026-10-18T20:51:32.551342028Z === RUN TestForwardToTarget_BackendDown_Returns503 2026-10-18T20:51:32.551356315Z --- PASS: TestForwardToTarget_BackendDown_Returns503 (0.00s) 2026-10-18T20:51:32.551373907Z === RUN TestForwardToTarget_ProxyHeaderSet 2026-10-18T20:51:32.551389994Z --- PASS: TestForwardToTarget_ProxyHeaderSet (0.00s) 2026-10-18T20:51:32.551405777Z === RUN TestNewReverseProxy_XForwardedProto 2026-10-18T20:51:32.551421553Z === RUN TestNewReverseProxy_XForwardedProto/trusted_proxy_with_https_preserved 2026-10-18T20:51:32.551443755Z === RUN TestNewReverseProxy_XForwardedProto/untrusted_source_proto_overwritten 2026-10-18T20:51:32.551461502Z === RUN TestNewReverseProxy_XForwardedProto/trusted_proxy_without_proto_set_normally 2026-10-18T20:51:32.551477165Z === RUN TestNewReverseProxy_XForwardedProto/no_trusted_nets_proto_not_preserved 2026-10-18T20:51:32.551493357Z === RUN TestNewReverseProxy_XForwardedProto/bare_IPv4_no_port_trusted_source_preserves_proto 2026-10-18T20:51:32.551519068Z === RUN TestNewReverseProxy_XForwardedProto/bare_IPv6_with_brackets_trusted_source_preserves_proto 2026-10-18T20:51:32.551539452Z === RUN TestNewReverseProxy_XForwardedProto/bare_IPv4_no_port_untrusted_source_strips_proto 2026-10-18T20:51:32.551556316Z --- PASS: TestNewReverseProxy_XForwardedProto (0.01s) 2026-10-18T20:51:32.551599046Z --- PASS: TestNewReverseProxy_XForwardedProto/trusted_proxy_with_https_preserved (0.00s) 2026-10-18T20:51:32.551638743Z --- PASS: TestNewReverseProxy_XForwardedProto/untrusted_source_proto_overwritten (0.00s) 2026-10-18T20:51:32.551682805Z --- PASS: TestNewReverseProxy_XForwardedProto/trusted_proxy_without_proto_set_normally (0.00s) 2026-10-18T20:51:32.551725812Z --- PASS: TestNewReverseProxy_XForwardedProto/no_trusted_nets_proto_not_preserved (0.00s) 2026-10-18T20:51:32.5517749Z --- PASS: TestNewReverseProxy_XForwardedProto/bare_IPv4_no_port_trusted_source_preserves_proto (0.00s) 2026-10-18T20:51:32.551823954Z --- PASS: TestNewReverseProxy_XForwardedProto/bare_IPv6_with_brackets_trusted_source_preserves_proto (0.00s) 2026-10-18T20:51:32.551870398Z --- PASS: TestNewReverseProxy_XForwardedProto/bare_IPv4_no_port_untrusted_source_strips_proto (0.00s) 2026-10-18T20:51:32.551894029Z === RUN TestNewReverseProxy_ClientIPHeaders 2026-10-18T20:51:32.551917642Z === RUN TestNewReverseProxy_ClientIPHeaders/untrusted_IPv4_peer_forged_headers_replaced 2026-10-18T20:51:32.551942169Z === RUN TestNewReverseProxy_ClientIPHeaders/untrusted_IPv6_peer_forged_X-Real-IP_replaced 2026-10-18T20:51:32.551964449Z === RUN TestNewReverseProxy_ClientIPHeaders/untrusted_IPv4-mapped_IPv6_peer_normalized_to_IPv4 2026-10-18T20:51:32.551981007Z === RUN TestNewReverseProxy_ClientIPHeaders/no_trusted_nets_ignores_proxy_headers 2026-10-18T20:51:32.55199959Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_uses_Cf-Connecting-Ip 2026-10-18T20:51:32.552014669Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_with_IPv6_client 2026-10-18T20:51:32.552037768Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_non-Cloudflare_proxy_uses_right-most_untrusted_XFF_hop 2026-10-18T20:51:32.552053927Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_IPv6_proxy_with_IPv4-mapped_XFF_hop 2026-10-18T20:51:32.552069274Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_proxy_X-Real-IP_honored_without_XFF 2026-10-18T20:51:32.552084874Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_proxy_adding_a_new_XFF_line_uses_that_line 2026-10-18T20:51:32.552103201Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_proxy_repeated_X-Real-IP_ignored 2026-10-18T20:51:32.552121705Z === RUN TestNewReverseProxy_ClientIPHeaders/underscore_header_variants_removed 2026-10-18T20:51:32.552139666Z === RUN TestNewReverseProxy_ClientIPHeaders/Cloudflare_peer_not_in_trusted_proxies_strips_Cf-Connecting-Ip 2026-10-18T20:51:32.552169834Z === RUN TestNewReverseProxy_ClientIPHeaders/IPv4-mapped_trusted_Cloudflare_peer_uses_Cf-Connecting-Ip 2026-10-18T20:51:32.552200523Z === RUN TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_with_invalid_Cf-Connecting-Ip_falls_back 2026-10-18T20:51:32.552237649Z === RUN TestNewReverseProxy_ClientIPHeaders/unparsable_peer_sends_no_client_IP 2026-10-18T20:51:32.5522629Z --- PASS: TestNewReverseProxy_ClientIPHeaders (0.01s) 2026-10-18T20:51:32.552307744Z --- PASS: TestNewReverseProxy_ClientIPHeaders/untrusted_IPv4_peer_forged_headers_replaced (0.00s) 2026-10-18T20:51:32.55234876Z --- PASS: TestNewReverseProxy_ClientIPHeaders/untrusted_IPv6_peer_forged_X-Real-IP_replaced (0.00s) 2026-10-18T20:51:32.552393187Z --- PASS: TestNewReverseProxy_ClientIPHeaders/untrusted_IPv4-mapped_IPv6_peer_normalized_to_IPv4 (0.00s) 2026-10-18T20:51:32.55243221Z --- PASS: TestNewReverseProxy_ClientIPHeaders/no_trusted_nets_ignores_proxy_headers (0.00s) 2026-10-18T20:51:32.552472783Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_uses_Cf-Connecting-Ip (0.00s) 2026-10-18T20:51:32.552512407Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_with_IPv6_client (0.00s) 2026-10-18T20:51:32.552567855Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_non-Cloudflare_proxy_uses_right-most_untrusted_XFF_hop (0.00s) 2026-10-18T20:51:32.552610043Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_IPv6_proxy_with_IPv4-mapped_XFF_hop (0.00s) 2026-10-18T20:51:32.55264986Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_proxy_X-Real-IP_honored_without_XFF (0.00s) 2026-10-18T20:51:32.552693832Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_proxy_adding_a_new_XFF_line_uses_that_line (0.00s) 2026-10-18T20:51:32.552734802Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_proxy_repeated_X-Real-IP_ignored (0.00s) 2026-10-18T20:51:32.55277288Z --- PASS: TestNewReverseProxy_ClientIPHeaders/underscore_header_variants_removed (0.00s) 2026-10-18T20:51:32.552817513Z --- PASS: TestNewReverseProxy_ClientIPHeaders/Cloudflare_peer_not_in_trusted_proxies_strips_Cf-Connecting-Ip (0.00s) 2026-10-18T20:51:32.552860438Z --- PASS: TestNewReverseProxy_ClientIPHeaders/IPv4-mapped_trusted_Cloudflare_peer_uses_Cf-Connecting-Ip (0.00s) 2026-10-18T20:51:32.552905209Z --- PASS: TestNewReverseProxy_ClientIPHeaders/trusted_Cloudflare_peer_with_invalid_Cf-Connecting-Ip_falls_back (0.00s) 2026-10-18T20:51:32.552942264Z --- PASS: TestNewReverseProxy_ClientIPHeaders/unparsable_peer_sends_no_client_IP (0.00s) 2026-10-18T20:51:32.552959493Z === RUN TestHandler_ConcurrentConnectionLimit_503WhenFull 2026-10-18T20:51:32.552978539Z --- PASS: TestHandler_ConcurrentConnectionLimit_503WhenFull (0.00s) 2026-10-18T20:51:32.552992877Z === RUN TestHandler_RoutesToRegistry 2026-10-18T20:51:32.553009279Z --- PASS: TestHandler_RoutesToRegistry (0.00s) 2026-10-18T20:51:32.553027553Z === RUN TestHandler_DeniesRegistryForwardingWhenAuthDisabled 2026-10-18T20:51:32.553044211Z --- PASS: TestHandler_DeniesRegistryForwardingWhenAuthDisabled (0.00s) 2026-10-18T20:51:32.553061079Z === RUN TestHandler_NormalizesRequestHostForLookup 2026-10-18T20:51:32.553077737Z === RUN TestHandler_NormalizesRequestHostForLookup/mixed_case 2026-10-18T20:51:32.553092782Z === RUN TestHandler_NormalizesRequestHostForLookup/explicit_port 2026-10-18T20:51:32.553107165Z === RUN TestHandler_NormalizesRequestHostForLookup/trailing_dot 2026-10-18T20:51:32.553144006Z --- PASS: TestHandler_NormalizesRequestHostForLookup (0.00s) 2026-10-18T20:51:32.55318354Z --- PASS: TestHandler_NormalizesRequestHostForLookup/mixed_case (0.00s) 2026-10-18T20:51:32.553218476Z --- PASS: TestHandler_NormalizesRequestHostForLookup/explicit_port (0.00s) 2026-10-18T20:51:32.553251774Z --- PASS: TestHandler_NormalizesRequestHostForLookup/trailing_dot (0.00s) 2026-10-18T20:51:32.553268047Z === RUN TestHandler_RejectsInvalidRequestHost 2026-10-18T20:51:32.553282254Z --- PASS: TestHandler_RejectsInvalidRequestHost (0.00s) 2026-10-18T20:51:32.553295263Z === RUN TestHandler_Returns404WhenNoTarget 2026-10-18T20:51:32.553308012Z --- PASS: TestHandler_Returns404WhenNoTarget (0.00s) 2026-10-18T20:51:32.553321274Z === RUN TestHandler_ProxiesToTarget 2026-10-18T20:51:32.55333406Z --- PASS: TestHandler_ProxiesToTarget (0.00s) 2026-10-18T20:51:32.553346897Z === RUN TestHandler_ReadsMaxBodySizeConfig 2026-10-18T20:51:32.553359561Z --- PASS: TestHandler_ReadsMaxBodySizeConfig (0.00s) 2026-10-18T20:51:32.553372222Z === RUN TestHandler_UpdatedConfigReflected 2026-10-18T20:51:32.553380994Z --- PASS: TestHandler_UpdatedConfigReflected (0.00s) 2026-10-18T20:51:32.553405035Z === RUN TestHandler_NoConcurrencyLimitWhenZero 2026-10-18T20:51:32.553421306Z --- PASS: TestHandler_NoConcurrencyLimitWhenZero (0.00s) 2026-10-18T20:51:32.553437138Z PASS 2026-10-18T20:51:32.553454383Z ok github.com/bnema/gordon/internal/adapters/in/http/proxy 1.056s 2026-10-18T20:51:32.553466775Z === RUN TestHandler_Base 2026-10-18T20:51:32.553479318Z --- PASS: TestHandler_Base (0.00s) 2026-10-18T20:51:32.55349152Z === RUN TestHandler_NotFound 2026-10-18T20:51:32.553518157Z --- PASS: TestHandler_NotFound (0.00s) 2026-10-18T20:51:32.553534486Z === RUN TestHandler_GetManifest_Success 2026-10-18T20:51:32.55354846Z --- PASS: TestHandler_GetManifest_Success (0.00s) 2026-10-18T20:51:32.55356972Z === RUN TestHandler_GetManifest_HEAD 2026-10-18T20:51:32.553579753Z --- PASS: TestHandler_GetManifest_HEAD (0.00s) 2026-10-18T20:51:32.553594884Z === RUN TestHandler_GetManifest_NotFound 2026-10-18T20:51:32.553606229Z --- PASS: TestHandler_GetManifest_NotFound (0.00s) 2026-10-18T20:51:32.553633722Z === RUN TestHandler_GetManifest_NestedName 2026-10-18T20:51:32.553656245Z --- PASS: TestHandler_GetManifest_NestedName (0.00s) 2026-10-18T20:51:32.553671176Z === RUN TestHandler_ReservedLookingRepositoryIsServedExactly 2026-10-18T20:51:32.553686508Z --- PASS: TestHandler_ReservedLookingRepositoryIsServedExactly (0.00s) 2026-10-18T20:51:32.553702563Z === RUN TestHandler_PutManifest_Success 2026-10-18T20:51:32.55372208Z --- PASS: TestHandler_PutManifest_Success (0.00s) 2026-10-18T20:51:32.55373825Z === RUN TestHandler_PutManifest_MissingContentType 2026-10-18T20:51:32.553758909Z --- PASS: TestHandler_PutManifest_MissingContentType (0.00s) 2026-10-18T20:51:32.553773327Z === RUN TestHandler_PutManifest_StorageError 2026-10-18T20:51:32.55379279Z --- PASS: TestHandler_PutManifest_StorageError (0.00s) 2026-10-18T20:51:32.553810661Z === RUN TestHandler_ManifestRoutes_MethodNotAllowed 2026-10-18T20:51:32.553832853Z --- PASS: TestHandler_ManifestRoutes_MethodNotAllowed (0.00s) 2026-10-18T20:51:32.553850992Z === RUN TestHandler_GetBlob_Success 2026-10-18T20:51:32.553864555Z --- PASS: TestHandler_GetBlob_Success (0.03s) 2026-10-18T20:51:32.553877316Z === RUN TestHandler_GetBlob_NotFound 2026-10-18T20:51:32.553894165Z --- PASS: TestHandler_GetBlob_NotFound (0.00s) 2026-10-18T20:51:32.553908226Z === RUN TestHandler_BlobRoutes_MethodNotAllowed 2026-10-18T20:51:32.553922432Z --- PASS: TestHandler_BlobRoutes_MethodNotAllowed (0.00s) 2026-10-18T20:51:32.553940085Z === RUN TestHandler_StartBlobUpload_Success 2026-10-18T20:51:32.553954356Z --- PASS: TestHandler_StartBlobUpload_Success (0.00s) 2026-10-18T20:51:32.553967205Z === RUN TestHandler_StartBlobUpload_Error 2026-10-18T20:51:32.55398003Z --- PASS: TestHandler_StartBlobUpload_Error (0.00s) 2026-10-18T20:51:32.553993059Z === RUN TestHandler_BlobUpload_PATCH 2026-10-18T20:51:32.554005567Z --- PASS: TestHandler_BlobUpload_PATCH (0.00s) 2026-10-18T20:51:32.554018098Z === RUN TestHandler_BlobUpload_PUT_Finalize 2026-10-18T20:51:32.554032228Z --- PASS: TestHandler_BlobUpload_PUT_Finalize (0.00s) 2026-10-18T20:51:32.55404484Z === RUN TestHandler_BlobUpload_PUT_DigestMismatch 2026-10-18T20:51:32.554057537Z --- PASS: TestHandler_BlobUpload_PUT_DigestMismatch (0.00s) 2026-10-18T20:51:32.554068967Z === RUN TestHandler_ListTags_Success 2026-10-18T20:51:32.554080692Z --- PASS: TestHandler_ListTags_Success (0.00s) 2026-10-18T20:51:32.554094428Z === RUN TestHandler_ListTags_NotFound 2026-10-18T20:51:32.554107672Z --- PASS: TestHandler_ListTags_NotFound (0.00s) 2026-10-18T20:51:32.55412068Z === RUN TestHandler_ListTags_MethodNotAllowed 2026-10-18T20:51:32.554133902Z --- PASS: TestHandler_ListTags_MethodNotAllowed (0.00s) 2026-10-18T20:51:32.554145937Z === RUN TestHandler_RegisterRoutes 2026-10-18T20:51:32.554158029Z --- PASS: TestHandler_RegisterRoutes (0.00s) 2026-10-18T20:51:32.55417327Z === RUN TestHandler_StartBlobUpload_ReturnsDockerUploadUUID 2026-10-18T20:51:32.554187839Z --- PASS: TestHandler_StartBlobUpload_ReturnsDockerUploadUUID (0.00s) 2026-10-18T20:51:32.554206813Z === RUN TestHandler_BlobUpload_PATCH_ReturnsDockerUploadUUID 2026-10-18T20:51:32.554222283Z --- PASS: TestHandler_BlobUpload_PATCH_ReturnsDockerUploadUUID (0.00s) 2026-10-18T20:51:32.554235629Z === RUN TestDefaultMaxBlobChunkSize_Is95MB 2026-10-18T20:51:32.554249584Z --- PASS: TestDefaultMaxBlobChunkSize_Is95MB (0.00s) 2026-10-18T20:51:32.554264708Z === RUN TestHandler_BlobUpload_PATCH_RespectsConfiguredMaxBlobChunkSize 2026-10-18T20:51:32.554280398Z --- PASS: TestHandler_BlobUpload_PATCH_RespectsConfiguredMaxBlobChunkSize (0.00s) 2026-10-18T20:51:32.554294352Z === RUN TestHandler_BlobUpload_PATCH_ReturnsRangeHeader 2026-10-18T20:51:32.554308478Z --- PASS: TestHandler_BlobUpload_PATCH_ReturnsRangeHeader (0.00s) 2026-10-18T20:51:32.554323602Z === RUN TestDefaultMaxBlobSize_Is1GB 2026-10-18T20:51:32.554337612Z --- PASS: TestDefaultMaxBlobSize_Is1GB (0.00s) 2026-10-18T20:51:32.554353033Z === RUN TestHandler_BlobUpload_PATCH_MaxBlobSizeExceededReturnsSizeInvalidAndCancels 2026-10-18T20:51:32.554369481Z --- PASS: TestHandler_BlobUpload_PATCH_MaxBlobSizeExceededReturnsSizeInvalidAndCancels (0.00s) 2026-10-18T20:51:32.554385818Z === RUN TestHandler_BlobUpload_PATCH_ContentLengthTooLargeReturnsSizeInvalidAndCancels 2026-10-18T20:51:32.554401803Z --- PASS: TestHandler_BlobUpload_PATCH_ContentLengthTooLargeReturnsSizeInvalidAndCancels (0.00s) 2026-10-18T20:51:32.554416662Z === RUN TestHandler_BlobUpload_PUT_FinalizeUnderMaxBlobSize 2026-10-18T20:51:32.5544309Z --- PASS: TestHandler_BlobUpload_PUT_FinalizeUnderMaxBlobSize (0.00s) 2026-10-18T20:51:32.554446061Z === RUN TestRateLimitMiddleware_Disabled 2026-10-18T20:51:32.554459692Z --- PASS: TestRateLimitMiddleware_Disabled (0.00s) 2026-10-18T20:51:32.55447574Z === RUN TestRateLimitMiddleware_GlobalLimitHit 2026-10-18T20:51:32.55448572Z --- PASS: TestRateLimitMiddleware_GlobalLimitHit (0.00s) 2026-10-18T20:51:32.554495611Z === RUN TestRateLimitMiddleware_PerIPLimitHit 2026-10-18T20:51:32.554504757Z --- PASS: TestRateLimitMiddleware_PerIPLimitHit (0.00s) 2026-10-18T20:51:32.554517627Z === RUN TestRateLimitMiddleware_BothLimitsPass 2026-10-18T20:51:32.554531658Z --- PASS: TestRateLimitMiddleware_BothLimitsPass (0.00s) 2026-10-18T20:51:32.55454454Z === RUN TestRateLimitMiddleware_TrustedProxy 2026-10-18T20:51:32.554557699Z --- PASS: TestRateLimitMiddleware_TrustedProxy (0.00s) 2026-10-18T20:51:32.554571025Z === RUN TestRateLimitMiddleware_UntrustedProxy 2026-10-18T20:51:32.554586781Z --- PASS: TestRateLimitMiddleware_UntrustedProxy (0.00s) 2026-10-18T20:51:32.554600287Z === RUN TestRateLimitMiddleware_ResponseFormat 2026-10-18T20:51:32.554614172Z --- PASS: TestRateLimitMiddleware_ResponseFormat (0.00s) 2026-10-18T20:51:32.554628282Z === RUN TestRateLimitMiddleware_Integration 2026-10-18T20:51:32.55464231Z --- PASS: TestRateLimitMiddleware_Integration (0.00s) 2026-10-18T20:51:32.554654485Z === RUN TestGetClientIP 2026-10-18T20:51:32.554667786Z === RUN TestGetClientIP/from_RemoteAddr_with_port 2026-10-18T20:51:32.554682835Z === RUN TestGetClientIP/from_RemoteAddr_without_port 2026-10-18T20:51:32.554699091Z === RUN TestGetClientIP/XFF_ignored_when_no_trusted_proxies 2026-10-18T20:51:32.554713679Z === RUN TestGetClientIP/XFF_ignored_when_remote_is_not_trusted 2026-10-18T20:51:32.55472812Z === RUN TestGetClientIP/XFF_honored_from_trusted_proxy_(single_IP) 2026-10-18T20:51:32.554742993Z === RUN TestGetClientIP/XFF_returns_first_untrusted_IP_from_right 2026-10-18T20:51:32.554756968Z === RUN TestGetClientIP/XFF_honored_from_trusted_CIDR 2026-10-18T20:51:32.554770907Z === RUN TestGetClientIP/X-Real-IP_honored_from_trusted_proxy 2026-10-18T20:51:32.554784862Z === RUN TestGetClientIP/X-Real-IP_ignored_when_not_trusted 2026-10-18T20:51:32.554799366Z === RUN TestGetClientIP/XFF_takes_precedence_over_X-Real-IP 2026-10-18T20:51:32.554813831Z --- PASS: TestGetClientIP (0.00s) 2026-10-18T20:51:32.554842527Z --- PASS: TestGetClientIP/from_RemoteAddr_with_port (0.00s) 2026-10-18T20:51:32.554871656Z --- PASS: TestGetClientIP/from_RemoteAddr_without_port (0.00s) 2026-10-18T20:51:32.554902602Z --- PASS: TestGetClientIP/XFF_ignored_when_no_trusted_proxies (0.00s) 2026-10-18T20:51:32.554935922Z --- PASS: TestGetClientIP/XFF_ignored_when_remote_is_not_trusted (0.00s) 2026-10-18T20:51:32.554969685Z --- PASS: TestGetClientIP/XFF_honored_from_trusted_proxy_(single_IP) (0.00s) 2026-10-18T20:51:32.555001422Z --- PASS: TestGetClientIP/XFF_returns_first_untrusted_IP_from_right (0.00s) 2026-10-18T20:51:32.555029757Z --- PASS: TestGetClientIP/XFF_honored_from_trusted_CIDR (0.00s) 2026-10-18T20:51:32.555060829Z --- PASS: TestGetClientIP/X-Real-IP_honored_from_trusted_proxy (0.00s) 2026-10-18T20:51:32.555091609Z --- PASS: TestGetClientIP/X-Real-IP_ignored_when_not_trusted (0.00s) 2026-10-18T20:51:32.55512332Z --- PASS: TestGetClientIP/XFF_takes_precedence_over_X-Real-IP (0.00s) 2026-10-18T20:51:32.555137593Z === RUN TestParseTrustedProxies 2026-10-18T20:51:32.555154364Z === RUN TestParseTrustedProxies/empty_list 2026-10-18T20:51:32.555168459Z === RUN TestParseTrustedProxies/single_IP_match 2026-10-18T20:51:32.555182195Z === RUN TestParseTrustedProxies/single_IP_no_match 2026-10-18T20:51:32.55519592Z === RUN TestParseTrustedProxies/CIDR_match 2026-10-18T20:51:32.555211776Z === RUN TestParseTrustedProxies/CIDR_no_match 2026-10-18T20:51:32.555225738Z === RUN TestParseTrustedProxies/mixed_IP_and_CIDR 2026-10-18T20:51:32.555239919Z === RUN TestParseTrustedProxies/invalid_entries_ignored 2026-10-18T20:51:32.555255997Z --- PASS: TestParseTrustedProxies (0.00s) 2026-10-18T20:51:32.555282029Z --- PASS: TestParseTrustedProxies/empty_list (0.00s) 2026-10-18T20:51:32.555310185Z --- PASS: TestParseTrustedProxies/single_IP_match (0.00s) 2026-10-18T20:51:32.55533826Z --- PASS: TestParseTrustedProxies/single_IP_no_match (0.00s) 2026-10-18T20:51:32.555364499Z --- PASS: TestParseTrustedProxies/CIDR_match (0.00s) 2026-10-18T20:51:32.555395124Z --- PASS: TestParseTrustedProxies/CIDR_no_match (0.00s) 2026-10-18T20:51:32.555424882Z --- PASS: TestParseTrustedProxies/mixed_IP_and_CIDR (0.00s) 2026-10-18T20:51:32.555455548Z --- PASS: TestParseTrustedProxies/invalid_entries_ignored (0.00s) 2026-10-18T20:51:32.555466274Z PASS 2026-10-18T20:51:32.555479954Z ok github.com/bnema/gordon/internal/adapters/in/http/registry 1.063s 2026-10-18T20:51:32.555491401Z === RUN TestParse_Routes 2026-10-18T20:51:32.555507563Z === RUN TestParse_Routes//v2/ 2026-10-18T20:51:32.55555566Z === RUN TestParse_Routes//v2 2026-10-18T20:51:32.555575239Z === RUN TestParse_Routes//v2/_catalog 2026-10-18T20:51:32.555600241Z === RUN TestParse_Routes//v2/myrepo/manifests/latest 2026-10-18T20:51:32.555621402Z === RUN TestParse_Routes//v2/myorg/myapp/manifests/v1.0 2026-10-18T20:51:32.555648213Z === RUN TestParse_Routes//v2/myrepo/blobs/sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2026-10-18T20:51:32.555664775Z === RUN TestParse_Routes//v2/myrepo/blobs/uploads/ 2026-10-18T20:51:32.555686513Z === RUN TestParse_Routes//v2/myrepo/blobs/uploads/12345678-1234-4123-8123-123456789012 2026-10-18T20:51:32.555704123Z === RUN TestParse_Routes//v2/myrepo/tags/list 2026-10-18T20:51:32.555720063Z --- PASS: TestParse_Routes (0.00s) 2026-10-18T20:51:32.55574931Z --- PASS: TestParse_Routes//v2/ (0.00s) 2026-10-18T20:51:32.555777561Z --- PASS: TestParse_Routes//v2 (0.00s) 2026-10-18T20:51:32.555808656Z --- PASS: TestParse_Routes//v2/_catalog (0.00s) 2026-10-18T20:51:32.555841963Z --- PASS: TestParse_Routes//v2/myrepo/manifests/latest (0.00s) 2026-10-18T20:51:32.555882916Z --- PASS: TestParse_Routes//v2/myorg/myapp/manifests/v1.0 (0.00s) 2026-10-18T20:51:32.555937163Z --- PASS: TestParse_Routes//v2/myrepo/blobs/sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (0.00s) 2026-10-18T20:51:32.555984515Z --- PASS: TestParse_Routes//v2/myrepo/blobs/uploads/ (0.00s) 2026-10-18T20:51:32.55602953Z --- PASS: TestParse_Routes//v2/myrepo/blobs/uploads/12345678-1234-4123-8123-123456789012 (0.00s) 2026-10-18T20:51:32.55605811Z --- PASS: TestParse_Routes//v2/myrepo/tags/list (0.00s) 2026-10-18T20:51:32.556074433Z === RUN TestParse_ResolvesRepositoryFromLastMarker 2026-10-18T20:51:32.556090739Z === RUN TestParse_ResolvesRepositoryFromLastMarker//v2/manifests/victim/manifests/latest 2026-10-18T20:51:32.556109124Z === RUN TestParse_ResolvesRepositoryFromLastMarker//v2/allowed/tags/victim/manifests/latest 2026-10-18T20:51:32.556129233Z === RUN TestParse_ResolvesRepositoryFromLastMarker//v2/blobs/impostor/blobs/sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2026-10-18T20:51:32.55614489Z --- PASS: TestParse_ResolvesRepositoryFromLastMarker (0.00s) 2026-10-18T20:51:32.556183637Z --- PASS: TestParse_ResolvesRepositoryFromLastMarker//v2/manifests/victim/manifests/latest (0.00s) 2026-10-18T20:51:32.556223716Z --- PASS: TestParse_ResolvesRepositoryFromLastMarker//v2/allowed/tags/victim/manifests/latest (0.00s) 2026-10-18T20:51:32.556280256Z --- PASS: TestParse_ResolvesRepositoryFromLastMarker//v2/blobs/impostor/blobs/sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (0.00s) 2026-10-18T20:51:32.556296431Z === RUN TestParse_Errors 2026-10-18T20:51:32.556310037Z === RUN TestParse_Errors/not_found_/healthz 2026-10-18T20:51:32.55632311Z === RUN TestParse_Errors/not_found_/v2/myrepo 2026-10-18T20:51:32.556336864Z === RUN TestParse_Errors/not_found_/v2/myrepo/manifests/ 2026-10-18T20:51:32.556350799Z === RUN TestParse_Errors/not_found_/v2/myrepo/manifests/a/b 2026-10-18T20:51:32.556364749Z === RUN TestParse_Errors/not_found_/v2/myrepo/blobs/ 2026-10-18T20:51:32.556378624Z === RUN TestParse_Errors/not_found_/v2/myrepo/tags/list/ 2026-10-18T20:51:32.556392416Z === RUN TestParse_Errors/not_found_/v2//manifests/latest 2026-10-18T20:51:32.55640888Z === RUN TestParse_Errors/invalid_/v2/BadRepo/manifests/latest 2026-10-18T20:51:32.556424891Z === RUN TestParse_Errors/invalid_/v2/myrepo/manifests/bad_tag 2026-10-18T20:51:32.556440385Z === RUN TestParse_Errors/invalid_/v2/myrepo/blobs/notadigest 2026-10-18T20:51:32.556455242Z === RUN TestParse_Errors/invalid_/v2/myrepo/blobs/uploads/not-a-uuid 2026-10-18T20:51:32.556469073Z --- PASS: TestParse_Errors (0.00s) 2026-10-18T20:51:32.556494812Z --- PASS: TestParse_Errors/not_found_/healthz (0.00s) 2026-10-18T20:51:32.556529815Z --- PASS: TestParse_Errors/not_found_/v2/myrepo (0.00s) 2026-10-18T20:51:32.556567556Z --- PASS: TestParse_Errors/not_found_/v2/myrepo/manifests/ (0.00s) 2026-10-18T20:51:32.55660238Z --- PASS: TestParse_Errors/not_found_/v2/myrepo/manifests/a/b (0.00s) 2026-10-18T20:51:32.556648028Z --- PASS: TestParse_Errors/not_found_/v2/myrepo/blobs/ (0.00s) 2026-10-18T20:51:32.556680987Z --- PASS: TestParse_Errors/not_found_/v2/myrepo/tags/list/ (0.00s) 2026-10-18T20:51:32.556726681Z --- PASS: TestParse_Errors/not_found_/v2//manifests/latest (0.00s) 2026-10-18T20:51:32.556766299Z --- PASS: TestParse_Errors/invalid_/v2/BadRepo/manifests/latest (0.00s) 2026-10-18T20:51:32.556814391Z --- PASS: TestParse_Errors/invalid_/v2/myrepo/manifests/bad_tag (0.00s) 2026-10-18T20:51:32.556856679Z --- PASS: TestParse_Errors/invalid_/v2/myrepo/blobs/notadigest (0.00s) 2026-10-18T20:51:32.556894218Z --- PASS: TestParse_Errors/invalid_/v2/myrepo/blobs/uploads/not-a-uuid (0.00s) 2026-10-18T20:51:32.556909023Z === RUN TestRequiresRepositoryAuth_ProtocolRootsOnly 2026-10-18T20:51:32.556924048Z --- PASS: TestRequiresRepositoryAuth_ProtocolRootsOnly (0.00s) 2026-10-18T20:51:32.556935018Z PASS 2026-10-18T20:51:32.556950124Z ok github.com/bnema/gordon/internal/adapters/in/http/registry/route 1.014s 2026-10-18T20:51:32.556966536Z === RUN TestNewEntryPointHTTPServerUsesConfiguredTimeouts 2026-10-18T20:51:32.55698126Z --- PASS: TestNewEntryPointHTTPServerUsesConfiguredTimeouts (0.00s) 2026-10-18T20:51:32.556995601Z === RUN TestManagerHTTPOptionsDefaultsWithoutSnapshot 2026-10-18T20:51:32.557012453Z --- PASS: TestManagerHTTPOptionsDefaultsWithoutSnapshot (0.00s) 2026-10-18T20:51:32.557029548Z === RUN TestEntryPointServersReceiveConfiguredHTTPOptions 2026-10-18T20:51:32.557044736Z --- PASS: TestEntryPointServersReceiveConfiguredHTTPOptions (0.00s) 2026-10-18T20:51:32.557059058Z === RUN TestTLSMuxServerReceivesConfiguredHTTPOptions 2026-10-18T20:51:32.557073373Z --- PASS: TestTLSMuxServerReceivesConfiguredHTTPOptions (0.00s) 2026-10-18T20:51:32.557087714Z === RUN TestSmartTCPStreamingResponseOutlivesTransferIdleTimeout 2026-10-18T20:51:32.557102934Z --- PASS: TestSmartTCPStreamingResponseOutlivesTransferIdleTimeout (0.91s) 2026-10-18T20:51:32.55711803Z === RUN TestAppL4TCPUdpRoundTrip 2026-10-18T20:51:32.557131307Z --- PASS: TestAppL4TCPUdpRoundTrip (0.06s) 2026-10-18T20:51:32.557147148Z === RUN TestSniffSmartTCPClassifiesHTTP 2026-10-18T20:51:32.557161805Z === RUN TestSniffSmartTCPClassifiesHTTP/get 2026-10-18T20:51:32.557175756Z === RUN TestSniffSmartTCPClassifiesHTTP/propfind 2026-10-18T20:51:32.557191467Z === RUN TestSniffSmartTCPClassifiesHTTP/mkcol 2026-10-18T20:51:32.557205506Z === RUN TestSniffSmartTCPClassifiesHTTP/unknown_method 2026-10-18T20:51:32.557221928Z === RUN TestSniffSmartTCPClassifiesHTTP/extension_method 2026-10-18T20:51:32.557235892Z --- PASS: TestSniffSmartTCPClassifiesHTTP (0.00s) 2026-10-18T20:51:32.557263122Z --- PASS: TestSniffSmartTCPClassifiesHTTP/get (0.00s) 2026-10-18T20:51:32.557300336Z --- PASS: TestSniffSmartTCPClassifiesHTTP/propfind (0.00s) 2026-10-18T20:51:32.557328267Z --- PASS: TestSniffSmartTCPClassifiesHTTP/mkcol (0.00s) 2026-10-18T20:51:32.557354191Z --- PASS: TestSniffSmartTCPClassifiesHTTP/unknown_method (0.00s) 2026-10-18T20:51:32.557385681Z --- PASS: TestSniffSmartTCPClassifiesHTTP/extension_method (0.00s) 2026-10-18T20:51:32.557399532Z === RUN TestSniffSmartTCPClassifiesH2C 2026-10-18T20:51:32.557413073Z --- PASS: TestSniffSmartTCPClassifiesH2C (0.00s) 2026-10-18T20:51:32.557431294Z === RUN TestSniffSmartTCPClassifiesTLSAndAllowsClientHelloParsing 2026-10-18T20:51:32.557447388Z --- PASS: TestSniffSmartTCPClassifiesTLSAndAllowsClientHelloParsing (0.00s) 2026-10-18T20:51:32.55746275Z === RUN TestSniffSmartTCPRejectsMalformedTLSLookingZeroLengthRecord 2026-10-18T20:51:32.557475967Z --- PASS: TestSniffSmartTCPRejectsMalformedTLSLookingZeroLengthRecord (0.00s) 2026-10-18T20:51:32.557486235Z === RUN TestSniffSmartTCPClassifiesSSHBannerAsUnknown 2026-10-18T20:51:32.557514897Z --- PASS: TestSniffSmartTCPClassifiesSSHBannerAsUnknown (0.00s) 2026-10-18T20:51:32.557537712Z === RUN TestSniffSmartTCPRejectsMalformedHTTPLookingRequestLine 2026-10-18T20:51:32.557562458Z --- PASS: TestSniffSmartTCPRejectsMalformedHTTPLookingRequestLine (0.00s) 2026-10-18T20:51:32.557580218Z === RUN TestSniffSmartTCPClassifiesTokenSpacePlaintextAsUnknown 2026-10-18T20:51:32.557596189Z --- PASS: TestSniffSmartTCPClassifiesTokenSpacePlaintextAsUnknown (0.00s) 2026-10-18T20:51:32.557610046Z === RUN TestSniffSmartTCPRejectsPROXY 2026-10-18T20:51:32.557623822Z === RUN TestSniffSmartTCPRejectsPROXY/v1 2026-10-18T20:51:32.557640212Z === RUN TestSniffSmartTCPRejectsPROXY/v2 2026-10-18T20:51:32.557654251Z --- PASS: TestSniffSmartTCPRejectsPROXY (0.00s) 2026-10-18T20:51:32.557680905Z --- PASS: TestSniffSmartTCPRejectsPROXY/v1 (0.00s) 2026-10-18T20:51:32.557710029Z --- PASS: TestSniffSmartTCPRejectsPROXY/v2 (0.00s) 2026-10-18T20:51:32.557726646Z === RUN TestSniffSmartTCPUnknownIsImmediate 2026-10-18T20:51:32.557741309Z --- PASS: TestSniffSmartTCPUnknownIsImmediate (0.00s) 2026-10-18T20:51:32.557755805Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut 2026-10-18T20:51:32.557769715Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/g 2026-10-18T20:51:32.557783478Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/b 2026-10-18T20:51:32.55779718Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/bar 2026-10-18T20:51:32.557814045Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/pr 2026-10-18T20:51:32.557851027Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_content_type 2026-10-18T20:51:32.557870484Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_version_major 2026-10-18T20:51:32.557891104Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_version_minor 2026-10-18T20:51:32.557909643Z === RUN TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_record_length_partial 2026-10-18T20:51:32.557929061Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut (0.16s) 2026-10-18T20:51:32.557962051Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/g (0.02s) 2026-10-18T20:51:32.557995032Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/b (0.02s) 2026-10-18T20:51:32.558038839Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/bar (0.02s) 2026-10-18T20:51:32.558074706Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/pr (0.02s) 2026-10-18T20:51:32.558110906Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_content_type (0.02s) 2026-10-18T20:51:32.558149352Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_version_major (0.02s) 2026-10-18T20:51:32.558188483Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_version_minor (0.02s) 2026-10-18T20:51:32.558231017Z --- PASS: TestSniffSmartTCPAmbiguousPartialsTimeOut/tls_record_length_partial (0.02s) 2026-10-18T20:51:32.558252881Z === RUN TestSniffSmartTCPReplayReturnsSniffedBytesBeforeUnderlyingBytes 2026-10-18T20:51:32.558269335Z --- PASS: TestSniffSmartTCPReplayReturnsSniffedBytesBeforeUnderlyingBytes (0.00s) 2026-10-18T20:51:32.558287307Z === RUN TestSniffSmartTCPHandlesLongHTTPRequestLine 2026-10-18T20:51:32.558302638Z --- PASS: TestSniffSmartTCPHandlesLongHTTPRequestLine (0.00s) 2026-10-18T20:51:32.558317708Z === RUN TestSniffSmartTCPClearsReadDeadlineBeforeHandoff 2026-10-18T20:51:32.558334633Z --- PASS: TestSniffSmartTCPClearsReadDeadlineBeforeHandoff (0.00s) 2026-10-18T20:51:32.558349537Z === RUN TestSniffSmartTCPDoesNotTreatClosedPipeAsSuccess 2026-10-18T20:51:32.558365665Z --- PASS: TestSniffSmartTCPDoesNotTreatClosedPipeAsSuccess (0.00s) 2026-10-18T20:51:32.558379737Z === RUN TestTrafficRuntimeDefaultsApplySafeLimits 2026-10-18T20:51:32.558397678Z --- PASS: TestTrafficRuntimeDefaultsApplySafeLimits (0.00s) 2026-10-18T20:51:32.558418792Z === RUN TestBackendFromAddressRejectsOutOfRangePort 2026-10-18T20:51:32.558435982Z --- PASS: TestBackendFromAddressRejectsOutOfRangePort (0.00s) 2026-10-18T20:51:32.55844864Z === RUN TestSmartTCPDispatch 2026-10-18T20:51:32.558463394Z === RUN TestSmartTCPDispatch/cleartext_HTTP_request_reaches_HTTP_handler 2026-10-18T20:51:32.558478411Z === RUN TestSmartTCPDispatch/h2c_prior-knowledge_reaches_HTTP_handler 2026-10-18T20:51:32.558496707Z === RUN TestSmartTCPDispatch/HTTPS_request_reaches_configured_HTTPS_fallback 2026-10-18T20:51:32.558519519Z === RUN TestSmartTCPDispatch/TLS_passthrough_SNI_match_wins_before_HTTPS_fallback 2026-10-18T20:51:32.558541502Z === RUN TestSmartTCPDispatch/no-SNI_TLS_reaches_HTTPS_fallback 2026-10-18T20:51:32.558558899Z === RUN TestSmartTCPDispatch/unknown_bytes_reach_raw_fallback_immediately_when_source_policy_allows 2026-10-18T20:51:32.558579979Z === RUN TestSmartTCPDispatch/unknown_bytes_refused_without_raw_fallback 2026-10-18T20:51:32.558597208Z === RUN TestSmartTCPDispatch/unknown_bytes_refused_when_raw_fallback_source_policy_denies_peer 2026-10-18T20:51:32.558615607Z === RUN TestSmartTCPDispatch/malformed_HTTP-looking_bytes_do_not_reach_raw_fallback 2026-10-18T20:51:32.558637675Z === RUN TestSmartTCPDispatch/malformed_TLS-looking_bytes_do_not_reach_raw_fallback 2026-10-18T20:51:32.558657997Z === RUN TestSmartTCPDispatch/PROXY_v1_and_v2_prefixes_rejected 2026-10-18T20:51:32.558679357Z === RUN TestSmartTCPDispatch/sniff_deadline_cleared_before_backend_handoff 2026-10-18T20:51:32.558702779Z === RUN TestSmartTCPDispatch/raw_fallback_trusted_CIDR_reload_reuses_same_listener 2026-10-18T20:51:32.558724949Z === RUN TestSmartTCPDispatch/raw_fallback_connection_closes_when_trusted_CIDR_no_longer_allows_peer 2026-10-18T20:51:32.55874677Z === RUN TestSmartTCPDispatch/TLS_ClientHello_read_after_sniff_is_bounded 2026-10-18T20:51:32.558761966Z --- PASS: TestSmartTCPDispatch (3.47s) 2026-10-18T20:51:32.558805866Z --- PASS: TestSmartTCPDispatch/cleartext_HTTP_request_reaches_HTTP_handler (0.00s) 2026-10-18T20:51:32.558858803Z --- PASS: TestSmartTCPDispatch/h2c_prior-knowledge_reaches_HTTP_handler (0.01s) 2026-10-18T20:51:32.558904439Z --- PASS: TestSmartTCPDispatch/HTTPS_request_reaches_configured_HTTPS_fallback (0.01s) 2026-10-18T20:51:32.558947457Z --- PASS: TestSmartTCPDispatch/TLS_passthrough_SNI_match_wins_before_HTTPS_fallback (0.02s) 2026-10-18T20:51:32.558987726Z --- PASS: TestSmartTCPDispatch/no-SNI_TLS_reaches_HTTPS_fallback (0.01s) 2026-10-18T20:51:32.559038118Z --- PASS: TestSmartTCPDispatch/unknown_bytes_reach_raw_fallback_immediately_when_source_policy_allows (0.00s) 2026-10-18T20:51:32.559083756Z --- PASS: TestSmartTCPDispatch/unknown_bytes_refused_without_raw_fallback (1.00s) 2026-10-18T20:51:32.559126503Z --- PASS: TestSmartTCPDispatch/unknown_bytes_refused_when_raw_fallback_source_policy_denies_peer (1.00s) 2026-10-18T20:51:32.559176602Z --- PASS: TestSmartTCPDispatch/malformed_HTTP-looking_bytes_do_not_reach_raw_fallback (0.00s) 2026-10-18T20:51:32.559223505Z --- PASS: TestSmartTCPDispatch/malformed_TLS-looking_bytes_do_not_reach_raw_fallback (0.00s) 2026-10-18T20:51:32.559263764Z --- PASS: TestSmartTCPDispatch/PROXY_v1_and_v2_prefixes_rejected (0.00s) 2026-10-18T20:51:32.559311065Z --- PASS: TestSmartTCPDispatch/sniff_deadline_cleared_before_backend_handoff (0.15s) 2026-10-18T20:51:32.559358643Z --- PASS: TestSmartTCPDispatch/raw_fallback_trusted_CIDR_reload_reuses_same_listener (1.00s) 2026-10-18T20:51:32.559407597Z --- PASS: TestSmartTCPDispatch/raw_fallback_connection_closes_when_trusted_CIDR_no_longer_allows_peer (0.00s) 2026-10-18T20:51:32.559455111Z --- PASS: TestSmartTCPDispatch/TLS_ClientHello_read_after_sniff_is_bounded (0.25s) 2026-10-18T20:51:32.559472886Z === RUN TestSetSmartTCPHTTPServerCopiesProtocols 2026-10-18T20:51:32.559492998Z --- PASS: TestSetSmartTCPHTTPServerCopiesProtocols (0.00s) 2026-10-18T20:51:32.559509766Z === RUN TestSmartTCPStatusCounters 2026-10-18T20:51:32.559529717Z === RUN TestSmartTCPStatusCounters/HTTP_accepted 2026-10-18T20:51:32.559545878Z === RUN TestSmartTCPStatusCounters/h2c_accepted 2026-10-18T20:51:32.559562842Z === RUN TestSmartTCPStatusCounters/HTTPS_fallback_accepted 2026-10-18T20:51:32.559582779Z === RUN TestSmartTCPStatusCounters/TLS_passthrough_accepted 2026-10-18T20:51:32.559604236Z === RUN TestSmartTCPStatusCounters/raw_fallback_accepted 2026-10-18T20:51:32.559625528Z === RUN TestSmartTCPStatusCounters/raw_fallback_backend_dial_failure_is_not_accepted 2026-10-18T20:51:32.559646467Z === RUN TestSmartTCPStatusCounters/refused_and_rejected_classes 2026-10-18T20:51:32.559664822Z === RUN TestSmartTCPStatusCounters/unknown_without_fallback_refused 2026-10-18T20:51:32.559678857Z === RUN TestSmartTCPStatusCounters/sniff_timeout 2026-10-18T20:51:32.559693326Z === RUN TestSmartTCPStatusCounters/entrypoint_CIDR_refused 2026-10-18T20:51:32.559706541Z --- PASS: TestSmartTCPStatusCounters (0.09s) 2026-10-18T20:51:32.559737077Z --- PASS: TestSmartTCPStatusCounters/HTTP_accepted (0.00s) 2026-10-18T20:51:32.559772536Z --- PASS: TestSmartTCPStatusCounters/h2c_accepted (0.00s) 2026-10-18T20:51:32.559808462Z --- PASS: TestSmartTCPStatusCounters/HTTPS_fallback_accepted (0.01s) 2026-10-18T20:51:32.559845701Z --- PASS: TestSmartTCPStatusCounters/TLS_passthrough_accepted (0.01s) 2026-10-18T20:51:32.559880271Z --- PASS: TestSmartTCPStatusCounters/raw_fallback_accepted (0.00s) 2026-10-18T20:51:32.559926263Z --- PASS: TestSmartTCPStatusCounters/raw_fallback_backend_dial_failure_is_not_accepted (0.00s) 2026-10-18T20:51:32.559971594Z --- PASS: TestSmartTCPStatusCounters/refused_and_rejected_classes (0.01s) 2026-10-18T20:51:32.560010039Z --- PASS: TestSmartTCPStatusCounters/unknown_without_fallback_refused (0.01s) 2026-10-18T20:51:32.560045277Z --- PASS: TestSmartTCPStatusCounters/sniff_timeout (0.05s) 2026-10-18T20:51:32.560079185Z --- PASS: TestSmartTCPStatusCounters/entrypoint_CIDR_refused (0.00s) 2026-10-18T20:51:32.560099089Z === RUN TestManagerStatusAggregatesSmartTCP 2026-10-18T20:51:32.560117873Z --- PASS: TestManagerStatusAggregatesSmartTCP (0.00s) 2026-10-18T20:51:32.560269292Z === RUN TestSmartTCPLifecycleHardening 2026-10-18T20:51:32.560291226Z === RUN TestSmartTCPLifecycleHardening/internal_HTTP_and_HTTPS_fallback_servers_stop_when_entrypoint_removed 2026-10-18T20:51:32.560311496Z === RUN TestSmartTCPLifecycleHardening/HTTP_fallback_handoff_remains_counted_until_hijacked_connection_closes 2026-10-18T20:51:32.560329622Z === RUN TestSmartTCPLifecycleHardening/shutdown_force_drain_closes_open_HTTP_fallback_handoff 2026-10-18T20:51:32.560419624Z === RUN TestSmartTCPLifecycleHardening/trusted_CIDR_change_closes_active_smart_TCP_connections_no_longer_allowed 2026-10-18T20:51:32.560545142Z === RUN TestSmartTCPLifecycleHardening/active_upgraded_connection_remains_tied_to_accepted_generation 2026-10-18T20:51:32.560561113Z === RUN TestSmartTCPLifecycleHardening/listener_is_not_reused_for_incompatible_address 2026-10-18T20:51:32.560578562Z --- PASS: TestSmartTCPLifecycleHardening (0.07s) 2026-10-18T20:51:32.560621455Z --- PASS: TestSmartTCPLifecycleHardening/internal_HTTP_and_HTTPS_fallback_servers_stop_when_entrypoint_removed (0.00s) 2026-10-18T20:51:32.560672257Z --- PASS: TestSmartTCPLifecycleHardening/HTTP_fallback_handoff_remains_counted_until_hijacked_connection_closes (0.01s) 2026-10-18T20:51:32.56071267Z --- PASS: TestSmartTCPLifecycleHardening/shutdown_force_drain_closes_open_HTTP_fallback_handoff (0.05s) 2026-10-18T20:51:32.560761125Z --- PASS: TestSmartTCPLifecycleHardening/trusted_CIDR_change_closes_active_smart_TCP_connections_no_longer_allowed (0.00s) 2026-10-18T20:51:32.560806201Z --- PASS: TestSmartTCPLifecycleHardening/active_upgraded_connection_remains_tied_to_accepted_generation (0.00s) 2026-10-18T20:51:32.560891695Z --- PASS: TestSmartTCPLifecycleHardening/listener_is_not_reused_for_incompatible_address (0.00s) 2026-10-18T20:51:32.560913804Z === RUN TestSmartTCPHTTPHandoff 2026-10-18T20:51:32.561147558Z === RUN TestSmartTCPHTTPHandoff/HTTP_Upgrade_h2c_reaches_handler_and_not_raw_fallback 2026-10-18T20:51:32.561211123Z === RUN TestSmartTCPHTTPHandoff/websocket_upgrade_supports_hijacker 2026-10-18T20:51:32.561341112Z === RUN TestSmartTCPHTTPHandoff/CONNECT_reaches_HTTP_handler_and_not_raw_fallback 2026-10-18T20:51:32.561368996Z === RUN TestSmartTCPHTTPHandoff/handoff_connection_has_cleared_deadlines_and_useful_addresses 2026-10-18T20:51:32.561420921Z --- PASS: TestSmartTCPHTTPHandoff (0.16s) 2026-10-18T20:51:32.561557509Z --- PASS: TestSmartTCPHTTPHandoff/HTTP_Upgrade_h2c_reaches_handler_and_not_raw_fallback (0.00s) 2026-10-18T20:51:32.561632149Z --- PASS: TestSmartTCPHTTPHandoff/websocket_upgrade_supports_hijacker (0.00s) 2026-10-18T20:51:32.561705017Z --- PASS: TestSmartTCPHTTPHandoff/CONNECT_reaches_HTTP_handler_and_not_raw_fallback (0.00s) 2026-10-18T20:51:32.561777919Z --- PASS: TestSmartTCPHTTPHandoff/handoff_connection_has_cleared_deadlines_and_useful_addresses (0.15s) 2026-10-18T20:51:32.561831445Z === RUN TestRouteToHTTPListenerServeFailureReturnsFalseAndLeavesTrackedForCaller 2026-10-18T20:51:32.561881462Z --- PASS: TestRouteToHTTPListenerServeFailureReturnsFalseAndLeavesTrackedForCaller (0.00s) 2026-10-18T20:51:32.561927Z === RUN TestTCPManagerLifecycle 2026-10-18T20:51:32.561983232Z --- PASS: TestTCPManagerLifecycle (0.00s) 2026-10-18T20:51:32.562044939Z === RUN TestTCPManagerRejectsInvalidGraphWithoutReplacingSnapshot 2026-10-18T20:51:32.562101807Z --- PASS: TestTCPManagerRejectsInvalidGraphWithoutReplacingSnapshot (0.00s) 2026-10-18T20:51:32.562151843Z === RUN TestTCPManagerReplacesSameAddressEntrypoint 2026-10-18T20:51:32.562176164Z --- PASS: TestTCPManagerReplacesSameAddressEntrypoint (0.00s) 2026-10-18T20:51:32.562196877Z === RUN TestTCPManagerSameAddressProtocolChangeStartsTLSHTTPServer 2026-10-18T20:51:32.562244095Z --- PASS: TestTCPManagerSameAddressProtocolChangeStartsTLSHTTPServer (0.01s) 2026-10-18T20:51:32.562288615Z === RUN TestTCPManagerSameAddressTLSMuxRenameRefreshesHTTPSRoute 2026-10-18T20:51:32.562347802Z --- PASS: TestTCPManagerSameAddressTLSMuxRenameRefreshesHTTPSRoute (0.01s) 2026-10-18T20:51:32.562402948Z === RUN TestTCPRuntimeDoesNotPublishTLSHTTPServerAfterClose 2026-10-18T20:51:32.562449963Z --- PASS: TestTCPRuntimeDoesNotPublishTLSHTTPServerAfterClose (0.00s) 2026-10-18T20:51:32.562482576Z === RUN TestTCPManagerSameAddressProtocolChangeStopsTLSHTTPServer 2026-10-18T20:51:32.562566332Z --- PASS: TestTCPManagerSameAddressProtocolChangeStopsTLSHTTPServer (0.01s) 2026-10-18T20:51:32.562618469Z === RUN TestTrackedTCPConnClosesLateBackendAfterStaleClose 2026-10-18T20:51:32.562671219Z --- PASS: TestTrackedTCPConnClosesLateBackendAfterStaleClose (0.00s) 2026-10-18T20:51:32.562720372Z === RUN TestTCPPassthroughRejectsUntrustedCIDR 2026-10-18T20:51:32.562771842Z --- PASS: TestTCPPassthroughRejectsUntrustedCIDR (0.00s) 2026-10-18T20:51:32.562820696Z === RUN TestTCPPassthroughReloadAppliesTrustedCIDRChange 2026-10-18T20:51:32.562866904Z --- PASS: TestTCPPassthroughReloadAppliesTrustedCIDRChange (0.00s) 2026-10-18T20:51:32.56291386Z === RUN TestTLSMuxReloadClosesActiveUntrustedHTTPSFallbackConnections 2026-10-18T20:51:32.562966855Z --- PASS: TestTLSMuxReloadClosesActiveUntrustedHTTPSFallbackConnections (0.01s) 2026-10-18T20:51:32.563021294Z === RUN TestTCPPassthroughReloadClosesActiveUntrustedConnections 2026-10-18T20:51:32.563072626Z --- PASS: TestTCPPassthroughReloadClosesActiveUntrustedConnections (0.00s) 2026-10-18T20:51:32.563122816Z === RUN TestTCPPassthroughEcho 2026-10-18T20:51:32.563173434Z --- PASS: TestTCPPassthroughEcho (0.00s) 2026-10-18T20:51:32.563226876Z === RUN TestTCPPassthroughUnknownRouterCloses 2026-10-18T20:51:32.563275845Z --- PASS: TestTCPPassthroughUnknownRouterCloses (0.00s) 2026-10-18T20:51:32.5633215Z === RUN TestTCPPassthroughBackendDialFailure 2026-10-18T20:51:32.563376246Z --- PASS: TestTCPPassthroughBackendDialFailure (0.00s) 2026-10-18T20:51:32.563426651Z === RUN TestTCPPassthroughShutdownStopsAccepting 2026-10-18T20:51:32.563478254Z --- PASS: TestTCPPassthroughShutdownStopsAccepting (0.00s) 2026-10-18T20:51:32.563527349Z === RUN TestTCPPassthroughIdleTimeoutClosesConnection 2026-10-18T20:51:32.563574344Z --- PASS: TestTCPPassthroughIdleTimeoutClosesConnection (0.05s) 2026-10-18T20:51:32.563626722Z === RUN TestTCPPassthroughMaxConnectionsRejectsOverflow 2026-10-18T20:51:32.563678261Z --- PASS: TestTCPPassthroughMaxConnectionsRejectsOverflow (0.00s) 2026-10-18T20:51:32.56372736Z === RUN TestTCPPassthroughDrainWaitsForActiveConnectionThenTimesOut 2026-10-18T20:51:32.563774557Z --- PASS: TestTCPPassthroughDrainWaitsForActiveConnectionThenTimesOut (0.05s) 2026-10-18T20:51:32.56383017Z === RUN TestTCPPassthroughStatusCountersTrackAcceptedRefusedErrorsAndBytes 2026-10-18T20:51:32.563886Z --- PASS: TestTCPPassthroughStatusCountersTrackAcceptedRefusedErrorsAndBytes (0.00s) 2026-10-18T20:51:32.563940526Z === RUN TestClientHelloTooLargeUsesDomainSentinel 2026-10-18T20:51:32.563989988Z --- PASS: TestClientHelloTooLargeUsesDomainSentinel (0.00s) 2026-10-18T20:51:32.564041434Z === RUN TestClientHelloPeek 2026-10-18T20:51:32.564091133Z === RUN TestClientHelloPeek/valid_sni_returns_replayable_bytes 2026-10-18T20:51:32.564144873Z === RUN TestClientHelloPeek/no_sni 2026-10-18T20:51:32.564195096Z === RUN TestClientHelloPeek/malformed 2026-10-18T20:51:32.564246315Z === RUN TestClientHelloPeek/fragmented 2026-10-18T20:51:32.564295358Z === RUN TestClientHelloPeek/client_hello_across_multiple_tls_records 2026-10-18T20:51:32.564342252Z === RUN TestClientHelloPeek/client_hello_header_across_multiple_tls_records 2026-10-18T20:51:32.564392534Z --- PASS: TestClientHelloPeek (0.01s) 2026-10-18T20:51:32.564456009Z --- PASS: TestClientHelloPeek/valid_sni_returns_replayable_bytes (0.00s) 2026-10-18T20:51:32.564519816Z --- PASS: TestClientHelloPeek/no_sni (0.00s) 2026-10-18T20:51:32.564580306Z --- PASS: TestClientHelloPeek/malformed (0.00s) 2026-10-18T20:51:32.564641812Z --- PASS: TestClientHelloPeek/fragmented (0.01s) 2026-10-18T20:51:32.564712972Z --- PASS: TestClientHelloPeek/client_hello_across_multiple_tls_records (0.00s) 2026-10-18T20:51:32.564784378Z --- PASS: TestClientHelloPeek/client_hello_header_across_multiple_tls_records (0.00s) 2026-10-18T20:51:32.564833995Z === RUN TestTLSPassthrough 2026-10-18T20:51:32.564884237Z --- PASS: TestTLSPassthrough (0.02s) 2026-10-18T20:51:32.564911802Z === RUN TestTLSMuxUnknownClosesWithoutHTTPSRoute 2026-10-18T20:51:32.564921562Z --- PASS: TestTLSMuxUnknownClosesWithoutHTTPSRoute (0.00s) 2026-10-18T20:51:32.564958436Z === RUN TestTLSMuxIncompleteClientHelloDoesNotHangShutdown 2026-10-18T20:51:32.56497846Z --- PASS: TestTLSMuxIncompleteClientHelloDoesNotHangShutdown (0.05s) 2026-10-18T20:51:32.564991446Z === RUN TestTLSMuxHTTPServerRefreshesActiveRuntime 2026-10-18T20:51:32.565003634Z --- PASS: TestTLSMuxHTTPServerRefreshesActiveRuntime (0.01s) 2026-10-18T20:51:32.565014938Z === RUN TestTLSHTTPListenerServeRejectsAfterClose 2026-10-18T20:51:32.565027663Z --- PASS: TestTLSHTTPListenerServeRejectsAfterClose (0.01s) 2026-10-18T20:51:32.565039469Z === RUN TestTLSHTTPListenerCloseDrainsQueuedConnections 2026-10-18T20:51:32.565053236Z --- PASS: TestTLSHTTPListenerCloseDrainsQueuedConnections (0.00s) 2026-10-18T20:51:32.565063912Z === RUN TestTLSMuxHTTPSRoute 2026-10-18T20:51:32.565075189Z --- PASS: TestTLSMuxHTTPSRoute (0.02s) 2026-10-18T20:51:32.565085836Z === RUN TestTLSMuxHTTP2Route 2026-10-18T20:51:32.565096736Z --- PASS: TestTLSMuxHTTP2Route (0.02s) 2026-10-18T20:51:32.565107167Z === RUN TestHostMatchesTLSWildcard 2026-10-18T20:51:32.565119912Z --- PASS: TestHostMatchesTLSWildcard (0.00s) 2026-10-18T20:51:32.565131708Z === RUN TestUDPPassthroughEcho 2026-10-18T20:51:32.56514244Z --- PASS: TestUDPPassthroughEcho (0.05s) 2026-10-18T20:51:32.565151411Z === RUN TestUDPRejectsUntrustedCIDR 2026-10-18T20:51:32.565160388Z --- PASS: TestUDPRejectsUntrustedCIDR (0.08s) 2026-10-18T20:51:32.565165833Z === RUN TestUDPReloadAppliesTrustedCIDRChange 2026-10-18T20:51:32.565174371Z --- PASS: TestUDPReloadAppliesTrustedCIDRChange (0.08s) 2026-10-18T20:51:32.565182814Z === RUN TestUDPReloadClosesActiveUntrustedSessions 2026-10-18T20:51:32.565191469Z --- PASS: TestUDPReloadClosesActiveUntrustedSessions (0.08s) 2026-10-18T20:51:32.565199953Z === RUN TestUDPReloadReplacesSessionWhenBackendChanges 2026-10-18T20:51:32.565208584Z --- PASS: TestUDPReloadReplacesSessionWhenBackendChanges (0.12s) 2026-10-18T20:51:32.565218524Z === RUN TestUDPStaleRemovalKeepsReplacementSession 2026-10-18T20:51:32.565227172Z --- PASS: TestUDPStaleRemovalKeepsReplacementSession (0.00s) 2026-10-18T20:51:32.565235737Z === RUN TestUDPExpiryClosesOnlyRegisteredIdleSessionOnce 2026-10-18T20:51:32.565245347Z --- PASS: TestUDPExpiryClosesOnlyRegisteredIdleSessionOnce (0.00s) 2026-10-18T20:51:32.565254587Z === RUN TestUDPAdmissionGateBlocksPublicationAfterClosingBegins 2026-10-18T20:51:32.565263769Z --- PASS: TestUDPAdmissionGateBlocksPublicationAfterClosingBegins (0.00s) 2026-10-18T20:51:32.565273703Z === RUN TestUDPPublishSessionRejectsCompletedDialAfterAdmissionClosure 2026-10-18T20:51:32.565282996Z --- PASS: TestUDPPublishSessionRejectsCompletedDialAfterAdmissionClosure (0.00s) 2026-10-18T20:51:32.565293453Z === RUN TestUDPPublishSessionReusesExistingAndTouchesIt 2026-10-18T20:51:32.565302634Z --- PASS: TestUDPPublishSessionReusesExistingAndTouchesIt (0.00s) 2026-10-18T20:51:32.565310922Z === RUN TestUDPRemoveSessionNilIsSafe 2026-10-18T20:51:32.565319424Z --- PASS: TestUDPRemoveSessionNilIsSafe (0.00s) 2026-10-18T20:51:32.565327878Z === RUN TestUDPReadLoopRejectsInvalidSourceAddress 2026-10-18T20:51:32.565336415Z --- PASS: TestUDPReadLoopRejectsInvalidSourceAddress (0.06s) 2026-10-18T20:51:32.565345794Z === RUN TestUDPStopBeforeStartLeavesNoRuntimeGoroutines 2026-10-18T20:51:32.565354689Z --- PASS: TestUDPStopBeforeStartLeavesNoRuntimeGoroutines (0.00s) 2026-10-18T20:51:32.565365105Z === RUN TestUDPShutdownLeavesNoSessionsOrRuntimeGoroutines 2026-10-18T20:51:32.565374634Z --- PASS: TestUDPShutdownLeavesNoSessionsOrRuntimeGoroutines (0.05s) 2026-10-18T20:51:32.56538386Z === RUN TestUDPConcurrentCreationDuringShutdownLeavesNoSessions 2026-10-18T20:51:32.565393093Z --- PASS: TestUDPConcurrentCreationDuringShutdownLeavesNoSessions (0.18s) 2026-10-18T20:51:32.565402079Z === RUN TestUDPInFlightDialDoesNotPublishAfterAdmissionClosure 2026-10-18T20:51:32.565412934Z --- PASS: TestUDPInFlightDialDoesNotPublishAfterAdmissionClosure (0.00s) 2026-10-18T20:51:32.565421812Z === RUN TestUDPAddrPortNormalizesIPv4MappedAndPreservesZones 2026-10-18T20:51:32.565430829Z --- PASS: TestUDPAddrPortNormalizesIPv4MappedAndPreservesZones (0.00s) 2026-10-18T20:51:32.565440925Z === RUN TestUDPAddrPortRejectsInvalidAddresses 2026-10-18T20:51:32.56545037Z --- PASS: TestUDPAddrPortRejectsInvalidAddresses (0.00s) 2026-10-18T20:51:32.565459228Z === RUN TestUDPSessionPrecomputesImmutableRemoteAddr 2026-10-18T20:51:32.56546815Z --- PASS: TestUDPSessionPrecomputesImmutableRemoteAddr (0.00s) 2026-10-18T20:51:32.565477406Z === RUN TestUDPTrustedAddrPortMatchesCIDRs 2026-10-18T20:51:32.565485986Z --- PASS: TestUDPTrustedAddrPortMatchesCIDRs (0.00s) 2026-10-18T20:51:32.565494144Z === RUN TestUDPTwoClientsGetIsolatedSessions 2026-10-18T20:51:32.565523267Z --- PASS: TestUDPTwoClientsGetIsolatedSessions (0.05s) 2026-10-18T20:51:32.565544375Z === RUN TestUDPIdleSessionExpires 2026-10-18T20:51:32.565569794Z --- PASS: TestUDPIdleSessionExpires (0.06s) 2026-10-18T20:51:32.565585066Z === RUN TestUDPMaxSessionsRejectsOverflow 2026-10-18T20:51:32.56559753Z --- PASS: TestUDPMaxSessionsRejectsOverflow (0.13s) 2026-10-18T20:51:32.565611963Z === RUN TestUDPRemovedRouterWithRetainedEntryPointDrainsSession 2026-10-18T20:51:32.565623983Z --- PASS: TestUDPRemovedRouterWithRetainedEntryPointDrainsSession (0.14s) 2026-10-18T20:51:32.565637409Z === RUN TestUDPBackendChangeDrainsExistingSession 2026-10-18T20:51:32.565652705Z --- PASS: TestUDPBackendChangeDrainsExistingSession (0.11s) 2026-10-18T20:51:32.565666271Z === RUN TestUDPRemovedRouterDrainsThenClosesSessions 2026-10-18T20:51:32.565680393Z --- PASS: TestUDPRemovedRouterDrainsThenClosesSessions (0.05s) 2026-10-18T20:51:32.565692988Z === RUN TestUDPShutdownClosesSocket 2026-10-18T20:51:32.565704134Z --- PASS: TestUDPShutdownClosesSocket (0.00s) 2026-10-18T20:51:32.565716995Z === RUN TestUDPStatusCountersTrackDatagrams 2026-10-18T20:51:32.565732238Z --- PASS: TestUDPStatusCountersTrackDatagrams (0.05s) 2026-10-18T20:51:32.565745935Z PASS 2026-10-18T20:51:32.565761482Z ok github.com/bnema/gordon/internal/adapters/in/traffic 7.566s 2026-10-18T20:51:32.565774101Z === RUN TestEnsureRuntimeDirPrefersXDG 2026-10-18T20:51:32.565785181Z --- PASS: TestEnsureRuntimeDirPrefersXDG (0.00s) 2026-10-18T20:51:32.565798212Z === RUN TestEnsureRuntimeDirFallsBackToHome 2026-10-18T20:51:32.56581283Z --- PASS: TestEnsureRuntimeDirFallsBackToHome (0.00s) 2026-10-18T20:51:32.565825596Z === RUN TestEnsureRuntimeDirRejectsUnsafeXDG 2026-10-18T20:51:32.565838911Z --- PASS: TestEnsureRuntimeDirRejectsUnsafeXDG (0.00s) 2026-10-18T20:51:32.56585265Z === RUN TestEnsureRuntimeDirRejectsRelativeXDG 2026-10-18T20:51:32.565863846Z --- PASS: TestEnsureRuntimeDirRejectsRelativeXDG (0.00s) 2026-10-18T20:51:32.565876873Z === RUN TestEnsureRuntimeDirNoFallbackOnCreateError 2026-10-18T20:51:32.565891875Z --- PASS: TestEnsureRuntimeDirNoFallbackOnCreateError (0.00s) 2026-10-18T20:51:32.565905489Z === RUN TestEnsureDirRefusesSymlinkAncestor 2026-10-18T20:51:32.565918675Z --- PASS: TestEnsureDirRefusesSymlinkAncestor (0.00s) 2026-10-18T20:51:32.56593118Z === RUN TestEnsureDirTightensPermissions 2026-10-18T20:51:32.565942348Z --- PASS: TestEnsureDirTightensPermissions (0.00s) 2026-10-18T20:51:32.565955481Z === RUN TestEnsureDirRejectsOwnerOwnedWritableAncestor 2026-10-18T20:51:32.565970672Z --- PASS: TestEnsureDirRejectsOwnerOwnedWritableAncestor (0.00s) 2026-10-18T20:51:32.56598438Z === RUN TestValidatePathComponentRejectsForeignOwnedAncestors 2026-10-18T20:51:32.565999598Z === RUN TestValidatePathComponentRejectsForeignOwnedAncestors/-rwxr-xr-x 2026-10-18T20:51:32.566015809Z === RUN TestValidatePathComponentRejectsForeignOwnedAncestors/-rwx------ 2026-10-18T20:51:32.56603362Z --- PASS: TestValidatePathComponentRejectsForeignOwnedAncestors (0.00s) 2026-10-18T20:51:32.566067456Z --- PASS: TestValidatePathComponentRejectsForeignOwnedAncestors/-rwxr-xr-x (0.00s) 2026-10-18T20:51:32.566095905Z --- PASS: TestValidatePathComponentRejectsForeignOwnedAncestors/-rwx------ (0.00s) 2026-10-18T20:51:32.566110276Z === RUN TestValidatePathComponentAllowsRootOwnedStickyAncestor 2026-10-18T20:51:32.566126285Z --- PASS: TestValidatePathComponentAllowsRootOwnedStickyAncestor (0.00s) 2026-10-18T20:51:32.566140006Z === RUN TestValidateDirAllowsStickyRootAncestor 2026-10-18T20:51:32.566153446Z --- PASS: TestValidateDirAllowsStickyRootAncestor (0.00s) 2026-10-18T20:51:32.566168122Z === RUN TestEnsureDirRejectsSymlinkDirectory 2026-10-18T20:51:32.566181352Z --- PASS: TestEnsureDirRejectsSymlinkDirectory (0.00s) 2026-10-18T20:51:32.566192574Z === RUN TestEnsureDirRejectsRegularFile 2026-10-18T20:51:32.566204873Z --- PASS: TestEnsureDirRejectsRegularFile (0.00s) 2026-10-18T20:51:32.566213716Z === RUN TestEnsureDirRejectsForeignOwner 2026-10-18T20:51:32.566234278Z localadmin_test.go:197: requires root to change directory ownership 2026-10-18T20:51:32.566243671Z --- SKIP: TestEnsureDirRejectsForeignOwner (0.00s) 2026-10-18T20:51:32.566251678Z === RUN TestListenCreatesOwnerOnlySocket 2026-10-18T20:51:32.56625985Z --- PASS: TestListenCreatesOwnerOnlySocket (0.00s) 2026-10-18T20:51:32.566271795Z === RUN TestListenRefusesActiveListener 2026-10-18T20:51:32.56628286Z --- PASS: TestListenRefusesActiveListener (0.00s) 2026-10-18T20:51:32.566292493Z === RUN TestListenRemovesStaleOwnedSocket 2026-10-18T20:51:32.566301361Z --- PASS: TestListenRemovesStaleOwnedSocket (0.00s) 2026-10-18T20:51:32.566309757Z === RUN TestListenRefusesRegularFileCollision 2026-10-18T20:51:32.56631823Z --- PASS: TestListenRefusesRegularFileCollision (0.00s) 2026-10-18T20:51:32.566327948Z === RUN TestListenRefusesSymlinkSocket 2026-10-18T20:51:32.566336519Z --- PASS: TestListenRefusesSymlinkSocket (0.00s) 2026-10-18T20:51:32.56634813Z === RUN TestValidateSocketRejectsGroupAccessibleSocket 2026-10-18T20:51:32.566359877Z --- PASS: TestValidateSocketRejectsGroupAccessibleSocket (0.00s) 2026-10-18T20:51:32.566368651Z === RUN TestRemoveOwnedSocketRemovesBoundSocket 2026-10-18T20:51:32.566377064Z --- PASS: TestRemoveOwnedSocketRemovesBoundSocket (0.00s) 2026-10-18T20:51:32.566386795Z === RUN TestRemoveOwnedSocketLeavesReplacement 2026-10-18T20:51:32.566395379Z --- PASS: TestRemoveOwnedSocketLeavesReplacement (0.00s) 2026-10-18T20:51:32.566403735Z === RUN TestRemoveOwnedSocketIgnoresMissingPath 2026-10-18T20:51:32.56641243Z --- PASS: TestRemoveOwnedSocketIgnoresMissingPath (0.00s) 2026-10-18T20:51:32.566423933Z === RUN TestClientDirCandidatesOrderAndDedupe 2026-10-18T20:51:32.566438856Z === RUN TestClientDirCandidatesOrderAndDedupe/xdg_coincides_with_the_systemd_default 2026-10-18T20:51:32.566454476Z === RUN TestClientDirCandidatesOrderAndDedupe/xdg_differs_from_the_systemd_default 2026-10-18T20:51:32.56646897Z --- PASS: TestClientDirCandidatesOrderAndDedupe (0.00s) 2026-10-18T20:51:32.566491134Z --- PASS: TestClientDirCandidatesOrderAndDedupe/xdg_coincides_with_the_systemd_default (0.00s) 2026-10-18T20:51:32.566512696Z --- PASS: TestClientDirCandidatesOrderAndDedupe/xdg_differs_from_the_systemd_default (0.00s) 2026-10-18T20:51:32.566522277Z === RUN TestDialContextRejectsPeerUIDMismatchBeforeUse 2026-10-18T20:51:32.56653196Z --- PASS: TestDialContextRejectsPeerUIDMismatchBeforeUse (0.00s) 2026-10-18T20:51:32.566542858Z === RUN TestListenRefusesForeignOwnedSocketDirectory 2026-10-18T20:51:32.566563926Z localadmin_test.go:389: requires root to change directory ownership 2026-10-18T20:51:32.56657419Z --- SKIP: TestListenRefusesForeignOwnedSocketDirectory (0.00s) 2026-10-18T20:51:32.566580735Z PASS 2026-10-18T20:51:32.56659496Z ok github.com/bnema/gordon/internal/adapters/localadmin 1.018s 2026-10-18T20:51:32.566608671Z === RUN TestFormatJSON_AllFields 2026-10-18T20:51:32.566624372Z --- PASS: TestFormatJSON_AllFields (0.00s) 2026-10-18T20:51:32.566634614Z === RUN TestFormatJSON_OneLinePerEntry 2026-10-18T20:51:32.566644039Z --- PASS: TestFormatJSON_OneLinePerEntry (0.00s) 2026-10-18T20:51:32.566653696Z === RUN TestFormatJSON_TimestampMillisecondPrecision 2026-10-18T20:51:32.566663492Z --- PASS: TestFormatJSON_TimestampMillisecondPrecision (0.00s) 2026-10-18T20:51:32.566672673Z === RUN TestFormatJSON_ClientIPNoPort 2026-10-18T20:51:32.566682118Z --- PASS: TestFormatJSON_ClientIPNoPort (0.00s) 2026-10-18T20:51:32.566691535Z === RUN TestFormatJSON_EmptyOptionalFields 2026-10-18T20:51:32.566700954Z --- PASS: TestFormatJSON_EmptyOptionalFields (0.00s) 2026-10-18T20:51:32.566710187Z === RUN TestFormatJSON_WithQuery 2026-10-18T20:51:32.566719456Z --- PASS: TestFormatJSON_WithQuery (0.00s) 2026-10-18T20:51:32.566729196Z === RUN TestFormatCLF_BasicLine 2026-10-18T20:51:32.56673843Z --- PASS: TestFormatCLF_BasicLine (0.00s) 2026-10-18T20:51:32.566745494Z === RUN TestFormatCLF_WithQuery 2026-10-18T20:51:32.566754556Z --- PASS: TestFormatCLF_WithQuery (0.00s) 2026-10-18T20:51:32.566763745Z === RUN TestFormatCLF_NoRefererOrUA 2026-10-18T20:51:32.566772914Z --- PASS: TestFormatCLF_NoRefererOrUA (0.00s) 2026-10-18T20:51:32.566782347Z === RUN TestFormatCLF_EscapesQuotesInTarget 2026-10-18T20:51:32.566791689Z --- PASS: TestFormatCLF_EscapesQuotesInTarget (0.00s) 2026-10-18T20:51:32.566801746Z === RUN TestFormatCombined_BasicLine 2026-10-18T20:51:32.566811357Z --- PASS: TestFormatCombined_BasicLine (0.00s) 2026-10-18T20:51:32.566820825Z === RUN TestFormatCombined_EmptyRefererIsDash 2026-10-18T20:51:32.566830901Z --- PASS: TestFormatCombined_EmptyRefererIsDash (0.00s) 2026-10-18T20:51:32.56684034Z === RUN TestFormatCombined_EmptyUAIsDash 2026-10-18T20:51:32.566849813Z --- PASS: TestFormatCombined_EmptyUAIsDash (0.00s) 2026-10-18T20:51:32.566857379Z === RUN TestFormatCombined_WithReferer 2026-10-18T20:51:32.566866559Z --- PASS: TestFormatCombined_WithReferer (0.00s) 2026-10-18T20:51:32.566875618Z === RUN TestFormatCombined_EscapesQuotesInUA 2026-10-18T20:51:32.566885333Z --- PASS: TestFormatCombined_EscapesQuotesInUA (0.00s) 2026-10-18T20:51:32.566894539Z === RUN TestBuildRequestTarget_NoQuery 2026-10-18T20:51:32.566904901Z --- PASS: TestBuildRequestTarget_NoQuery (0.00s) 2026-10-18T20:51:32.566914066Z === RUN TestBuildRequestTarget_WithQuery 2026-10-18T20:51:32.566924191Z --- PASS: TestBuildRequestTarget_WithQuery (0.00s) 2026-10-18T20:51:32.566931742Z === RUN TestEscapeQuoted 2026-10-18T20:51:32.566939363Z --- PASS: TestEscapeQuoted (0.00s) 2026-10-18T20:51:32.566944504Z === RUN TestEscapeQuoted_ControlCharacters 2026-10-18T20:51:32.566949366Z --- PASS: TestEscapeQuoted_ControlCharacters (0.00s) 2026-10-18T20:51:32.5669549Z === RUN TestNewJournaldSink_JournaldUnavailable 2026-10-18T20:51:32.566959993Z --- PASS: TestNewJournaldSink_JournaldUnavailable (0.00s) 2026-10-18T20:51:32.566964679Z === RUN TestNewJournaldSink_EmptySyslogIdentifier 2026-10-18T20:51:32.56696968Z --- PASS: TestNewJournaldSink_EmptySyslogIdentifier (0.00s) 2026-10-18T20:51:32.566974548Z === RUN TestNewJournaldSink_WhitespaceSyslogIdentifier 2026-10-18T20:51:32.566979679Z --- PASS: TestNewJournaldSink_WhitespaceSyslogIdentifier (0.00s) 2026-10-18T20:51:32.566984447Z === RUN TestJournaldSink_Write_CallsJournalSend 2026-10-18T20:51:32.566989952Z --- PASS: TestJournaldSink_Write_CallsJournalSend (0.00s) 2026-10-18T20:51:32.56699481Z === RUN TestJournaldSink_Write_SendsCustomIdentifier 2026-10-18T20:51:32.567004326Z --- PASS: TestJournaldSink_Write_SendsCustomIdentifier (0.00s) 2026-10-18T20:51:32.567013844Z === RUN TestJournaldSink_Write_ReturnsErrorOnSendFailure 2026-10-18T20:51:32.567024637Z --- PASS: TestJournaldSink_Write_ReturnsErrorOnSendFailure (0.00s) 2026-10-18T20:51:32.567033834Z === RUN TestNew_InvalidFormat 2026-10-18T20:51:32.567042937Z --- PASS: TestNew_InvalidFormat (0.00s) 2026-10-18T20:51:32.567049684Z === RUN TestNew_InvalidOutput 2026-10-18T20:51:32.56705674Z --- PASS: TestNew_InvalidOutput (0.00s) 2026-10-18T20:51:32.567066325Z === RUN TestNew_FileOutput_EmptyPath 2026-10-18T20:51:32.56707569Z --- PASS: TestNew_FileOutput_EmptyPath (0.00s) 2026-10-18T20:51:32.567085999Z === RUN TestNew_FileOutput_CreatesDirectory 2026-10-18T20:51:32.56709566Z --- PASS: TestNew_FileOutput_CreatesDirectory (0.00s) 2026-10-18T20:51:32.567105012Z === RUN TestWriter_Stdout_JSON 2026-10-18T20:51:32.567114203Z --- PASS: TestWriter_Stdout_JSON (0.00s) 2026-10-18T20:51:32.567121189Z === RUN TestWriter_Stdout_CLF 2026-10-18T20:51:32.567130112Z --- PASS: TestWriter_Stdout_CLF (0.00s) 2026-10-18T20:51:32.567137186Z === RUN TestWriter_Stdout_Combined 2026-10-18T20:51:32.567141998Z --- PASS: TestWriter_Stdout_Combined (0.00s) 2026-10-18T20:51:32.56714646Z === RUN TestWriter_File_WritesLines 2026-10-18T20:51:32.567151225Z --- PASS: TestWriter_File_WritesLines (0.00s) 2026-10-18T20:51:32.567155489Z === RUN TestWriter_ConcurrentWrites 2026-10-18T20:51:32.567160339Z --- PASS: TestWriter_ConcurrentWrites (0.01s) 2026-10-18T20:51:32.567163764Z PASS 2026-10-18T20:51:32.567169197Z ok github.com/bnema/gordon/internal/adapters/out/accesslog 1.025s 2026-10-18T20:51:32.567174006Z === RUN TestCloudflareZoneResolverFindsParentZone 2026-10-18T20:51:32.567179023Z --- PASS: TestCloudflareZoneResolverFindsParentZone (0.00s) 2026-10-18T20:51:32.567184211Z === RUN TestCloudflareZoneResolverDoesNotLeakTokenInError 2026-10-18T20:51:32.567189438Z --- PASS: TestCloudflareZoneResolverDoesNotLeakTokenInError (0.00s) 2026-10-18T20:51:32.567197052Z === RUN TestCloudflareZoneResolverSimpleDomain 2026-10-18T20:51:32.567206681Z --- PASS: TestCloudflareZoneResolverSimpleDomain (0.00s) 2026-10-18T20:51:32.567216107Z === RUN TestCloudflareZoneResolverNoZoneFound 2026-10-18T20:51:32.567225717Z --- PASS: TestCloudflareZoneResolverNoZoneFound (0.00s) 2026-10-18T20:51:32.567236171Z === RUN TestCloudflareZoneResolverCachesErrorsWithShortTTL 2026-10-18T20:51:32.567246405Z --- PASS: TestCloudflareZoneResolverCachesErrorsWithShortTTL (0.00s) 2026-10-18T20:51:32.56725404Z === RUN TestCloudflareZoneResolverUnsuccessfulAPI 2026-10-18T20:51:32.567263599Z --- PASS: TestCloudflareZoneResolverUnsuccessfulAPI (0.00s) 2026-10-18T20:51:32.567272967Z === RUN TestCloudflareZoneResolverImplementsInterface 2026-10-18T20:51:32.567282906Z --- PASS: TestCloudflareZoneResolverImplementsInterface (0.00s) 2026-10-18T20:51:32.567293572Z === RUN TestWithCloudflareHTTPClientNilLeavesDefault 2026-10-18T20:51:32.56730328Z --- PASS: TestWithCloudflareHTTPClientNilLeavesDefault (0.00s) 2026-10-18T20:51:32.567313684Z === RUN TestCloudflareZoneResolverFindZoneLowercasesInput 2026-10-18T20:51:32.567324621Z --- PASS: TestCloudflareZoneResolverFindZoneLowercasesInput (0.00s) 2026-10-18T20:51:32.567334701Z === RUN TestCloudflareZoneResolverFindZoneMixedCaseWithTrailingDot 2026-10-18T20:51:32.567345439Z --- PASS: TestCloudflareZoneResolverFindZoneMixedCaseWithTrailingDot (0.00s) 2026-10-18T20:51:32.567355938Z === RUN TestHTTPProviderStoresAndCleansChallenge 2026-10-18T20:51:32.567366299Z --- PASS: TestHTTPProviderStoresAndCleansChallenge (0.00s) 2026-10-18T20:51:32.56737524Z === RUN TestHTTPProviderNilSink 2026-10-18T20:51:32.567384324Z --- PASS: TestHTTPProviderNilSink (0.00s) 2026-10-18T20:51:32.567393402Z === RUN TestNewIssuerValidatesEmail 2026-10-18T20:51:32.567403283Z --- PASS: TestNewIssuerValidatesEmail (0.00s) 2026-10-18T20:51:32.56741229Z === RUN TestNewIssuerValidatesStore 2026-10-18T20:51:32.567421318Z --- PASS: TestNewIssuerValidatesStore (0.00s) 2026-10-18T20:51:32.567430455Z === RUN TestNewIssuerValidatesHTTPChallengeSink 2026-10-18T20:51:32.567440159Z --- PASS: TestNewIssuerValidatesHTTPChallengeSink (0.00s) 2026-10-18T20:51:32.567449809Z === RUN TestNewIssuerValidatesChallengeMode 2026-10-18T20:51:32.567459401Z --- PASS: TestNewIssuerValidatesChallengeMode (0.00s) 2026-10-18T20:51:32.567467213Z === RUN TestNewIssuerValidatesCloudflareToken 2026-10-18T20:51:32.567474722Z --- PASS: TestNewIssuerValidatesCloudflareToken (0.00s) 2026-10-18T20:51:32.567485749Z === RUN TestNewIssuerValidatesCloudflareDNSConfig 2026-10-18T20:51:32.567496839Z --- PASS: TestNewIssuerValidatesCloudflareDNSConfig (0.00s) 2026-10-18T20:51:32.567506982Z === RUN TestNormalizeDNSResolversErrorsIncludeEntryContext 2026-10-18T20:51:32.567517491Z === RUN TestNormalizeDNSResolversErrorsIncludeEntryContext/empty_after_trimming 2026-10-18T20:51:32.567527989Z === RUN TestNormalizeDNSResolversErrorsIncludeEntryContext/missing_port 2026-10-18T20:51:32.567537968Z === RUN TestNormalizeDNSResolversErrorsIncludeEntryContext/empty_host 2026-10-18T20:51:32.56754668Z === RUN TestNormalizeDNSResolversErrorsIncludeEntryContext/invalid_port 2026-10-18T20:51:32.567561601Z --- PASS: TestNormalizeDNSResolversErrorsIncludeEntryContext (0.00s) 2026-10-18T20:51:32.56758595Z --- PASS: TestNormalizeDNSResolversErrorsIncludeEntryContext/empty_after_trimming (0.00s) 2026-10-18T20:51:32.567606416Z --- PASS: TestNormalizeDNSResolversErrorsIncludeEntryContext/missing_port (0.00s) 2026-10-18T20:51:32.567625905Z --- PASS: TestNormalizeDNSResolversErrorsIncludeEntryContext/empty_host (0.00s) 2026-10-18T20:51:32.567645796Z --- PASS: TestNormalizeDNSResolversErrorsIncludeEntryContext/invalid_port (0.00s) 2026-10-18T20:51:32.567654879Z === RUN TestNewIssuerRejectsNonHTTPSURL 2026-10-18T20:51:32.567664491Z --- PASS: TestNewIssuerRejectsNonHTTPSURL (0.00s) 2026-10-18T20:51:32.567673579Z === RUN TestNewIssuerValidWithDefaults 2026-10-18T20:51:32.567682533Z --- PASS: TestNewIssuerValidWithDefaults (0.00s) 2026-10-18T20:51:32.567691821Z === RUN TestCloudflareDNSProviderConfigUsesDNSSettings 2026-10-18T20:51:32.567702427Z --- PASS: TestCloudflareDNSProviderConfigUsesDNSSettings (0.00s) 2026-10-18T20:51:32.567712013Z === RUN TestPrivateKeyRoundTrip 2026-10-18T20:51:32.567721018Z --- PASS: TestPrivateKeyRoundTrip (0.00s) 2026-10-18T20:51:32.567729798Z === RUN TestPrivateKeyRSARoundTrip 2026-10-18T20:51:32.567741232Z --- PASS: TestPrivateKeyRSARoundTrip (0.07s) 2026-10-18T20:51:32.567750985Z === RUN TestResourceConversionToStoredCertificate 2026-10-18T20:51:32.567760896Z --- PASS: TestResourceConversionToStoredCertificate (0.00s) 2026-10-18T20:51:32.567769748Z === RUN TestResourceConversionNoIssuer 2026-10-18T20:51:32.567781092Z --- PASS: TestResourceConversionNoIssuer (0.00s) 2026-10-18T20:51:32.567794653Z === RUN TestAccountJSONRoundTrip 2026-10-18T20:51:32.567808853Z --- PASS: TestAccountJSONRoundTrip (0.00s) 2026-10-18T20:51:32.567823264Z === RUN TestParsedCertificateNotAfter 2026-10-18T20:51:32.567838182Z --- PASS: TestParsedCertificateNotAfter (0.00s) 2026-10-18T20:51:32.567849407Z PASS 2026-10-18T20:51:32.567863847Z ok github.com/bnema/gordon/internal/adapters/out/acmelego 1.108s 2026-10-18T20:51:32.567876215Z === RUN TestStoreSaveLoadAll 2026-10-18T20:51:32.567889072Z --- PASS: TestStoreSaveLoadAll (0.00s) 2026-10-18T20:51:32.567901642Z === RUN TestStorePrivateKeyMode 2026-10-18T20:51:32.567915224Z --- PASS: TestStorePrivateKeyMode (0.00s) 2026-10-18T20:51:32.567927362Z === RUN TestStoreRejectsUnsafeID 2026-10-18T20:51:32.567941291Z === RUN TestStoreRejectsUnsafeID/../escape 2026-10-18T20:51:32.568041542Z === RUN TestStoreRejectsUnsafeID/. 2026-10-18T20:51:32.568069719Z === RUN TestStoreRejectsUnsafeID/.hidden 2026-10-18T20:51:32.568088994Z === RUN TestStoreRejectsUnsafeID/tenant.old 2026-10-18T20:51:32.568104763Z === RUN TestStoreRejectsUnsafeID/tenant.tmp-123 2026-10-18T20:51:32.568133604Z --- PASS: TestStoreRejectsUnsafeID (0.00s) 2026-10-18T20:51:32.568265916Z --- PASS: TestStoreRejectsUnsafeID/../escape (0.00s) 2026-10-18T20:51:32.568291414Z --- PASS: TestStoreRejectsUnsafeID/. (0.00s) 2026-10-18T20:51:32.568328817Z --- PASS: TestStoreRejectsUnsafeID/.hidden (0.00s) 2026-10-18T20:51:32.568415484Z --- PASS: TestStoreRejectsUnsafeID/tenant.old (0.00s) 2026-10-18T20:51:32.568442076Z --- PASS: TestStoreRejectsUnsafeID/tenant.tmp-123 (0.00s) 2026-10-18T20:51:32.568467196Z === RUN TestStoreLockAcquireRelease 2026-10-18T20:51:32.568478197Z --- PASS: TestStoreLockAcquireRelease (0.00s) 2026-10-18T20:51:32.568486316Z === RUN TestStoreLockContextCanceled 2026-10-18T20:51:32.568494393Z --- PASS: TestStoreLockContextCanceled (0.00s) 2026-10-18T20:51:32.56850201Z === RUN TestStoreNewRestoresBackupDir 2026-10-18T20:51:32.568520235Z --- PASS: TestStoreNewRestoresBackupDir (0.00s) 2026-10-18T20:51:32.568535172Z === RUN TestStoreSaveLoadAccount 2026-10-18T20:51:32.568544091Z --- PASS: TestStoreSaveLoadAccount (0.00s) 2026-10-18T20:51:32.568551768Z === RUN TestStoreAccountFileMode 2026-10-18T20:51:32.568559618Z --- PASS: TestStoreAccountFileMode (0.00s) 2026-10-18T20:51:32.56856705Z === RUN TestStoreSaveLoadState 2026-10-18T20:51:32.568574564Z --- PASS: TestStoreSaveLoadState (0.00s) 2026-10-18T20:51:32.568596139Z === RUN TestStoreLoadAllInvalidChallenge 2026-10-18T20:51:32.568606682Z --- PASS: TestStoreLoadAllInvalidChallenge (0.00s) 2026-10-18T20:51:32.568615103Z === RUN TestStoreLoadAllCorruptPrivkey 2026-10-18T20:51:32.568623383Z --- PASS: TestStoreLoadAllCorruptPrivkey (0.00s) 2026-10-18T20:51:32.568631591Z === RUN TestStoreLoadAllCorruptFullchain 2026-10-18T20:51:32.568639347Z --- PASS: TestStoreLoadAllCorruptFullchain (0.00s) 2026-10-18T20:51:32.568659013Z === RUN TestStoreLoadAllSkipsTempAndBackupDirs 2026-10-18T20:51:32.568669522Z --- PASS: TestStoreLoadAllSkipsTempAndBackupDirs (0.00s) 2026-10-18T20:51:32.56867732Z === RUN TestStoreLoadAllInvalidPEM 2026-10-18T20:51:32.568685209Z --- PASS: TestStoreLoadAllInvalidPEM (0.00s) 2026-10-18T20:51:32.568690773Z PASS 2026-10-18T20:51:32.568700386Z ok github.com/bnema/gordon/internal/adapters/out/acmestore 1.023s 2026-10-18T20:51:32.568723383Z === RUN TestValidateAppSecretPath 2026-10-18T20:51:32.568732533Z --- PASS: TestValidateAppSecretPath (0.00s) 2026-10-18T20:51:32.568739384Z PASS 2026-10-18T20:51:32.568749126Z ok github.com/bnema/gordon/internal/adapters/out/appsecrets 1.014s 2026-10-18T20:51:32.568758006Z === RUN TestStore_ProtectionSnapshotCoversEveryRoot 2026-10-18T20:51:32.568839999Z --- PASS: TestStore_ProtectionSnapshotCoversEveryRoot (0.01s) 2026-10-18T20:51:32.568872042Z === RUN TestStore_ProtectionSnapshotStoppedAppKeepsActive 2026-10-18T20:51:32.568932544Z --- PASS: TestStore_ProtectionSnapshotStoppedAppKeepsActive (0.00s) 2026-10-18T20:51:32.568952582Z === RUN TestStore_ProtectionSnapshotKeepsHistoricalIncarnations 2026-10-18T20:51:32.569015705Z --- PASS: TestStore_ProtectionSnapshotKeepsHistoricalIncarnations (0.00s) 2026-10-18T20:51:32.569073818Z === RUN TestStore_ProtectionSnapshotKeepsDifferentClaimStates 2026-10-18T20:51:32.569094005Z --- PASS: TestStore_ProtectionSnapshotKeepsDifferentClaimStates (0.00s) 2026-10-18T20:51:32.569105027Z === RUN TestStore_ProtectionSnapshotReleasedIsTheOnlyDeletableState 2026-10-18T20:51:32.569114975Z --- PASS: TestStore_ProtectionSnapshotReleasedIsTheOnlyDeletableState (0.00s) 2026-10-18T20:51:32.569176038Z === RUN TestStore_ProtectionSnapshotUnknownStateIsRetained 2026-10-18T20:51:32.569236633Z --- PASS: TestStore_ProtectionSnapshotUnknownStateIsRetained (0.00s) 2026-10-18T20:51:32.56930225Z === RUN TestStore_ProtectionSnapshotMigrationBackfillsHistory 2026-10-18T20:51:32.569366874Z --- PASS: TestStore_ProtectionSnapshotMigrationBackfillsHistory (0.00s) 2026-10-18T20:51:32.56943153Z === RUN TestStore_ProtectionSnapshotReportsCorruptRecords 2026-10-18T20:51:32.569494291Z --- PASS: TestStore_ProtectionSnapshotReportsCorruptRecords (0.00s) 2026-10-18T20:51:32.569561386Z === RUN TestStore_ProtectionSnapshotConcurrentWrites 2026-10-18T20:51:32.569627549Z --- PASS: TestStore_ProtectionSnapshotConcurrentWrites (0.04s) 2026-10-18T20:51:32.569692065Z === RUN TestStore_ProtectionSnapshotCancellation 2026-10-18T20:51:32.569749907Z --- PASS: TestStore_ProtectionSnapshotCancellation (0.00s) 2026-10-18T20:51:32.569806304Z === RUN TestStore_ClaimOperationCreatesInFlightJournal 2026-10-18T20:51:32.569871509Z --- PASS: TestStore_ClaimOperationCreatesInFlightJournal (0.00s) 2026-10-18T20:51:32.569894511Z === RUN TestStore_ClaimOperationReplaysSameRequest 2026-10-18T20:51:32.569905045Z --- PASS: TestStore_ClaimOperationReplaysSameRequest (0.00s) 2026-10-18T20:51:32.56991428Z === RUN TestStore_ClaimOperationConflictsOnDifferentRequest 2026-10-18T20:51:32.5699405Z --- PASS: TestStore_ClaimOperationConflictsOnDifferentRequest (0.00s) 2026-10-18T20:51:32.569952022Z === RUN TestStore_ClaimOperationRefusesUnknownAppWithoutState 2026-10-18T20:51:32.570014807Z --- PASS: TestStore_ClaimOperationRefusesUnknownAppWithoutState (0.00s) 2026-10-18T20:51:32.570036507Z === RUN TestStore_ClaimOperationIsAtomicUnderConcurrency 2026-10-18T20:51:32.570127891Z --- PASS: TestStore_ClaimOperationIsAtomicUnderConcurrency (0.00s) 2026-10-18T20:51:32.570148326Z === RUN TestStore_ClaimOperationReplaysAfterReopen 2026-10-18T20:51:32.570238019Z --- PASS: TestStore_ClaimOperationReplaysAfterReopen (0.00s) 2026-10-18T20:51:32.570258577Z === RUN TestStore_ClaimOperationSurvivesRetire 2026-10-18T20:51:32.570318478Z --- PASS: TestStore_ClaimOperationSurvivesRetire (0.00s) 2026-10-18T20:51:32.570338895Z === RUN TestStore_CommitApplyRejectsSupersededIntent 2026-10-18T20:51:32.570431311Z --- PASS: TestStore_CommitApplyRejectsSupersededIntent (0.00s) 2026-10-18T20:51:32.570496714Z === RUN TestStore_RecoverDropsSupersededCommittedIntent 2026-10-18T20:51:32.5705599Z --- PASS: TestStore_RecoverDropsSupersededCommittedIntent (0.01s) 2026-10-18T20:51:32.570583272Z === RUN TestStore_CollectGarbagePreservesInFlightIntent 2026-10-18T20:51:32.57067693Z --- PASS: TestStore_CollectGarbagePreservesInFlightIntent (0.00s) 2026-10-18T20:51:32.570738504Z === RUN TestStore_RetireAppEndsIncarnation 2026-10-18T20:51:32.570791494Z --- PASS: TestStore_RetireAppEndsIncarnation (0.00s) 2026-10-18T20:51:32.57084127Z === RUN TestStore_RetireAppIsAtomicOnEmptyApp 2026-10-18T20:51:32.570892002Z --- PASS: TestStore_RetireAppIsAtomicOnEmptyApp (0.00s) 2026-10-18T20:51:32.570942088Z === RUN TestProtectionSnapshot_OperationDigestRootCarriesRepository 2026-10-18T20:51:32.570993215Z --- PASS: TestProtectionSnapshot_OperationDigestRootCarriesRepository (0.00s) 2026-10-18T20:51:32.571042504Z === RUN TestStore_BackendBindsRegisterRelease 2026-10-18T20:51:32.571091371Z --- PASS: TestStore_BackendBindsRegisterRelease (0.00s) 2026-10-18T20:51:32.571140242Z === RUN TestStore_BackendBindsConflictCrossApp 2026-10-18T20:51:32.571195004Z --- PASS: TestStore_BackendBindsConflictCrossApp (0.00s) 2026-10-18T20:51:32.571258586Z === RUN TestStore_BackendBindsUDPProtocol 2026-10-18T20:51:32.57132792Z --- PASS: TestStore_BackendBindsUDPProtocol (0.00s) 2026-10-18T20:51:32.571388268Z === RUN TestStore_StageCommitMaterialize 2026-10-18T20:51:32.571444212Z --- PASS: TestStore_StageCommitMaterialize (0.00s) 2026-10-18T20:51:32.57149655Z === RUN TestStore_RecoverCompletesCommitted 2026-10-18T20:51:32.57155128Z --- PASS: TestStore_RecoverCompletesCommitted (0.00s) 2026-10-18T20:51:32.571601761Z === RUN TestStore_ConcurrentSamePortCrossApp 2026-10-18T20:51:32.571650087Z --- PASS: TestStore_ConcurrentSamePortCrossApp (0.01s) 2026-10-18T20:51:32.571700838Z === RUN TestStore_GarbageProtectsReferenced 2026-10-18T20:51:32.571749166Z --- PASS: TestStore_GarbageProtectsReferenced (0.01s) 2026-10-18T20:51:32.571794196Z === RUN TestStore_CorruptAndIncompatible 2026-10-18T20:51:32.571849054Z --- PASS: TestStore_CorruptAndIncompatible (0.00s) 2026-10-18T20:51:32.57190845Z === RUN TestStore_AcceptApplyPublishesDesiredRevision 2026-10-18T20:51:32.571962965Z --- PASS: TestStore_AcceptApplyPublishesDesiredRevision (0.00s) 2026-10-18T20:51:32.572013483Z === RUN TestStore_GarbageSweepsStagedOrphan 2026-10-18T20:51:32.572064821Z --- PASS: TestStore_GarbageSweepsStagedOrphan (0.00s) 2026-10-18T20:51:32.572117292Z === RUN TestStore_OperationJournal 2026-10-18T20:51:32.572166162Z --- PASS: TestStore_OperationJournal (0.00s) 2026-10-18T20:51:32.572229092Z === RUN TestStore_IntentAndOwnership 2026-10-18T20:51:32.572276216Z --- PASS: TestStore_IntentAndOwnership (0.00s) 2026-10-18T20:51:32.572331979Z === RUN TestStore_RetentionEvictsUnreferencedBeyondDefault 2026-10-18T20:51:32.572384249Z --- PASS: TestStore_RetentionEvictsUnreferencedBeyondDefault (0.03s) 2026-10-18T20:51:32.572433812Z === RUN TestStore_ConfiguredRetentionOverridesDefault 2026-10-18T20:51:32.572480566Z --- PASS: TestStore_ConfiguredRetentionOverridesDefault (0.01s) 2026-10-18T20:51:32.572526649Z === RUN TestStore_ReopenPersistsAcrossClose 2026-10-18T20:51:32.572546422Z --- PASS: TestStore_ReopenPersistsAcrossClose (0.00s) 2026-10-18T20:51:32.572635217Z === RUN TestStore_OwnershipUUIDSurvivesNameReuse 2026-10-18T20:51:32.572687274Z --- PASS: TestStore_OwnershipUUIDSurvivesNameReuse (0.00s) 2026-10-18T20:51:32.572739454Z === RUN TestStore_RecoveryInhibitionsAreDurableAndGenerationScoped 2026-10-18T20:51:32.572793643Z --- PASS: TestStore_RecoveryInhibitionsAreDurableAndGenerationScoped (0.00s) 2026-10-18T20:51:32.572842434Z === RUN TestStore_DesiredDevicesRoundTrip 2026-10-18T20:51:32.572895465Z --- PASS: TestStore_DesiredDevicesRoundTrip (0.00s) 2026-10-18T20:51:32.572919575Z === RUN TestStore_DesiredWithoutDevicesLoads 2026-10-18T20:51:32.572966073Z --- PASS: TestStore_DesiredWithoutDevicesLoads (0.00s) 2026-10-18T20:51:32.572984068Z === RUN TestStore_DesiredCapabilitiesRoundTrip 2026-10-18T20:51:32.573066233Z --- PASS: TestStore_DesiredCapabilitiesRoundTrip (0.00s) 2026-10-18T20:51:32.573114536Z === RUN TestStore_DesiredWithoutCapabilitiesLoads 2026-10-18T20:51:32.57316694Z --- PASS: TestStore_DesiredWithoutCapabilitiesLoads (0.00s) 2026-10-18T20:51:32.573211234Z PASS 2026-10-18T20:51:32.573264403Z ok github.com/bnema/gordon/internal/adapters/out/appstate 1.197s 2026-10-18T20:51:32.573315363Z === RUN TestDetectRuntimeSocket_ExplicitPathTakesPrecedence 2026-10-18T20:51:32.573366941Z --- PASS: TestDetectRuntimeSocket_ExplicitPathTakesPrecedence (0.00s) 2026-10-18T20:51:32.573421941Z === RUN TestDetectRuntimeSocket_FallsBackToDockerHost 2026-10-18T20:51:32.573473282Z --- PASS: TestDetectRuntimeSocket_FallsBackToDockerHost (0.00s) 2026-10-18T20:51:32.573528546Z === RUN TestDetectRuntimeSocket_EmptyDockerHostIgnored 2026-10-18T20:51:32.573575366Z --- PASS: TestDetectRuntimeSocket_EmptyDockerHostIgnored (0.00s) 2026-10-18T20:51:32.573634819Z === RUN TestDetectRuntimeSocket_NonUnixDockerHostPassedThrough 2026-10-18T20:51:32.573686924Z --- PASS: TestDetectRuntimeSocket_NonUnixDockerHostPassedThrough (0.00s) 2026-10-18T20:51:32.573737299Z === RUN TestParseUnixSocketPath 2026-10-18T20:51:32.573788235Z === RUN TestParseUnixSocketPath/unix:///var/run/docker.sock 2026-10-18T20:51:32.573842762Z === RUN TestParseUnixSocketPath/unix:///run/podman/podman.sock 2026-10-18T20:51:32.573893409Z === RUN TestParseUnixSocketPath/tcp://localhost:2375 2026-10-18T20:51:32.573945934Z === RUN TestParseUnixSocketPath//var/run/docker.sock 2026-10-18T20:51:32.573999427Z --- PASS: TestParseUnixSocketPath (0.00s) 2026-10-18T20:51:32.574064449Z --- PASS: TestParseUnixSocketPath/unix:///var/run/docker.sock (0.00s) 2026-10-18T20:51:32.574131808Z --- PASS: TestParseUnixSocketPath/unix:///run/podman/podman.sock (0.00s) 2026-10-18T20:51:32.574196066Z --- PASS: TestParseUnixSocketPath/tcp://localhost:2375 (0.00s) 2026-10-18T20:51:32.574260019Z --- PASS: TestParseUnixSocketPath//var/run/docker.sock (0.00s) 2026-10-18T20:51:32.574311753Z === RUN TestNewRuntimeWithSocket_UsesExplicitHost 2026-10-18T20:51:32.574361861Z --- PASS: TestNewRuntimeWithSocket_UsesExplicitHost (0.00s) 2026-10-18T20:51:32.57441061Z === RUN TestRuntime_StreamContainerLogs_DemuxesTimestampedLines 2026-10-18T20:51:32.574459626Z --- PASS: TestRuntime_StreamContainerLogs_DemuxesTimestampedLines (0.00s) 2026-10-18T20:51:32.574511839Z === RUN TestRuntime_StreamContainerLogs_NotFound 2026-10-18T20:51:32.574561258Z --- PASS: TestRuntime_StreamContainerLogs_NotFound (0.00s) 2026-10-18T20:51:32.57460645Z === RUN TestReadBoundedLine_TruncatesOversizedLines 2026-10-18T20:51:32.57466103Z --- PASS: TestReadBoundedLine_TruncatesOversizedLines (0.00s) 2026-10-18T20:51:32.574720017Z === RUN TestParseTimestampedLine_KeepsBodyWithoutTimestamp 2026-10-18T20:51:32.574775388Z --- PASS: TestParseTimestampedLine_KeepsBodyWithoutTimestamp (0.00s) 2026-10-18T20:51:32.574823941Z === RUN TestParseTimestampedLine_SanitizesInvalidUTF8 2026-10-18T20:51:32.574875993Z --- PASS: TestParseTimestampedLine_SanitizesInvalidUTF8 (0.00s) 2026-10-18T20:51:32.574925814Z === RUN TestBuildNetworkProbeCommand 2026-10-18T20:51:32.574978291Z === RUN TestBuildNetworkProbeCommand/http_carries_path,_whole-second_timeout,_and_exact_endpoint 2026-10-18T20:51:32.575031081Z === RUN TestBuildNetworkProbeCommand/tcp_carries_no_path 2026-10-18T20:51:32.575082257Z === RUN TestBuildNetworkProbeCommand/nc_bound_stays_strictly_under_the_attempt_bound 2026-10-18T20:51:32.575104281Z === RUN TestBuildNetworkProbeCommand/timeout_is_clamped_into_the_bounded_window 2026-10-18T20:51:32.57518773Z --- PASS: TestBuildNetworkProbeCommand (0.00s) 2026-10-18T20:51:32.575269877Z --- PASS: TestBuildNetworkProbeCommand/http_carries_path,_whole-second_timeout,_and_exact_endpoint (0.00s) 2026-10-18T20:51:32.575337112Z --- PASS: TestBuildNetworkProbeCommand/tcp_carries_no_path (0.00s) 2026-10-18T20:51:32.575407726Z --- PASS: TestBuildNetworkProbeCommand/nc_bound_stays_strictly_under_the_attempt_bound (0.00s) 2026-10-18T20:51:32.575477412Z --- PASS: TestBuildNetworkProbeCommand/timeout_is_clamped_into_the_bounded_window (0.00s) 2026-10-18T20:51:32.575538932Z === RUN TestProbeHelperHostConfig_IsHardened 2026-10-18T20:51:32.575591596Z --- PASS: TestProbeHelperHostConfig_IsHardened (0.00s) 2026-10-18T20:51:32.575643141Z === RUN TestProbeHelperConfig_NoSharedNetworks 2026-10-18T20:51:32.575695014Z --- PASS: TestProbeHelperConfig_NoSharedNetworks (0.00s) 2026-10-18T20:51:32.575746507Z === RUN TestParseProbeStatus 2026-10-18T20:51:32.575793504Z --- PASS: TestParseProbeStatus (0.00s) 2026-10-18T20:51:32.575840932Z === RUN TestCappedProbeBuffer 2026-10-18T20:51:32.57589121Z --- PASS: TestCappedProbeBuffer (0.00s) 2026-10-18T20:51:32.575941885Z === RUN TestHTTPProbeScript_RequiresThreeDigitStatus 2026-10-18T20:51:32.57599313Z --- PASS: TestHTTPProbeScript_RequiresThreeDigitStatus (0.00s) 2026-10-18T20:51:32.576019826Z === RUN TestProbeCleanupResult_PriorErrorNeverHidesCleanupFailure 2026-10-18T20:51:32.576068104Z 2026-10-18T20:51:27Z WRN failed to remove network probe helper error="remove failed" 2026-10-18T20:51:32.576123632Z --- PASS: TestProbeCleanupResult_PriorErrorNeverHidesCleanupFailure (0.00s) 2026-10-18T20:51:32.576176905Z === RUN TestProbeBoundExpired_OnlySessionDeadline 2026-10-18T20:51:32.576229115Z --- PASS: TestProbeBoundExpired_OnlySessionDeadline (0.00s) 2026-10-18T20:51:32.576286243Z === RUN TestProbeTimeoutFailure_IsUnhealthyNotError 2026-10-18T20:51:32.576337451Z --- PASS: TestProbeTimeoutFailure_IsUnhealthyNotError (0.00s) 2026-10-18T20:51:32.576386362Z === RUN TestProbeDiagnostic 2026-10-18T20:51:32.576435063Z --- PASS: TestProbeDiagnostic (0.00s) 2026-10-18T20:51:32.576484399Z === RUN TestDefaultNetworkProbeImage_IsDigestPinned 2026-10-18T20:51:32.576537194Z --- PASS: TestDefaultNetworkProbeImage_IsDigestPinned (0.00s) 2026-10-18T20:51:32.576586487Z === RUN TestRuntime_GetContainerNetwork 2026-10-18T20:51:32.576636899Z --- PASS: TestRuntime_GetContainerNetwork (0.00s) 2026-10-18T20:51:32.576689081Z === RUN TestRuntime_GetContainerNetwork_Fallback 2026-10-18T20:51:32.576739273Z --- PASS: TestRuntime_GetContainerNetwork_Fallback (0.00s) 2026-10-18T20:51:32.576788794Z === RUN TestRuntime_GetContainerNetwork_EmptyNetworks 2026-10-18T20:51:32.576841339Z --- PASS: TestRuntime_GetContainerNetwork_EmptyNetworks (0.00s) 2026-10-18T20:51:32.576891096Z === RUN TestRuntime_GetContainerNetwork_NilNetworkSettings 2026-10-18T20:51:32.576910353Z --- PASS: TestRuntime_GetContainerNetwork_NilNetworkSettings (0.00s) 2026-10-18T20:51:32.576990595Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings 2026-10-18T20:51:32.577043786Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/wildcard 2026-10-18T20:51:32.577096892Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/non-loopback 2026-10-18T20:51:32.577150413Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/empty_host_ip 2026-10-18T20:51:32.577201636Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/multiple_bindings 2026-10-18T20:51:32.577255506Z === RUN TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/invalid_host_port 2026-10-18T20:51:32.577305965Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings (0.01s) 2026-10-18T20:51:32.577373759Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/wildcard (0.00s) 2026-10-18T20:51:32.577445298Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/non-loopback (0.00s) 2026-10-18T20:51:32.577528517Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/empty_host_ip (0.00s) 2026-10-18T20:51:32.577600584Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/multiple_bindings (0.00s) 2026-10-18T20:51:32.577671398Z --- PASS: TestRuntime_GetContainerBackendBindsRejectsMalformedMappings/invalid_host_port (0.00s) 2026-10-18T20:51:32.57772439Z === RUN TestRuntime_GetContainerBackendBindsResolvesTCPAndUDPTogether 2026-10-18T20:51:32.577772502Z --- PASS: TestRuntime_GetContainerBackendBindsResolvesTCPAndUDPTogether (0.00s) 2026-10-18T20:51:32.577825042Z === RUN TestRuntime_GetContainerBackendBindsFailsWhenProtocolMissing 2026-10-18T20:51:32.577872972Z --- PASS: TestRuntime_GetContainerBackendBindsFailsWhenProtocolMissing (0.00s) 2026-10-18T20:51:32.577918559Z === RUN TestRuntime_CreateContainerPublishesExplicitUDPPort 2026-10-18T20:51:32.577968828Z --- PASS: TestRuntime_CreateContainerPublishesExplicitUDPPort (0.00s) 2026-10-18T20:51:32.578017433Z === RUN TestRuntime_CreateContainerKeepsLegacyPortsRandomLoopbackTCP 2026-10-18T20:51:32.578069017Z --- PASS: TestRuntime_CreateContainerKeepsLegacyPortsRandomLoopbackTCP (0.00s) 2026-10-18T20:51:32.578158185Z === RUN TestRuntime_CreateContainerAppliesRestartPolicy 2026-10-18T20:51:32.57822157Z --- PASS: TestRuntime_CreateContainerAppliesRestartPolicy (0.00s) 2026-10-18T20:51:32.578275488Z === RUN TestRuntime_CreateContainerMountsDeclaredReadOnlyVolumes 2026-10-18T20:51:32.578325993Z --- PASS: TestRuntime_CreateContainerMountsDeclaredReadOnlyVolumes (0.00s) 2026-10-18T20:51:32.578376371Z === RUN TestRuntime_CreateContainerAppliesNetworkAndResourceLimits 2026-10-18T20:51:32.578432691Z --- PASS: TestRuntime_CreateContainerAppliesNetworkAndResourceLimits (0.00s) 2026-10-18T20:51:32.578482841Z === RUN TestRuntime_CreateContainerTranslatesBindMounts 2026-10-18T20:51:32.578502992Z --- PASS: TestRuntime_CreateContainerTranslatesBindMounts (0.00s) 2026-10-18T20:51:32.578580183Z === RUN TestBuildBindMounts 2026-10-18T20:51:32.578632137Z === RUN TestBuildBindMounts/sorts_by_destination 2026-10-18T20:51:32.578682726Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source 2026-10-18T20:51:32.57873605Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/relative_source 2026-10-18T20:51:32.578791117Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/empty_source 2026-10-18T20:51:32.578842089Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/unclean_source 2026-10-18T20:51:32.57890348Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/relative_destination 2026-10-18T20:51:32.578958975Z === RUN TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/sensitive_destination 2026-10-18T20:51:32.579014898Z === RUN TestBuildBindMounts/duplicate_destination_rejected 2026-10-18T20:51:32.579067779Z --- PASS: TestBuildBindMounts (0.00s) 2026-10-18T20:51:32.579132748Z --- PASS: TestBuildBindMounts/sorts_by_destination (0.00s) 2026-10-18T20:51:32.579201542Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source (0.00s) 2026-10-18T20:51:32.579294662Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/relative_source (0.00s) 2026-10-18T20:51:32.579386749Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/empty_source (0.00s) 2026-10-18T20:51:32.579480421Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/unclean_source (0.00s) 2026-10-18T20:51:32.579575632Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/relative_destination (0.00s) 2026-10-18T20:51:32.579671942Z --- PASS: TestBuildBindMounts/invalid_paths_rejected_without_echoing_source/sensitive_destination (0.00s) 2026-10-18T20:51:32.579738883Z --- PASS: TestBuildBindMounts/duplicate_destination_rejected (0.00s) 2026-10-18T20:51:32.57979059Z === RUN TestMergeAddedCapabilities 2026-10-18T20:51:32.579846711Z --- PASS: TestMergeAddedCapabilities (0.00s) 2026-10-18T20:51:32.579900455Z === RUN TestRuntime_CreateContainerAddsGrantedCapabilitiesOnTopOfDefaults 2026-10-18T20:51:32.579954716Z --- PASS: TestRuntime_CreateContainerAddsGrantedCapabilitiesOnTopOfDefaults (0.01s) 2026-10-18T20:51:32.580007596Z === RUN TestRuntime_CreateContainerWithoutGrantsKeepsDefaultCapabilities 2026-10-18T20:51:32.580060757Z --- PASS: TestRuntime_CreateContainerWithoutGrantsKeepsDefaultCapabilities (0.00s) 2026-10-18T20:51:32.580113807Z === RUN TestBuildDeviceRequests_EmptyIsNil 2026-10-18T20:51:32.580165782Z --- PASS: TestBuildDeviceRequests_EmptyIsNil (0.00s) 2026-10-18T20:51:32.580219468Z === RUN TestBuildDeviceRequests_OneNativeCDIRequest 2026-10-18T20:51:32.580272689Z --- PASS: TestBuildDeviceRequests_OneNativeCDIRequest (0.00s) 2026-10-18T20:51:32.580324382Z === RUN TestBuildDeviceRequests_DoesNotMutateConfig 2026-10-18T20:51:32.580376167Z --- PASS: TestBuildDeviceRequests_DoesNotMutateConfig (0.00s) 2026-10-18T20:51:32.580427906Z === RUN TestCheckCDISupportMatrix 2026-10-18T20:51:32.580480526Z === RUN TestCheckCDISupportMatrix/podman_6.1.1 2026-10-18T20:51:32.580531607Z === RUN TestCheckCDISupportMatrix/podman_5.4_exact 2026-10-18T20:51:32.580584188Z === RUN TestCheckCDISupportMatrix/podman_4.9_refused 2026-10-18T20:51:32.580634673Z === RUN TestCheckCDISupportMatrix/docker_28.3 2026-10-18T20:51:32.580655844Z === RUN TestCheckCDISupportMatrix/docker_27_refused 2026-10-18T20:51:32.580665232Z === RUN TestCheckCDISupportMatrix/unknown_engine_refused 2026-10-18T20:51:32.580711381Z === RUN TestCheckCDISupportMatrix/socket_hint_podman_accepted 2026-10-18T20:51:32.580737016Z === RUN TestCheckCDISupportMatrix/unparsable_version_refused 2026-10-18T20:51:32.58078235Z === RUN TestCheckCDISupportMatrix/prerelease_minor_refused 2026-10-18T20:51:32.580806036Z --- PASS: TestCheckCDISupportMatrix (0.00s) 2026-10-18T20:51:32.580862997Z --- PASS: TestCheckCDISupportMatrix/podman_6.1.1 (0.00s) 2026-10-18T20:51:32.580923724Z --- PASS: TestCheckCDISupportMatrix/podman_5.4_exact (0.00s) 2026-10-18T20:51:32.580961502Z --- PASS: TestCheckCDISupportMatrix/podman_4.9_refused (0.00s) 2026-10-18T20:51:32.581041973Z --- PASS: TestCheckCDISupportMatrix/docker_28.3 (0.00s) 2026-10-18T20:51:32.581104144Z --- PASS: TestCheckCDISupportMatrix/docker_27_refused (0.00s) 2026-10-18T20:51:32.581169864Z --- PASS: TestCheckCDISupportMatrix/unknown_engine_refused (0.00s) 2026-10-18T20:51:32.581237123Z --- PASS: TestCheckCDISupportMatrix/socket_hint_podman_accepted (0.00s) 2026-10-18T20:51:32.581300652Z --- PASS: TestCheckCDISupportMatrix/unparsable_version_refused (0.00s) 2026-10-18T20:51:32.581365071Z --- PASS: TestCheckCDISupportMatrix/prerelease_minor_refused (0.00s) 2026-10-18T20:51:32.581416234Z === RUN TestCompareEngineVersion 2026-10-18T20:51:32.581461232Z --- PASS: TestCompareEngineVersion (0.00s) 2026-10-18T20:51:32.58151794Z === RUN TestEngineProbeError 2026-10-18T20:51:32.581570456Z === RUN TestEngineProbeError/canceled_probe_keeps_the_sentinel_and_drops_the_endpoint 2026-10-18T20:51:32.58162171Z === RUN TestEngineProbeError/canceled_adapter_cause_is_preserved 2026-10-18T20:51:32.581675739Z === RUN TestEngineProbeError/other_probe_failures_stay_redacted 2026-10-18T20:51:32.581726577Z --- PASS: TestEngineProbeError (0.00s) 2026-10-18T20:51:32.58179859Z --- PASS: TestEngineProbeError/canceled_probe_keeps_the_sentinel_and_drops_the_endpoint (0.00s) 2026-10-18T20:51:32.581864688Z --- PASS: TestEngineProbeError/canceled_adapter_cause_is_preserved (0.00s) 2026-10-18T20:51:32.581929584Z --- PASS: TestEngineProbeError/other_probe_failures_stay_redacted (0.00s) 2026-10-18T20:51:32.581979623Z === RUN TestParseExecOutput_SplitsStdoutAndStderr 2026-10-18T20:51:32.582029701Z --- PASS: TestParseExecOutput_SplitsStdoutAndStderr (0.00s) 2026-10-18T20:51:32.582055954Z === RUN TestParseExecOutput_RejectsOversizedFrameBeforeReadingPayload 2026-10-18T20:51:32.582073752Z --- PASS: TestParseExecOutput_RejectsOversizedFrameBeforeReadingPayload (0.00s) 2026-10-18T20:51:32.582125665Z === RUN TestRuntime_ExecInContainer_RejectsEmptyCommand 2026-10-18T20:51:32.582186641Z === RUN TestRuntime_ExecInContainer_RejectsEmptyCommand/nil 2026-10-18T20:51:32.58224282Z === RUN TestRuntime_ExecInContainer_RejectsEmptyCommand/empty_slice 2026-10-18T20:51:32.582295248Z --- PASS: TestRuntime_ExecInContainer_RejectsEmptyCommand (0.00s) 2026-10-18T20:51:32.582359977Z --- PASS: TestRuntime_ExecInContainer_RejectsEmptyCommand/nil (0.00s) 2026-10-18T20:51:32.582420448Z --- PASS: TestRuntime_ExecInContainer_RejectsEmptyCommand/empty_slice (0.00s) 2026-10-18T20:51:32.582470284Z === RUN TestExtractFileFromTarMatchesFullCleanPath 2026-10-18T20:51:32.58252028Z --- PASS: TestExtractFileFromTarMatchesFullCleanPath (0.00s) 2026-10-18T20:51:32.582570228Z === RUN TestExtractFileFromTarMatchesBasenameForCopiedFile 2026-10-18T20:51:32.582620457Z --- PASS: TestExtractFileFromTarMatchesBasenameForCopiedFile (0.00s) 2026-10-18T20:51:32.582673385Z === RUN TestExtractFileFromTarPrefersExactPathOverBasename 2026-10-18T20:51:32.582725353Z --- PASS: TestExtractFileFromTarPrefersExactPathOverBasename (0.00s) 2026-10-18T20:51:32.582776116Z === RUN TestExtractFileFromTarRejectsAmbiguousBasenameFallback 2026-10-18T20:51:32.582827662Z --- PASS: TestExtractFileFromTarRejectsAmbiguousBasenameFallback (0.00s) 2026-10-18T20:51:32.582875684Z === RUN TestExtractFileFromTarDoesNotMatchBasenameInNestedDirectory 2026-10-18T20:51:32.58292887Z --- PASS: TestExtractFileFromTarDoesNotMatchBasenameInNestedDirectory (0.00s) 2026-10-18T20:51:32.582979366Z === RUN TestReadExtractedEnvFileRejectsOversizedContent 2026-10-18T20:51:32.583027014Z --- PASS: TestReadExtractedEnvFileRejectsOversizedContent (0.01s) 2026-10-18T20:51:32.583078658Z === RUN TestRuntime_GetContainerHealthStatus_ConfiguredHealthcheck 2026-10-18T20:51:32.583126794Z --- PASS: TestRuntime_GetContainerHealthStatus_ConfiguredHealthcheck (0.00s) 2026-10-18T20:51:32.583179195Z === RUN TestRuntime_GetContainerHealthStatus_NoConfiguredHealthcheckWithStateHealthObject 2026-10-18T20:51:32.583232231Z --- PASS: TestRuntime_GetContainerHealthStatus_NoConfiguredHealthcheckWithStateHealthObject (0.00s) 2026-10-18T20:51:32.583285664Z === RUN TestRuntime_GetContainerHealthStatus_DisabledHealthcheck 2026-10-18T20:51:32.583335835Z --- PASS: TestRuntime_GetContainerHealthStatus_DisabledHealthcheck (0.00s) 2026-10-18T20:51:32.583386756Z === RUN TestRuntime_InspectContainer_ReportsConfiguredCapAdd 2026-10-18T20:51:32.583435329Z --- PASS: TestRuntime_InspectContainer_ReportsConfiguredCapAdd (0.00s) 2026-10-18T20:51:32.583484276Z === RUN Test_sortPortsHTTPFirst 2026-10-18T20:51:32.583530033Z === RUN Test_sortPortsHTTPFirst/single_port_unchanged 2026-10-18T20:51:32.583583312Z === RUN Test_sortPortsHTTPFirst/SSH_port_pushed_to_end 2026-10-18T20:51:32.583631502Z === RUN Test_sortPortsHTTPFirst/HTTP_ports_sorted_by_priority 2026-10-18T20:51:32.58368431Z === RUN Test_sortPortsHTTPFirst/SSH_pushed_behind_non-priority_ports 2026-10-18T20:51:32.583735035Z === RUN Test_sortPortsHTTPFirst/mixed_priority_and_non-priority_ports 2026-10-18T20:51:32.583782626Z === RUN Test_sortPortsHTTPFirst/all_non-priority_ports_sorted_ascending 2026-10-18T20:51:32.58383478Z === RUN Test_sortPortsHTTPFirst/empty_slice_is_no-op 2026-10-18T20:51:32.583883279Z === RUN Test_sortPortsHTTPFirst/gitea-style_multi-port_image 2026-10-18T20:51:32.583933255Z --- PASS: Test_sortPortsHTTPFirst (0.00s) 2026-10-18T20:51:32.583997072Z --- PASS: Test_sortPortsHTTPFirst/single_port_unchanged (0.00s) 2026-10-18T20:51:32.584059763Z --- PASS: Test_sortPortsHTTPFirst/SSH_port_pushed_to_end (0.00s) 2026-10-18T20:51:32.584124427Z --- PASS: Test_sortPortsHTTPFirst/HTTP_ports_sorted_by_priority (0.00s) 2026-10-18T20:51:32.584192398Z --- PASS: Test_sortPortsHTTPFirst/SSH_pushed_behind_non-priority_ports (0.00s) 2026-10-18T20:51:32.58426251Z --- PASS: Test_sortPortsHTTPFirst/mixed_priority_and_non-priority_ports (0.00s) 2026-10-18T20:51:32.584331483Z --- PASS: Test_sortPortsHTTPFirst/all_non-priority_ports_sorted_ascending (0.00s) 2026-10-18T20:51:32.58439628Z --- PASS: Test_sortPortsHTTPFirst/empty_slice_is_no-op (0.00s) 2026-10-18T20:51:32.584463122Z --- PASS: Test_sortPortsHTTPFirst/gitea-style_multi-port_image (0.00s) 2026-10-18T20:51:32.584491579Z === RUN TestRuntime_InventoryRuntime 2026-10-18T20:51:32.584546756Z --- PASS: TestRuntime_InventoryRuntime (0.00s) 2026-10-18T20:51:32.584623997Z === RUN TestRuntime_InventoryRuntimeReportsGapsNotAbsence 2026-10-18T20:51:32.584671829Z --- PASS: TestRuntime_InventoryRuntimeReportsGapsNotAbsence (0.00s) 2026-10-18T20:51:32.584717843Z === RUN TestRuntime_InventoryRuntimeContainerListFailureProtectsImages 2026-10-18T20:51:32.584767223Z --- PASS: TestRuntime_InventoryRuntimeContainerListFailureProtectsImages (0.00s) 2026-10-18T20:51:32.584816571Z === RUN TestRuntime_RemoveImageExactUsesExactIdentityWithoutForce 2026-10-18T20:51:32.584873291Z --- PASS: TestRuntime_RemoveImageExactUsesExactIdentityWithoutForce (0.00s) 2026-10-18T20:51:32.584934648Z === RUN TestRuntime_RemoveVolumeExactUsesExactIdentityWithoutForce 2026-10-18T20:51:32.584998214Z --- PASS: TestRuntime_RemoveVolumeExactUsesExactIdentityWithoutForce (0.00s) 2026-10-18T20:51:32.58506378Z === RUN TestRuntime_ExactRemovalRejectsInvalidIdentity 2026-10-18T20:51:32.585127436Z --- PASS: TestRuntime_ExactRemovalRejectsInvalidIdentity (0.00s) 2026-10-18T20:51:32.585189731Z === RUN TestRuntime_ExactRemovalPropagatesRuntimeErrors 2026-10-18T20:51:32.585245723Z --- PASS: TestRuntime_ExactRemovalPropagatesRuntimeErrors (0.00s) 2026-10-18T20:51:32.58529976Z === RUN TestRuntime_InspectContainerReportsNotFoundSentinel 2026-10-18T20:51:32.585361307Z --- PASS: TestRuntime_InspectContainerReportsNotFoundSentinel (0.00s) 2026-10-18T20:51:32.585419529Z === RUN TestRuntime_InspectContainerPreservesTransientErrors 2026-10-18T20:51:32.585463709Z --- PASS: TestRuntime_InspectContainerPreservesTransientErrors (0.00s) 2026-10-18T20:51:32.585486165Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart 2026-10-18T20:51:32.585522026Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/running 2026-10-18T20:51:32.585542006Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/exited 2026-10-18T20:51:32.585558808Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/restarting 2026-10-18T20:51:32.58557291Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/paused 2026-10-18T20:51:32.585587085Z === RUN TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/created 2026-10-18T20:51:32.585601674Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart (0.00s) 2026-10-18T20:51:32.585635122Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/running (0.00s) 2026-10-18T20:51:32.585669374Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/exited (0.00s) 2026-10-18T20:51:32.585701844Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/restarting (0.00s) 2026-10-18T20:51:32.585735452Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/paused (0.00s) 2026-10-18T20:51:32.585771375Z --- PASS: TestRuntime_InspectContainerNormalizesStatusAndExecutionStart/created (0.00s) 2026-10-18T20:51:32.585788058Z === RUN TestRuntime_StartContainerReportsNotFoundSentinel 2026-10-18T20:51:32.585802718Z --- PASS: TestRuntime_StartContainerReportsNotFoundSentinel (0.00s) 2026-10-18T20:51:32.585816212Z === RUN TestRuntime_GetContainerLogsSinceScopesTheRequest 2026-10-18T20:51:32.585830888Z --- PASS: TestRuntime_GetContainerLogsSinceScopesTheRequest (0.00s) 2026-10-18T20:51:32.585845321Z === RUN TestRuntime_GetContainerLogsSinceReportsNotFoundSentinel 2026-10-18T20:51:32.585860769Z --- PASS: TestRuntime_GetContainerLogsSinceReportsNotFoundSentinel (0.00s) 2026-10-18T20:51:32.585875313Z === RUN TestRuntime_InspectImageEnv_RedactsValuesInDebugLog 2026-10-18T20:51:32.585891562Z --- PASS: TestRuntime_InspectImageEnv_RedactsValuesInDebugLog (0.00s) 2026-10-18T20:51:32.585906249Z === RUN TestWaitForVolumeArchiveContainerIgnoresNilErrorBeforeStatus 2026-10-18T20:51:32.585921567Z --- PASS: TestWaitForVolumeArchiveContainerIgnoresNilErrorBeforeStatus (0.00s) 2026-10-18T20:51:32.585936766Z === RUN TestWaitForVolumeArchiveContainerHandlesClosedErrorChannelBeforeStatus 2026-10-18T20:51:32.585958819Z --- PASS: TestWaitForVolumeArchiveContainerHandlesClosedErrorChannelBeforeStatus (0.00s) 2026-10-18T20:51:32.585973752Z === RUN TestWaitForVolumeArchiveContainerReturnsErrorChannelError 2026-10-18T20:51:32.585989126Z --- PASS: TestWaitForVolumeArchiveContainerReturnsErrorChannelError (0.00s) 2026-10-18T20:51:32.586004111Z === RUN TestWaitForVolumeArchiveContainerErrorsWhenStatusChannelCloses 2026-10-18T20:51:32.586020351Z --- PASS: TestWaitForVolumeArchiveContainerErrorsWhenStatusChannelCloses (0.00s) 2026-10-18T20:51:32.5860355Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds 2026-10-18T20:51:32.586050338Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/zero_keeps_the_runtime_default 2026-10-18T20:51:32.586065416Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/negative_keeps_the_runtime_default 2026-10-18T20:51:32.586080015Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/default_app_grace 2026-10-18T20:51:32.586093667Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/sub-second_rounds_up 2026-10-18T20:51:32.586107829Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/fractional_rounds_up 2026-10-18T20:51:32.586122026Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/exact_seconds_are_preserved 2026-10-18T20:51:32.586138038Z === RUN TestStopTimeout_ConvertsGraceToAPISeconds/the_app_cap_is_preserved 2026-10-18T20:51:32.586154617Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds (0.00s) 2026-10-18T20:51:32.586190127Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/zero_keeps_the_runtime_default (0.00s) 2026-10-18T20:51:32.586227033Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/negative_keeps_the_runtime_default (0.00s) 2026-10-18T20:51:32.586259769Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/default_app_grace (0.00s) 2026-10-18T20:51:32.586292133Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/sub-second_rounds_up (0.00s) 2026-10-18T20:51:32.586324757Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/fractional_rounds_up (0.00s) 2026-10-18T20:51:32.586359943Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/exact_seconds_are_preserved (0.00s) 2026-10-18T20:51:32.586396093Z --- PASS: TestStopTimeout_ConvertsGraceToAPISeconds/the_app_cap_is_preserved (0.00s) 2026-10-18T20:51:32.586408684Z PASS 2026-10-18T20:51:32.586423581Z ok github.com/bnema/gordon/internal/adapters/out/docker 1.110s 2026-10-18T20:51:32.586438481Z ? github.com/bnema/gordon/internal/adapters/out/eventbus [no test files] 2026-10-18T20:51:32.586451965Z === RUN TestBackupStorage_StoreAndGet 2026-10-18T20:51:32.586465114Z --- PASS: TestBackupStorage_StoreAndGet (0.00s) 2026-10-18T20:51:32.586479331Z === RUN TestBackupStorage_StoreSameSecondBackupsUseDistinctFinalAndTempPaths 2026-10-18T20:51:32.586494688Z --- PASS: TestBackupStorage_StoreSameSecondBackupsUseDistinctFinalAndTempPaths (0.00s) 2026-10-18T20:51:32.58651134Z === RUN TestBackupStorage_PreservesCanonicalIdentityAndSeparatesSameNamedDatabases 2026-10-18T20:51:32.586527326Z --- PASS: TestBackupStorage_PreservesCanonicalIdentityAndSeparatesSameNamedDatabases (0.00s) 2026-10-18T20:51:32.586541991Z === RUN TestBackupStorage_DoesNotMergePreCutoverRecords 2026-10-18T20:51:32.586555928Z --- PASS: TestBackupStorage_DoesNotMergePreCutoverRecords (0.00s) 2026-10-18T20:51:32.586568203Z === RUN TestBackupStorage_ListWithScheduleFilter 2026-10-18T20:51:32.586581815Z --- PASS: TestBackupStorage_ListWithScheduleFilter (0.00s) 2026-10-18T20:51:32.586593669Z === RUN TestBackupStorage_Delete 2026-10-18T20:51:32.586605732Z --- PASS: TestBackupStorage_Delete (0.00s) 2026-10-18T20:51:32.586626657Z === RUN TestBackupStorage_ApplyRetention 2026-10-18T20:51:32.586636475Z --- PASS: TestBackupStorage_ApplyRetention (0.00s) 2026-10-18T20:51:32.586646958Z === RUN TestBackupStorage_StoreSanitizesDotOnlyPathComponents 2026-10-18T20:51:32.586664345Z --- PASS: TestBackupStorage_StoreSanitizesDotOnlyPathComponents (0.00s) 2026-10-18T20:51:32.586679255Z === RUN TestBackupStorage_StoreSanitizesSchedulePathComponent 2026-10-18T20:51:32.586693166Z --- PASS: TestBackupStorage_StoreSanitizesSchedulePathComponent (0.00s) 2026-10-18T20:51:32.586706137Z === RUN TestBlobStorage_CleanupStaleUploads_RemovesOldFiles 2026-10-18T20:51:32.586728409Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CleanupStaleUploads_RemovesOldFiles3537999270/001 2026-10-18T20:51:32.586750626Z 2026-10-18T20:51:27Z INF removed stale upload adapter=filesystem layer=adapter size=1024 uuid=stale-uuid-1234 2026-10-18T20:51:32.586768206Z --- PASS: TestBlobStorage_CleanupStaleUploads_RemovesOldFiles (0.00s) 2026-10-18T20:51:32.586784389Z === RUN TestBlobStorage_CleanupStaleUploads_PreservesRecentFiles 2026-10-18T20:51:32.586808171Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CleanupStaleUploads_PreservesRecentFiles4176849330/001 2026-10-18T20:51:32.586824243Z --- PASS: TestBlobStorage_CleanupStaleUploads_PreservesRecentFiles (0.00s) 2026-10-18T20:51:32.586839166Z === RUN TestBlobStorage_CleanupStaleUploads_EmptyUploadsDir 2026-10-18T20:51:32.58686121Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CleanupStaleUploads_EmptyUploadsDir1604815340/001 2026-10-18T20:51:32.586876358Z --- PASS: TestBlobStorage_CleanupStaleUploads_EmptyUploadsDir (0.00s) 2026-10-18T20:51:32.58688977Z === RUN TestBlobStorage_CleanupStaleUploads_MixedAges 2026-10-18T20:51:32.58691109Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CleanupStaleUploads_MixedAges4122389524/001 2026-10-18T20:51:32.586933313Z 2026-10-18T20:51:27Z INF removed stale upload adapter=filesystem layer=adapter size=2048 uuid=stale-uuid 2026-10-18T20:51:32.586950303Z --- PASS: TestBlobStorage_CleanupStaleUploads_MixedAges (0.00s) 2026-10-18T20:51:32.586963033Z === RUN TestNewBlobStorage 2026-10-18T20:51:32.586984644Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestNewBlobStorage994845361/001 2026-10-18T20:51:32.586998369Z --- PASS: TestNewBlobStorage (0.00s) 2026-10-18T20:51:32.58701094Z === RUN TestNewBlobStorage_InvalidPath 2026-10-18T20:51:32.587024514Z --- PASS: TestNewBlobStorage_InvalidPath (0.00s) 2026-10-18T20:51:32.587037465Z === RUN TestBlobStorage_PutAndGetBlob 2026-10-18T20:51:32.587060788Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_PutAndGetBlob1483427648/001 2026-10-18T20:51:32.587084928Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=17 2026-10-18T20:51:32.587099835Z --- PASS: TestBlobStorage_PutAndGetBlob (0.00s) 2026-10-18T20:51:32.587113346Z === RUN TestBlobStorage_GetBlob_NotFound 2026-10-18T20:51:32.587134588Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_GetBlob_NotFound2929536152/001 2026-10-18T20:51:32.587149278Z --- PASS: TestBlobStorage_GetBlob_NotFound (0.00s) 2026-10-18T20:51:32.587162549Z === RUN TestBlobStorage_GetBlobPath 2026-10-18T20:51:32.587183351Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_GetBlobPath2682835566/001 2026-10-18T20:51:32.587210264Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=17 2026-10-18T20:51:32.587225974Z --- PASS: TestBlobStorage_GetBlobPath (0.00s) 2026-10-18T20:51:32.587240165Z === RUN TestBlobStorage_GetBlobPath_NotFound 2026-10-18T20:51:32.587259875Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_GetBlobPath_NotFound2783113945/001 2026-10-18T20:51:32.587276881Z --- PASS: TestBlobStorage_GetBlobPath_NotFound (0.00s) 2026-10-18T20:51:32.587291048Z === RUN TestBlobStorage_PutBlob_SizeMismatch 2026-10-18T20:51:32.587312941Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_PutBlob_SizeMismatch2495164149/001 2026-10-18T20:51:32.587326542Z --- PASS: TestBlobStorage_PutBlob_SizeMismatch (0.00s) 2026-10-18T20:51:32.587340242Z === RUN TestBlobStorage_PutBlob_ZeroSize 2026-10-18T20:51:32.587360851Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_PutBlob_ZeroSize2939075572/001 2026-10-18T20:51:32.587390459Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:b3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d5 layer=adapter size_bytes=17 2026-10-18T20:51:32.587407861Z --- PASS: TestBlobStorage_PutBlob_ZeroSize (0.00s) 2026-10-18T20:51:32.587421987Z === RUN TestBlobStorage_DeleteBlob 2026-10-18T20:51:32.587443102Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_DeleteBlob213694871/001 2026-10-18T20:51:32.587466297Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:b3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d5 layer=adapter size_bytes=17 2026-10-18T20:51:32.587491614Z 2026-10-18T20:51:27Z INF blob deleted adapter=filesystem digest=sha256:b3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d5 layer=adapter size_bytes=17 2026-10-18T20:51:32.58750917Z --- PASS: TestBlobStorage_DeleteBlob (0.00s) 2026-10-18T20:51:32.58752266Z === RUN TestBlobStorage_DeleteBlob_NotFound 2026-10-18T20:51:32.587544464Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_DeleteBlob_NotFound3230100484/001 2026-10-18T20:51:32.587559152Z --- PASS: TestBlobStorage_DeleteBlob_NotFound (0.00s) 2026-10-18T20:51:32.587571142Z === RUN TestBlobStorage_BlobExists 2026-10-18T20:51:32.58759109Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_BlobExists974031015/001 2026-10-18T20:51:32.587614109Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:b3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d5 layer=adapter size_bytes=17 2026-10-18T20:51:32.587629057Z --- PASS: TestBlobStorage_BlobExists (0.00s) 2026-10-18T20:51:32.587643568Z === RUN TestBlobStorage_ListBlobs 2026-10-18T20:51:32.587664356Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_ListBlobs2686774475/001 2026-10-18T20:51:32.587690949Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=17 2026-10-18T20:51:32.587714413Z 2026-10-18T20:51:27Z INF blob stored adapter=filesystem digest=sha256:b3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d5 layer=adapter size_bytes=17 2026-10-18T20:51:32.587726982Z --- PASS: TestBlobStorage_ListBlobs (0.00s) 2026-10-18T20:51:32.587738092Z === RUN TestBlobStorage_ListBlobs_Empty 2026-10-18T20:51:32.587755748Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_ListBlobs_Empty4252765162/001 2026-10-18T20:51:32.587768063Z --- PASS: TestBlobStorage_ListBlobs_Empty (0.00s) 2026-10-18T20:51:32.587782853Z === RUN TestBlobStorage_StartBlobUpload 2026-10-18T20:51:32.587798513Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_StartBlobUpload1152739654/001 2026-10-18T20:51:32.587814428Z 2026-10-18T20:51:27Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=ad17ff1c-517b-48de-9cea-c54851df7201 2026-10-18T20:51:32.587821494Z --- PASS: TestBlobStorage_StartBlobUpload (0.00s) 2026-10-18T20:51:32.587826804Z === RUN TestBlobStorage_AppendBlobChunk 2026-10-18T20:51:32.587835947Z 2026-10-18T20:51:27Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendBlobChunk2466681741/001 2026-10-18T20:51:32.587846077Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=67a4a900-6cbf-4b6f-88cc-d72d9a27c56d 2026-10-18T20:51:32.587851123Z --- PASS: TestBlobStorage_AppendBlobChunk (0.00s) 2026-10-18T20:51:32.587855947Z === RUN TestBlobStorage_AppendBlobChunk_NotFound 2026-10-18T20:51:32.587865131Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendBlobChunk_NotFound2058944851/001 2026-10-18T20:51:32.587871056Z --- PASS: TestBlobStorage_AppendBlobChunk_NotFound (0.00s) 2026-10-18T20:51:32.587876355Z === RUN TestBlobStorage_AppendBlobChunk_MaxBlobSize 2026-10-18T20:51:32.587885582Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendBlobChunk_MaxBlobSize1626909184/001 2026-10-18T20:51:32.587924297Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=0e26f34d-a115-4be2-803f-41c460f25dc1 2026-10-18T20:51:32.587938972Z --- PASS: TestBlobStorage_AppendBlobChunk_MaxBlobSize (0.00s) 2026-10-18T20:51:32.587948634Z === RUN TestBlobStorage_AppendBlobChunk_MaxBlobSizeContentLengthTooLargeDoesNotRead 2026-10-18T20:51:32.587964242Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendBlobChunk_MaxBlobSizeContentLengthTooLarge2406225252/001 2026-10-18T20:51:32.587974872Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=691c3d48-8f77-4e25-839a-1ce19632ecd6 2026-10-18T20:51:32.587981779Z --- PASS: TestBlobStorage_AppendBlobChunk_MaxBlobSizeContentLengthTooLargeDoesNotRead (0.00s) 2026-10-18T20:51:32.587987903Z === RUN TestBlobStorage_AppendBlobChunk_MaxBlobSizeOverflowMidReadTruncates 2026-10-18T20:51:32.587998269Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendBlobChunk_MaxBlobSizeOverflowMidReadTrunca1180470102/001 2026-10-18T20:51:32.588007657Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=0fe830a5-9992-4a24-8fcd-22b2d309dd62 2026-10-18T20:51:32.588013715Z --- PASS: TestBlobStorage_AppendBlobChunk_MaxBlobSizeOverflowMidReadTruncates (0.00s) 2026-10-18T20:51:32.588018446Z === RUN TestBlobStorage_GetBlobUpload 2026-10-18T20:51:32.588028546Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_GetBlobUpload2838863344/001 2026-10-18T20:51:32.588037866Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=5798b310-599d-4130-81ae-ee73098252aa 2026-10-18T20:51:32.588043182Z --- PASS: TestBlobStorage_GetBlobUpload (0.00s) 2026-10-18T20:51:32.588048049Z === RUN TestBlobStorage_GetBlobUpload_NotFound 2026-10-18T20:51:32.588057139Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_GetBlobUpload_NotFound2818830588/001 2026-10-18T20:51:32.58806258Z --- PASS: TestBlobStorage_GetBlobUpload_NotFound (0.00s) 2026-10-18T20:51:32.588067223Z === RUN TestBlobStorage_FinishBlobUpload 2026-10-18T20:51:32.588076113Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_FinishBlobUpload2570305858/001 2026-10-18T20:51:32.588085436Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=962afac1-38ff-4d37-95c1-67902f5e9939 2026-10-18T20:51:32.588090621Z --- PASS: TestBlobStorage_FinishBlobUpload (0.00s) 2026-10-18T20:51:32.588095324Z === RUN TestBlobStorage_CancelBlobUpload 2026-10-18T20:51:32.588104636Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CancelBlobUpload3527330471/001 2026-10-18T20:51:32.588113851Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=d49ce981-5090-453d-afa9-99e710516118 2026-10-18T20:51:32.588123054Z 2026-10-18T20:51:28Z INF blob upload cancelled adapter=filesystem layer=adapter name=myapp uuid=d49ce981-5090-453d-afa9-99e710516118 2026-10-18T20:51:32.588128243Z --- PASS: TestBlobStorage_CancelBlobUpload (0.00s) 2026-10-18T20:51:32.588134269Z === RUN TestBlobStorage_CancelBlobUpload_NotFound 2026-10-18T20:51:32.588144195Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CancelBlobUpload_NotFound697607008/001 2026-10-18T20:51:32.588149936Z --- PASS: TestBlobStorage_CancelBlobUpload_NotFound (0.00s) 2026-10-18T20:51:32.588154599Z === RUN TestBlobStorage_BlobPathStructure 2026-10-18T20:51:32.588163595Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_BlobPathStructure3529400894/001 2026-10-18T20:51:32.588173795Z 2026-10-18T20:51:28Z INF blob stored adapter=filesystem digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=17 2026-10-18T20:51:32.588179291Z --- PASS: TestBlobStorage_BlobPathStructure (0.00s) 2026-10-18T20:51:32.588192614Z === RUN TestBlobStorage_DigestFormats 2026-10-18T20:51:32.588202135Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_DigestFormats1086124482/001 2026-10-18T20:51:32.588207663Z === RUN TestBlobStorage_DigestFormats/sha256_standard 2026-10-18T20:51:32.588217356Z 2026-10-18T20:51:28Z INF blob stored adapter=filesystem digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=88 2026-10-18T20:51:32.588222609Z === RUN TestBlobStorage_DigestFormats/sha512 2026-10-18T20:51:32.588234984Z 2026-10-18T20:51:28Z INF blob stored adapter=filesystem digest=sha512:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=adapter size_bytes=152 2026-10-18T20:51:32.588241156Z --- PASS: TestBlobStorage_DigestFormats (0.00s) 2026-10-18T20:51:32.588253897Z --- PASS: TestBlobStorage_DigestFormats/sha256_standard (0.00s) 2026-10-18T20:51:32.588265499Z --- PASS: TestBlobStorage_DigestFormats/sha512 (0.00s) 2026-10-18T20:51:32.588270256Z === RUN TestBlobStorage_CompleteUploadFlow 2026-10-18T20:51:32.5882793Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_CompleteUploadFlow4274006548/001 2026-10-18T20:51:32.58829024Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myorg/myapp uuid=1dd5bbe6-117c-4809-9644-0597a19026bd 2026-10-18T20:51:32.588300018Z 2026-10-18T20:51:28Z INF blob upload cancelled adapter=filesystem layer=adapter name=myorg/myapp uuid=1dd5bbe6-117c-4809-9644-0597a19026bd 2026-10-18T20:51:32.588305382Z --- PASS: TestBlobStorage_CompleteUploadFlow (0.00s) 2026-10-18T20:51:32.588310319Z === RUN TestBlobStorage_ConcurrentAppendAndFinalize 2026-10-18T20:51:32.588320214Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_ConcurrentAppendAndFinalize970182128/001 2026-10-18T20:51:32.588329686Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=c39e84a4-1f09-45b8-bbeb-1c224b4377cc 2026-10-18T20:51:32.588342113Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:e28df5bd6963a61ee101b65a7bb927154720ff11bb96e66fac684a61c8265b65 layer=adapter name=myapp uuid=c39e84a4-1f09-45b8-bbeb-1c224b4377cc 2026-10-18T20:51:32.588350541Z --- PASS: TestBlobStorage_ConcurrentAppendAndFinalize (0.00s) 2026-10-18T20:51:32.588355668Z === RUN TestBlobStorage_AppendAfterFinalize 2026-10-18T20:51:32.588366271Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_AppendAfterFinalize1744842908/001 2026-10-18T20:51:32.588375736Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=e3cec4e4-234c-4674-a938-74e249787a5a 2026-10-18T20:51:32.588388129Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:230d6ef6dba6e66b584ea80ab7f70d5654e1149930c6f555b4d40ce0df212677 layer=adapter name=myapp uuid=e3cec4e4-234c-4674-a938-74e249787a5a 2026-10-18T20:51:32.588394178Z --- PASS: TestBlobStorage_AppendAfterFinalize (0.00s) 2026-10-18T20:51:32.588399674Z === RUN TestBlobStorage_FinishBlobUploadMarksBlobAsRecentlyFinalized 2026-10-18T20:51:32.588410598Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_FinishBlobUploadMarksBlobAsRecentlyFinalized916150790/001 2026-10-18T20:51:32.588420187Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=32ca4544-8559-4f75-904c-8430bb383961 2026-10-18T20:51:32.588431883Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:230d6ef6dba6e66b584ea80ab7f70d5654e1149930c6f555b4d40ce0df212677 layer=adapter name=myapp uuid=32ca4544-8559-4f75-904c-8430bb383961 2026-10-18T20:51:32.588438576Z --- PASS: TestBlobStorage_FinishBlobUploadMarksBlobAsRecentlyFinalized (0.00s) 2026-10-18T20:51:32.588444206Z === RUN TestBlobStorage_FailedFinalizeRetryable 2026-10-18T20:51:32.588453662Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_FailedFinalizeRetryable369530239/001 2026-10-18T20:51:32.588462895Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=b3c0a2e9-34b3-4c47-8e10-68393a5d3cfe 2026-10-18T20:51:32.588482037Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:23eba1d161026739b83ff8de576b8fe41a81239c4f759d2e870143568b95b074 layer=adapter name=myapp uuid=b3c0a2e9-34b3-4c47-8e10-68393a5d3cfe 2026-10-18T20:51:32.588491628Z --- PASS: TestBlobStorage_FailedFinalizeRetryable (0.00s) 2026-10-18T20:51:32.588496607Z === RUN TestBlobStorage_SequentialFlow 2026-10-18T20:51:32.588506649Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_SequentialFlow4022428054/001 2026-10-18T20:51:32.588516787Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=4ea06184-7d31-4eaf-a314-275595335a66 2026-10-18T20:51:32.588528517Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:26ec65d7941970f710a75fe966c09fdef470067ef7072951beae88e4f36d6e1c layer=adapter name=myapp uuid=4ea06184-7d31-4eaf-a314-275595335a66 2026-10-18T20:51:32.588534496Z --- PASS: TestBlobStorage_SequentialFlow (0.00s) 2026-10-18T20:51:32.588539338Z === RUN TestBlobStorage_UploadBoundToRepository 2026-10-18T20:51:32.588548535Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_UploadBoundToRepository3810855404/001 2026-10-18T20:51:32.5885578Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=owner uuid=0f0d8727-bc97-4916-b777-0f4fa4364e0f 2026-10-18T20:51:32.588569585Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:f57e412226282015394463a91a090cdb7508e746819cb38979d22fa98592f574 layer=adapter name=owner uuid=0f0d8727-bc97-4916-b777-0f4fa4364e0f 2026-10-18T20:51:32.588575443Z --- PASS: TestBlobStorage_UploadBoundToRepository (0.00s) 2026-10-18T20:51:32.588580923Z === RUN TestBlobStorage_BlobOwnershipPersistsAcrossRestart 2026-10-18T20:51:32.588596758Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_BlobOwnershipPersistsAcrossRestart1509150349/001 2026-10-18T20:51:32.58861335Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=0e38267c-379c-47e4-8f43-278f654f1abb 2026-10-18T20:51:32.588629164Z 2026-10-18T20:51:28Z INF blob upload finished adapter=filesystem digest=sha256:371ff2b882c995407dfcbb34cb71c4bbc2427dc1ecd7bb25e7fdb9a312102d98 layer=adapter name=myapp uuid=0e38267c-379c-47e4-8f43-278f654f1abb 2026-10-18T20:51:32.588640346Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_BlobOwnershipPersistsAcrossRestart1509150349/001 2026-10-18T20:51:32.588646265Z --- PASS: TestBlobStorage_BlobOwnershipPersistsAcrossRestart (0.00s) 2026-10-18T20:51:32.58865188Z === RUN TestBlobStorage_FailedFinishDoesNotRecordOwnership 2026-10-18T20:51:32.588661431Z 2026-10-18T20:51:28Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestBlobStorage_FailedFinishDoesNotRecordOwnership2348637078/001 2026-10-18T20:51:32.588670808Z 2026-10-18T20:51:28Z INF blob upload started adapter=filesystem layer=adapter name=myapp uuid=0b39f667-39a1-4594-8d30-baaca349f110 2026-10-18T20:51:32.588676646Z --- PASS: TestBlobStorage_FailedFinishDoesNotRecordOwnership (0.00s) 2026-10-18T20:51:32.588681354Z === RUN TestNewManifestStorage 2026-10-18T20:51:32.588691029Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestNewManifestStorage1597457616/001 2026-10-18T20:51:32.58869628Z --- PASS: TestNewManifestStorage (0.00s) 2026-10-18T20:51:32.588700809Z === RUN TestNewManifestStorage_InvalidPath 2026-10-18T20:51:32.588705544Z --- PASS: TestNewManifestStorage_InvalidPath (0.00s) 2026-10-18T20:51:32.588710157Z === RUN TestManifestStorage_PutAndGetManifest 2026-10-18T20:51:32.588719299Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_PutAndGetManifest3970423115/001 2026-10-18T20:51:32.5887279Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588733177Z --- PASS: TestManifestStorage_PutAndGetManifest (0.00s) 2026-10-18T20:51:32.58873791Z === RUN TestManifestStorage_PutMirrorsDigest 2026-10-18T20:51:32.588747547Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_PutMirrorsDigest2256761157/001 2026-10-18T20:51:32.588756686Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v1 2026-10-18T20:51:32.588762571Z --- PASS: TestManifestStorage_PutMirrorsDigest (0.00s) 2026-10-18T20:51:32.588767523Z === RUN TestManifestStorage_GetManifest_NotFound 2026-10-18T20:51:32.588777002Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_GetManifest_NotFound2860485505/001 2026-10-18T20:51:32.588783322Z --- PASS: TestManifestStorage_GetManifest_NotFound (0.00s) 2026-10-18T20:51:32.58878801Z === RUN TestManifestStorage_GetManifestModTime 2026-10-18T20:51:32.588797289Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_GetManifestModTime1020156204/001 2026-10-18T20:51:32.588806218Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588811772Z --- PASS: TestManifestStorage_GetManifestModTime (0.00s) 2026-10-18T20:51:32.588816934Z === RUN TestManifestStorage_GetManifestModTime_NotFound 2026-10-18T20:51:32.588826591Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_GetManifestModTime_NotFound1946330817/001 2026-10-18T20:51:32.588832639Z --- PASS: TestManifestStorage_GetManifestModTime_NotFound (0.00s) 2026-10-18T20:51:32.588838475Z === RUN TestManifestStorage_GetManifest_FallbackContentType 2026-10-18T20:51:32.588861122Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_GetManifest_FallbackContentType1592872989/001 2026-10-18T20:51:32.588880018Z 2026-10-18T20:51:28Z WRN could not get manifest content type, falling back to default error="open /tmp/TestManifestStorage_GetManifest_FallbackContentType1592872989/001/repositories/myapp/manifests/latest.contenttype: no such file or directory" adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588888579Z --- PASS: TestManifestStorage_GetManifest_FallbackContentType (0.00s) 2026-10-18T20:51:32.588893382Z === RUN TestManifestStorage_DeleteManifest 2026-10-18T20:51:32.588902576Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_DeleteManifest1354854967/001 2026-10-18T20:51:32.588910948Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588919288Z 2026-10-18T20:51:28Z INF manifest deleted adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588924569Z --- PASS: TestManifestStorage_DeleteManifest (0.00s) 2026-10-18T20:51:32.588929408Z === RUN TestManifestStorage_DeleteManifest_NotFound 2026-10-18T20:51:32.588938664Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_DeleteManifest_NotFound2712713939/001 2026-10-18T20:51:32.588944253Z --- PASS: TestManifestStorage_DeleteManifest_NotFound (0.00s) 2026-10-18T20:51:32.588949191Z === RUN TestManifestStorage_ListTags 2026-10-18T20:51:32.588958172Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListTags3040575213/001 2026-10-18T20:51:32.588966497Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.588974666Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v1.0 2026-10-18T20:51:32.588982956Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v2.0 2026-10-18T20:51:32.588988027Z --- PASS: TestManifestStorage_ListTags (0.00s) 2026-10-18T20:51:32.588992625Z === RUN TestManifestStorage_ListTags_Empty 2026-10-18T20:51:32.589001566Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListTags_Empty2080744100/001 2026-10-18T20:51:32.589007302Z --- PASS: TestManifestStorage_ListTags_Empty (0.00s) 2026-10-18T20:51:32.589012362Z === RUN TestManifestStorage_ListTags_SkipsDigestReference 2026-10-18T20:51:32.589022438Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListTags_SkipsDigestReference3497869854/001 2026-10-18T20:51:32.589033533Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 2026-10-18T20:51:32.589039528Z --- PASS: TestManifestStorage_ListTags_SkipsDigestReference (0.00s) 2026-10-18T20:51:32.589044174Z === RUN TestManifestStorage_ListTags_AfterDelete 2026-10-18T20:51:32.589053547Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListTags_AfterDelete2058540702/001 2026-10-18T20:51:32.589061922Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.589073148Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v1.0 2026-10-18T20:51:32.589081846Z 2026-10-18T20:51:28Z INF manifest deleted adapter=filesystem layer=adapter name=myapp reference=v1.0 2026-10-18T20:51:32.589087246Z --- PASS: TestManifestStorage_ListTags_AfterDelete (0.00s) 2026-10-18T20:51:32.589092041Z === RUN TestManifestStorage_ListRepositories 2026-10-18T20:51:32.589101049Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListRepositories3019722060/001 2026-10-18T20:51:32.589109149Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=app1 reference=latest 2026-10-18T20:51:32.589117692Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=app2 reference=latest 2026-10-18T20:51:32.589125931Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=org/app3 reference=latest 2026-10-18T20:51:32.589131644Z --- PASS: TestManifestStorage_ListRepositories (0.00s) 2026-10-18T20:51:32.589136617Z === RUN TestManifestStorage_ListRepositories_Empty 2026-10-18T20:51:32.589145879Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ListRepositories_Empty4220421328/001 2026-10-18T20:51:32.589151485Z --- PASS: TestManifestStorage_ListRepositories_Empty (0.00s) 2026-10-18T20:51:32.589156198Z === RUN TestManifestStorage_NestedRepositoryNames 2026-10-18T20:51:32.589165529Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_NestedRepositoryNames1641918336/001 2026-10-18T20:51:32.589171068Z === RUN TestManifestStorage_NestedRepositoryNames/simple 2026-10-18T20:51:32.589178863Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=simple reference=latest 2026-10-18T20:51:32.589185224Z === RUN TestManifestStorage_NestedRepositoryNames/org/project 2026-10-18T20:51:32.589195418Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=org/project reference=v1.0 2026-10-18T20:51:32.589201431Z === RUN TestManifestStorage_NestedRepositoryNames/org/team/project 2026-10-18T20:51:32.589210819Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=org/team/project reference=v2.0 2026-10-18T20:51:32.589217561Z === RUN TestManifestStorage_NestedRepositoryNames/deeply/nested/repo/name 2026-10-18T20:51:32.589226509Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=deeply/nested/repo/name reference=sha256:abc123 2026-10-18T20:51:32.589232199Z --- PASS: TestManifestStorage_NestedRepositoryNames (0.00s) 2026-10-18T20:51:32.589245476Z --- PASS: TestManifestStorage_NestedRepositoryNames/simple (0.00s) 2026-10-18T20:51:32.589259756Z --- PASS: TestManifestStorage_NestedRepositoryNames/org/project (0.00s) 2026-10-18T20:51:32.589274443Z --- PASS: TestManifestStorage_NestedRepositoryNames/org/team/project (0.00s) 2026-10-18T20:51:32.589289785Z --- PASS: TestManifestStorage_NestedRepositoryNames/deeply/nested/repo/name (0.00s) 2026-10-18T20:51:32.589294587Z === RUN TestManifestStorage_ContentTypes 2026-10-18T20:51:32.589303899Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_ContentTypes2887800673/001 2026-10-18T20:51:32.589309342Z === RUN TestManifestStorage_ContentTypes/v2_manifest 2026-10-18T20:51:32.589317143Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=test-repo reference=tag-a 2026-10-18T20:51:32.589322251Z === RUN TestManifestStorage_ContentTypes/v1_manifest 2026-10-18T20:51:32.589330073Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=test-repo reference=tag-b 2026-10-18T20:51:32.589335266Z === RUN TestManifestStorage_ContentTypes/OCI_manifest 2026-10-18T20:51:32.589343596Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=test-repo reference=tag-c 2026-10-18T20:51:32.589348803Z === RUN TestManifestStorage_ContentTypes/OCI_index 2026-10-18T20:51:32.589357348Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=test-repo reference=tag-d 2026-10-18T20:51:32.58936319Z === RUN TestManifestStorage_ContentTypes/manifest_list 2026-10-18T20:51:32.589371208Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=test-repo reference=tag-e 2026-10-18T20:51:32.589377395Z --- PASS: TestManifestStorage_ContentTypes (0.00s) 2026-10-18T20:51:32.58939018Z --- PASS: TestManifestStorage_ContentTypes/v2_manifest (0.00s) 2026-10-18T20:51:32.589402469Z --- PASS: TestManifestStorage_ContentTypes/v1_manifest (0.00s) 2026-10-18T20:51:32.58941592Z --- PASS: TestManifestStorage_ContentTypes/OCI_manifest (0.00s) 2026-10-18T20:51:32.589428429Z --- PASS: TestManifestStorage_ContentTypes/OCI_index (0.00s) 2026-10-18T20:51:32.589441263Z --- PASS: TestManifestStorage_ContentTypes/manifest_list (0.00s) 2026-10-18T20:51:32.589445885Z === RUN TestManifestStorage_DuplicateTag 2026-10-18T20:51:32.58945574Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_DuplicateTag3032035646/001 2026-10-18T20:51:32.589464239Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.589472397Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=latest 2026-10-18T20:51:32.589477287Z --- PASS: TestManifestStorage_DuplicateTag (0.00s) 2026-10-18T20:51:32.58948227Z === RUN TestManifestStorage_LargeManifest 2026-10-18T20:51:32.589491522Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_LargeManifest1734851265/001 2026-10-18T20:51:32.589500457Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=large-app reference=latest 2026-10-18T20:51:32.589610365Z --- PASS: TestManifestStorage_LargeManifest (0.02s) 2026-10-18T20:51:32.58963585Z === RUN TestManifestStorage_SpecialCharactersInReference 2026-10-18T20:51:32.589667611Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_SpecialCharactersInReference86017496/001 2026-10-18T20:51:32.589701791Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 2026-10-18T20:51:32.589805098Z --- PASS: TestManifestStorage_SpecialCharactersInReference (0.00s) 2026-10-18T20:51:32.58982683Z === RUN TestManifestStorage_CompleteWorkflow 2026-10-18T20:51:32.589857129Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_CompleteWorkflow4005043726/001 2026-10-18T20:51:32.5898766Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myorg/myapp reference=v1.0 2026-10-18T20:51:32.589898606Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myorg/myapp reference=latest 2026-10-18T20:51:32.589979724Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myorg/myapp reference=v2.0 2026-10-18T20:51:32.590042018Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myorg/myapp reference=latest 2026-10-18T20:51:32.590102409Z 2026-10-18T20:51:28Z INF manifest deleted adapter=filesystem layer=adapter name=myorg/myapp reference=v1.0 2026-10-18T20:51:32.590157112Z --- PASS: TestManifestStorage_CompleteWorkflow (0.00s) 2026-10-18T20:51:32.590205354Z === RUN TestManifestStorage_UpdateTagsList_CleansLegacyDigestEntries 2026-10-18T20:51:32.590268929Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_UpdateTagsList_CleansLegacyDigestEntries2251426714/001 2026-10-18T20:51:32.590330378Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v1.0 2026-10-18T20:51:32.59039141Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v2.0 2026-10-18T20:51:32.590452368Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v3.0 2026-10-18T20:51:32.590508949Z --- PASS: TestManifestStorage_UpdateTagsList_CleansLegacyDigestEntries (0.00s) 2026-10-18T20:51:32.590562961Z === RUN TestManifestStorage_RemoveFromTagsList_CleansLegacyDigestEntries 2026-10-18T20:51:32.590630572Z 2026-10-18T20:51:28Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestManifestStorage_RemoveFromTagsList_CleansLegacyDigestEntries2974630277/001 2026-10-18T20:51:32.590693217Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v1.0 2026-10-18T20:51:32.590723221Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v2.0 2026-10-18T20:51:32.590770733Z 2026-10-18T20:51:28Z INF manifest stored adapter=filesystem layer=adapter name=myapp reference=v3.0 2026-10-18T20:51:32.59080154Z 2026-10-18T20:51:28Z INF manifest deleted adapter=filesystem layer=adapter name=myapp reference=v2.0 2026-10-18T20:51:32.590877884Z --- PASS: TestManifestStorage_RemoveFromTagsList_CleansLegacyDigestEntries (0.00s) 2026-10-18T20:51:32.590897506Z PASS 2026-10-18T20:51:32.590948628Z ok github.com/bnema/gordon/internal/adapters/out/filesystem 1.108s 2026-10-18T20:51:32.590979274Z ? github.com/bnema/gordon/internal/adapters/out/httpprober [no test files] 2026-10-18T20:51:32.59105764Z === RUN TestResolver_PinnedPassesThrough 2026-10-18T20:51:32.591093863Z --- PASS: TestResolver_PinnedPassesThrough (0.00s) 2026-10-18T20:51:32.591173598Z === RUN TestResolver_LocalManifestHashes 2026-10-18T20:51:32.591218398Z --- PASS: TestResolver_LocalManifestHashes (0.00s) 2026-10-18T20:51:32.591263232Z === RUN TestResolver_ExternalNeedsRemote 2026-10-18T20:51:32.591304621Z --- PASS: TestResolver_ExternalNeedsRemote (0.00s) 2026-10-18T20:51:32.591354397Z === RUN TestResolver_RejectsMalformedRemoteDigest 2026-10-18T20:51:32.591405195Z --- PASS: TestResolver_RejectsMalformedRemoteDigest (0.00s) 2026-10-18T20:51:32.591456032Z === RUN TestResolver_RejectsDisallowedRefsWithoutConnecting 2026-10-18T20:51:32.591508056Z --- PASS: TestResolver_RejectsDisallowedRefsWithoutConnecting (0.00s) 2026-10-18T20:51:32.591558189Z === RUN TestResolver_AllowsInstallationAndAllowlistedRefs 2026-10-18T20:51:32.591606171Z --- PASS: TestResolver_AllowsInstallationAndAllowlistedRefs (0.00s) 2026-10-18T20:51:32.591659421Z === RUN TestResolver_RequireDigestRejectsTags 2026-10-18T20:51:32.591709277Z --- PASS: TestResolver_RequireDigestRejectsTags (0.00s) 2026-10-18T20:51:32.591753538Z PASS 2026-10-18T20:51:32.591804556Z ok github.com/bnema/gordon/internal/adapters/out/imageref 1.012s 2026-10-18T20:51:32.591850969Z === RUN TestNew 2026-10-18T20:51:32.591901121Z === RUN TestNew/creates_log_directory 2026-10-18T20:51:32.591950938Z === RUN TestNew/uses_existing_directory 2026-10-18T20:51:32.591970837Z --- PASS: TestNew (0.00s) 2026-10-18T20:51:32.592062806Z --- PASS: TestNew/creates_log_directory (0.00s) 2026-10-18T20:51:32.592125311Z --- PASS: TestNew/uses_existing_directory (0.00s) 2026-10-18T20:51:32.5921734Z === RUN TestStartLogging 2026-10-18T20:51:32.592230331Z === RUN TestStartLogging/creates_log_file_and_writes_data 2026-10-18T20:51:32.592284719Z === RUN TestStartLogging/replaces_existing_log_stream_for_same_container 2026-10-18T20:51:32.592304352Z --- PASS: TestStartLogging (0.25s) 2026-10-18T20:51:32.592363002Z --- PASS: TestStartLogging/creates_log_file_and_writes_data (0.10s) 2026-10-18T20:51:32.592430399Z --- PASS: TestStartLogging/replaces_existing_log_stream_for_same_container (0.15s) 2026-10-18T20:51:32.592482629Z === RUN TestStopLogging 2026-10-18T20:51:32.592534385Z === RUN TestStopLogging/stops_log_collection 2026-10-18T20:51:32.592585692Z === RUN TestStopLogging/noop_for_non-existent_container 2026-10-18T20:51:32.592622574Z --- PASS: TestStopLogging (0.05s) 2026-10-18T20:51:32.592686833Z --- PASS: TestStopLogging/stops_log_collection (0.05s) 2026-10-18T20:51:32.592757947Z --- PASS: TestStopLogging/noop_for_non-existent_container (0.00s) 2026-10-18T20:51:32.592806293Z === RUN TestClose 2026-10-18T20:51:32.592844562Z === RUN TestClose/stops_all_log_streams 2026-10-18T20:51:32.592873202Z --- PASS: TestClose (0.03s) 2026-10-18T20:51:32.592902672Z --- PASS: TestClose/stops_all_log_streams (0.03s) 2026-10-18T20:51:32.59291954Z === RUN TestSanitizeDomain 2026-10-18T20:51:32.592941198Z === RUN TestSanitizeDomain/app.example.com 2026-10-18T20:51:32.592958485Z === RUN TestSanitizeDomain/api.v1.example.com 2026-10-18T20:51:32.592985082Z === RUN TestSanitizeDomain/localhost:8080 2026-10-18T20:51:32.593011884Z === RUN TestSanitizeDomain/app/service 2026-10-18T20:51:32.593036067Z === RUN TestSanitizeDomain/app_with_spaces 2026-10-18T20:51:32.593052711Z === RUN TestSanitizeDomain/simple 2026-10-18T20:51:32.593067262Z --- PASS: TestSanitizeDomain (0.00s) 2026-10-18T20:51:32.59309939Z --- PASS: TestSanitizeDomain/app.example.com (0.00s) 2026-10-18T20:51:32.593137085Z --- PASS: TestSanitizeDomain/api.v1.example.com (0.00s) 2026-10-18T20:51:32.593171312Z --- PASS: TestSanitizeDomain/localhost:8080 (0.00s) 2026-10-18T20:51:32.593203118Z --- PASS: TestSanitizeDomain/app/service (0.00s) 2026-10-18T20:51:32.593236147Z --- PASS: TestSanitizeDomain/app_with_spaces (0.00s) 2026-10-18T20:51:32.593271995Z --- PASS: TestSanitizeDomain/simple (0.00s) 2026-10-18T20:51:32.593289383Z === RUN TestMultipleContainers 2026-10-18T20:51:32.593307702Z --- PASS: TestMultipleContainers (0.10s) 2026-10-18T20:51:32.593326531Z PASS 2026-10-18T20:51:32.593350645Z ok github.com/bnema/gordon/internal/adapters/out/logwriter 1.441s 2026-10-18T20:51:32.593377426Z === RUN TestNewCA_GeneratesRootAndIntermediate 2026-10-18T20:51:32.593400325Z 2026-10-18T20:51:29Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593436207Z 2026-10-18T20:51:29Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:29Z 2026-10-18T20:51:32.593459902Z --- PASS: TestNewCA_GeneratesRootAndIntermediate (0.00s) 2026-10-18T20:51:32.593480826Z === RUN TestNewCA_LoadsExistingOnRestart 2026-10-18T20:51:32.593520251Z 2026-10-18T20:51:29Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593546367Z 2026-10-18T20:51:29Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:29Z 2026-10-18T20:51:32.593572673Z 2026-10-18T20:51:29Z INF loaded existing root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593598037Z 2026-10-18T20:51:29Z INF loaded existing intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:29Z 2026-10-18T20:51:32.59362322Z --- PASS: TestNewCA_LoadsExistingOnRestart (0.00s) 2026-10-18T20:51:32.593646429Z === RUN TestCA_IssueCertificate 2026-10-18T20:51:32.593674188Z 2026-10-18T20:51:29Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593705395Z 2026-10-18T20:51:29Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:29Z 2026-10-18T20:51:32.59373931Z --- PASS: TestCA_IssueCertificate (0.00s) 2026-10-18T20:51:32.593761356Z === RUN TestCA_RenewIntermediate 2026-10-18T20:51:32.593789561Z 2026-10-18T20:51:29Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593819403Z 2026-10-18T20:51:29Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:29Z 2026-10-18T20:51:32.59385397Z 2026-10-18T20:51:30Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:30Z 2026-10-18T20:51:32.593879659Z 2026-10-18T20:51:30Z INF intermediate CA renewed expires=2026-10-25T20:51:30Z 2026-10-18T20:51:32.593904113Z --- PASS: TestCA_RenewIntermediate (1.10s) 2026-10-18T20:51:32.59392389Z === RUN TestGenerateMobileconfig 2026-10-18T20:51:32.593949047Z 2026-10-18T20:51:30Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:32.593976315Z 2026-10-18T20:51:30Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:30Z 2026-10-18T20:51:32.593995803Z --- PASS: TestGenerateMobileconfig (0.00s) 2026-10-18T20:51:32.594020768Z === RUN TestGenerateMobileconfig_UsesIdentifierSafePayloadIdentifier 2026-10-18T20:51:32.59404165Z --- PASS: TestGenerateMobileconfig_UsesIdentifierSafePayloadIdentifier (0.00s) 2026-10-18T20:51:32.594061253Z PASS 2026-10-18T20:51:32.594082101Z ok github.com/bnema/gordon/internal/adapters/out/pki 2.129s 2026-10-18T20:51:32.59409937Z === RUN TestMemoryStore_Allow_WithinLimit 2026-10-18T20:51:32.594121788Z --- PASS: TestMemoryStore_Allow_WithinLimit (0.00s) 2026-10-18T20:51:32.594145333Z === RUN TestMemoryStore_Allow_ExceedsLimit 2026-10-18T20:51:32.594170854Z --- PASS: TestMemoryStore_Allow_ExceedsLimit (0.00s) 2026-10-18T20:51:32.594193641Z === RUN TestMemoryStore_Allow_BurstBehavior 2026-10-18T20:51:32.594219546Z --- PASS: TestMemoryStore_Allow_BurstBehavior (0.20s) 2026-10-18T20:51:32.594242983Z === RUN TestMemoryStore_Allow_IndependentKeys 2026-10-18T20:51:32.594267043Z --- PASS: TestMemoryStore_Allow_IndependentKeys (0.00s) 2026-10-18T20:51:32.594291275Z === RUN TestMemoryStore_AllowN_Basic 2026-10-18T20:51:32.594315716Z --- PASS: TestMemoryStore_AllowN_Basic (0.00s) 2026-10-18T20:51:32.594338491Z === RUN TestMemoryStore_AllowN_ExceedsBurst 2026-10-18T20:51:32.594362971Z --- PASS: TestMemoryStore_AllowN_ExceedsBurst (0.00s) 2026-10-18T20:51:32.594385519Z === RUN TestMemoryStore_Allow_ConcurrentAccess 2026-10-18T20:51:32.59440932Z --- PASS: TestMemoryStore_Allow_ConcurrentAccess (0.00s) 2026-10-18T20:51:32.594431613Z === RUN TestMemoryStore_IPKeyFormat 2026-10-18T20:51:32.594450445Z --- PASS: TestMemoryStore_IPKeyFormat (0.00s) 2026-10-18T20:51:32.594466883Z === RUN TestMemoryStore_GlobalKey 2026-10-18T20:51:32.594482108Z --- PASS: TestMemoryStore_GlobalKey (0.00s) 2026-10-18T20:51:32.594500396Z === RUN TestNewStore_MemoryBackend 2026-10-18T20:51:32.594529221Z --- PASS: TestNewStore_MemoryBackend (0.00s) 2026-10-18T20:51:32.594553798Z === RUN TestNewStore_EmptyBackend 2026-10-18T20:51:32.594575901Z --- PASS: TestNewStore_EmptyBackend (0.00s) 2026-10-18T20:51:32.594599392Z === RUN TestNewStore_RedisBackend 2026-10-18T20:51:32.594623397Z --- PASS: TestNewStore_RedisBackend (0.00s) 2026-10-18T20:51:32.594648131Z === RUN TestNewStore_UnknownBackend 2026-10-18T20:51:32.594670133Z --- PASS: TestNewStore_UnknownBackend (0.00s) 2026-10-18T20:51:32.594687454Z PASS 2026-10-18T20:51:32.594712276Z ok github.com/bnema/gordon/internal/adapters/out/ratelimit 1.214s 2026-10-18T20:51:32.661850062Z === RUN TestVolumeBackupStorageStoreListGet 2026-10-18T20:51:32.66189007Z --- PASS: TestVolumeBackupStorageStoreListGet (0.00s) 2026-10-18T20:51:32.661898049Z === RUN TestVolumeBackupStorageSendsConfiguredStorageClass 2026-10-18T20:51:32.661904256Z --- PASS: TestVolumeBackupStorageSendsConfiguredStorageClass (0.00s) 2026-10-18T20:51:32.661911129Z === RUN TestVolumeBackupStorageRetentionMixesLongAndShortIDs 2026-10-18T20:51:32.661916853Z --- PASS: TestVolumeBackupStorageRetentionMixesLongAndShortIDs (0.00s) 2026-10-18T20:51:32.661928307Z === RUN TestVolumeBackupStorageLatestVolumeArchives 2026-10-18T20:51:32.661974463Z --- PASS: TestVolumeBackupStorageLatestVolumeArchives (0.00s) 2026-10-18T20:51:32.661989773Z === RUN TestVolumeBackupStorageRetentionUsesParsedKeyTimestamp 2026-10-18T20:51:32.661999904Z --- PASS: TestVolumeBackupStorageRetentionUsesParsedKeyTimestamp (0.00s) 2026-10-18T20:51:32.662008903Z === RUN TestVolumeBackupStorageRejectsWrongBucketArtifact 2026-10-18T20:51:32.662015159Z --- PASS: TestVolumeBackupStorageRejectsWrongBucketArtifact (0.00s) 2026-10-18T20:51:32.662022405Z PASS 2026-10-18T20:51:32.662030152Z ok github.com/bnema/gordon/internal/adapters/out/s3 1.017s 2026-10-18T20:51:33.114370608Z === RUN TestStore_WriteModesAndRead 2026-10-18T20:51:33.114419604Z --- PASS: TestStore_WriteModesAndRead (0.00s) 2026-10-18T20:51:33.114428557Z === RUN TestStore_WriteNeverReplacesExistingContainer 2026-10-18T20:51:33.114435031Z --- PASS: TestStore_WriteNeverReplacesExistingContainer (0.00s) 2026-10-18T20:51:33.114440249Z === RUN TestStore_RemoveAndList 2026-10-18T20:51:33.114449284Z --- PASS: TestStore_RemoveAndList (0.00s) 2026-10-18T20:51:33.114465568Z === RUN TestStore_InvalidNamesRejected 2026-10-18T20:51:33.114476314Z === RUN TestStore_InvalidNamesRejected/app_traversal 2026-10-18T20:51:33.114492919Z === RUN TestStore_InvalidNamesRejected/app_slash 2026-10-18T20:51:33.114504534Z === RUN TestStore_InvalidNamesRejected/container_dot 2026-10-18T20:51:33.114517013Z === RUN TestStore_InvalidNamesRejected/container_dotdot 2026-10-18T20:51:33.114522904Z === RUN TestStore_InvalidNamesRejected/container_slash 2026-10-18T20:51:33.114528043Z === RUN TestStore_InvalidNamesRejected/container_empty 2026-10-18T20:51:33.114532746Z === RUN TestStore_InvalidNamesRejected/bad_key 2026-10-18T20:51:33.11453752Z === RUN TestStore_InvalidNamesRejected/key_traversal 2026-10-18T20:51:33.114542076Z --- PASS: TestStore_InvalidNamesRejected (0.00s) 2026-10-18T20:51:33.114554712Z --- PASS: TestStore_InvalidNamesRejected/app_traversal (0.00s) 2026-10-18T20:51:33.114567591Z --- PASS: TestStore_InvalidNamesRejected/app_slash (0.00s) 2026-10-18T20:51:33.114580255Z --- PASS: TestStore_InvalidNamesRejected/container_dot (0.00s) 2026-10-18T20:51:33.114592997Z --- PASS: TestStore_InvalidNamesRejected/container_dotdot (0.00s) 2026-10-18T20:51:33.114605657Z --- PASS: TestStore_InvalidNamesRejected/container_slash (0.00s) 2026-10-18T20:51:33.11461846Z --- PASS: TestStore_InvalidNamesRejected/container_empty (0.00s) 2026-10-18T20:51:33.114629953Z --- PASS: TestStore_InvalidNamesRejected/bad_key (0.00s) 2026-10-18T20:51:33.114642293Z --- PASS: TestStore_InvalidNamesRejected/key_traversal (0.00s) 2026-10-18T20:51:33.114646624Z === RUN TestStore_SymlinkEscapeRefused 2026-10-18T20:51:33.114651548Z --- PASS: TestStore_SymlinkEscapeRefused (0.00s) 2026-10-18T20:51:33.114656036Z === RUN TestNewStore_RefusesSymlinkBase 2026-10-18T20:51:33.114660679Z --- PASS: TestNewStore_RefusesSymlinkBase (0.00s) 2026-10-18T20:51:33.114665186Z PASS 2026-10-18T20:51:33.11467099Z ok github.com/bnema/gordon/internal/adapters/out/secretfiles 1.015s 2026-10-18T20:51:33.306753725Z === RUN TestValidatePath 2026-10-18T20:51:33.306797728Z === RUN TestValidatePath/simple_path 2026-10-18T20:51:33.306806649Z === RUN TestValidatePath/path_with_dots_in_name 2026-10-18T20:51:33.306812795Z === RUN TestValidatePath/path_with_hyphens 2026-10-18T20:51:33.306818307Z === RUN TestValidatePath/path_with_underscores 2026-10-18T20:51:33.306822902Z === RUN TestValidatePath/nested_path 2026-10-18T20:51:33.306828365Z === RUN TestValidatePath/path_traversal_with_double_dots 2026-10-18T20:51:33.306846796Z === RUN TestValidatePath/path_traversal_in_middle 2026-10-18T20:51:33.306861825Z === RUN TestValidatePath/path_traversal_at_end 2026-10-18T20:51:33.30687581Z === RUN TestValidatePath/encoded_path_traversal 2026-10-18T20:51:33.306890278Z === RUN TestValidatePath/absolute_path 2026-10-18T20:51:33.306903321Z === RUN TestValidatePath/absolute_path_with_valid_chars 2026-10-18T20:51:33.30691211Z === RUN TestValidatePath/semicolon_injection 2026-10-18T20:51:33.306921073Z === RUN TestValidatePath/pipe_injection 2026-10-18T20:51:33.306926437Z === RUN TestValidatePath/backtick_injection 2026-10-18T20:51:33.306931464Z === RUN TestValidatePath/dollar_injection 2026-10-18T20:51:33.306936188Z === RUN TestValidatePath/ampersand_injection 2026-10-18T20:51:33.30694089Z === RUN TestValidatePath/newline_injection 2026-10-18T20:51:33.306945918Z === RUN TestValidatePath/space_in_path 2026-10-18T20:51:33.306950871Z === RUN TestValidatePath/null_byte_injection 2026-10-18T20:51:33.306956031Z === RUN TestValidatePath/empty_path 2026-10-18T20:51:33.306963985Z === RUN TestValidatePath/single_dot 2026-10-18T20:51:33.306969031Z --- PASS: TestValidatePath (0.00s) 2026-10-18T20:51:33.306979387Z --- PASS: TestValidatePath/simple_path (0.00s) 2026-10-18T20:51:33.306996703Z --- PASS: TestValidatePath/path_with_dots_in_name (0.00s) 2026-10-18T20:51:33.307009015Z --- PASS: TestValidatePath/path_with_hyphens (0.00s) 2026-10-18T20:51:33.307020643Z --- PASS: TestValidatePath/path_with_underscores (0.00s) 2026-10-18T20:51:33.307034221Z --- PASS: TestValidatePath/nested_path (0.00s) 2026-10-18T20:51:33.307051359Z --- PASS: TestValidatePath/path_traversal_with_double_dots (0.00s) 2026-10-18T20:51:33.307072211Z --- PASS: TestValidatePath/path_traversal_in_middle (0.00s) 2026-10-18T20:51:33.307086654Z --- PASS: TestValidatePath/path_traversal_at_end (0.00s) 2026-10-18T20:51:33.307098606Z --- PASS: TestValidatePath/encoded_path_traversal (0.00s) 2026-10-18T20:51:33.307113122Z --- PASS: TestValidatePath/absolute_path (0.00s) 2026-10-18T20:51:33.307129833Z --- PASS: TestValidatePath/absolute_path_with_valid_chars (0.00s) 2026-10-18T20:51:33.30714836Z --- PASS: TestValidatePath/semicolon_injection (0.00s) 2026-10-18T20:51:33.307175428Z --- PASS: TestValidatePath/pipe_injection (0.00s) 2026-10-18T20:51:33.307206174Z --- PASS: TestValidatePath/backtick_injection (0.00s) 2026-10-18T20:51:33.307220877Z --- PASS: TestValidatePath/dollar_injection (0.00s) 2026-10-18T20:51:33.307240521Z --- PASS: TestValidatePath/ampersand_injection (0.00s) 2026-10-18T20:51:33.307252294Z --- PASS: TestValidatePath/newline_injection (0.00s) 2026-10-18T20:51:33.307266242Z --- PASS: TestValidatePath/space_in_path (0.00s) 2026-10-18T20:51:33.307282166Z --- PASS: TestValidatePath/null_byte_injection (0.00s) 2026-10-18T20:51:33.307293863Z --- PASS: TestValidatePath/empty_path (0.00s) 2026-10-18T20:51:33.30730704Z --- PASS: TestValidatePath/single_dot (0.00s) 2026-10-18T20:51:33.307316525Z === RUN TestPassProvider_GetSecret_PathValidation 2026-10-18T20:51:33.30733051Z === RUN TestPassProvider_GetSecret_PathValidation/valid_path_rejected_due_to_pass_not_installed 2026-10-18T20:51:33.307339062Z === RUN TestPassProvider_GetSecret_PathValidation/path_traversal_rejected_before_command_execution 2026-10-18T20:51:33.307352183Z 2026-10-18T20:51:32Z WRN rejected invalid pass path error="path traversal not allowed" adapter=secrets layer=adapter path=../../../etc/passwd provider=pass 2026-10-18T20:51:33.307367897Z === RUN TestPassProvider_GetSecret_PathValidation/command_injection_rejected_before_command_execution 2026-10-18T20:51:33.307384793Z 2026-10-18T20:51:32Z WRN rejected invalid pass path error="invalid path: must contain only alphanumeric characters, /, _, ., -" adapter=secrets layer=adapter path=secret;whoami provider=pass 2026-10-18T20:51:33.307397514Z --- PASS: TestPassProvider_GetSecret_PathValidation (0.00s) 2026-10-18T20:51:33.307421439Z --- PASS: TestPassProvider_GetSecret_PathValidation/valid_path_rejected_due_to_pass_not_installed (0.00s) 2026-10-18T20:51:33.307441424Z --- PASS: TestPassProvider_GetSecret_PathValidation/path_traversal_rejected_before_command_execution (0.00s) 2026-10-18T20:51:33.307467156Z --- PASS: TestPassProvider_GetSecret_PathValidation/command_injection_rejected_before_command_execution (0.00s) 2026-10-18T20:51:33.307476479Z === RUN TestPublicTLSResolverPrefersPass 2026-10-18T20:51:33.307482123Z --- PASS: TestPublicTLSResolverPrefersPass (0.00s) 2026-10-18T20:51:33.307487012Z === RUN TestPublicTLSResolverFallsBackToTokenFile 2026-10-18T20:51:33.307492001Z --- PASS: TestPublicTLSResolverFallsBackToTokenFile (0.00s) 2026-10-18T20:51:33.307496644Z === RUN TestPublicTLSResolverFallsBackToEnv 2026-10-18T20:51:33.307501524Z --- PASS: TestPublicTLSResolverFallsBackToEnv (0.00s) 2026-10-18T20:51:33.307506274Z === RUN TestPublicTLSResolverNoToken 2026-10-18T20:51:33.30751504Z --- PASS: TestPublicTLSResolverNoToken (0.00s) 2026-10-18T20:51:33.307520496Z === RUN TestPublicTLSResolverPassErrorWithoutFallback 2026-10-18T20:51:33.307530652Z --- PASS: TestPublicTLSResolverPassErrorWithoutFallback (0.00s) 2026-10-18T20:51:33.307543176Z === RUN TestPublicTLSResolverPassErrorWithEnvFallback 2026-10-18T20:51:33.307554185Z --- PASS: TestPublicTLSResolverPassErrorWithEnvFallback (0.00s) 2026-10-18T20:51:33.307560562Z === RUN TestPublicTLSResolverTokenFileErrorWithoutFallback 2026-10-18T20:51:33.307566354Z --- PASS: TestPublicTLSResolverTokenFileErrorWithoutFallback (0.00s) 2026-10-18T20:51:33.307575105Z === RUN TestPublicTLSResolverTokenFileErrorWithEnvFallback 2026-10-18T20:51:33.307586122Z --- PASS: TestPublicTLSResolverTokenFileErrorWithEnvFallback (0.00s) 2026-10-18T20:51:33.307594858Z === RUN TestPublicTLSResolverEmptyPassValueFallback 2026-10-18T20:51:33.307603757Z --- PASS: TestPublicTLSResolverEmptyPassValueFallback (0.00s) 2026-10-18T20:51:33.307612731Z === RUN TestConvertToSopsExtractPath 2026-10-18T20:51:33.30761836Z === RUN TestConvertToSopsExtractPath/empty_string 2026-10-18T20:51:33.307626257Z === RUN TestConvertToSopsExtractPath/single_key 2026-10-18T20:51:33.307631218Z === RUN TestConvertToSopsExtractPath/two_level_nested 2026-10-18T20:51:33.307636358Z === RUN TestConvertToSopsExtractPath/three_level_nested 2026-10-18T20:51:33.307641426Z === RUN TestConvertToSopsExtractPath/key_with_underscores 2026-10-18T20:51:33.307646302Z === RUN TestConvertToSopsExtractPath/key_with_hyphens 2026-10-18T20:51:33.307651742Z === RUN TestConvertToSopsExtractPath/array_index_only 2026-10-18T20:51:33.307656748Z === RUN TestConvertToSopsExtractPath/key_with_array_index 2026-10-18T20:51:33.307661835Z === RUN TestConvertToSopsExtractPath/nested_key_with_array_index 2026-10-18T20:51:33.307668052Z === RUN TestConvertToSopsExtractPath/nested_key_with_array_then_key 2026-10-18T20:51:33.307673397Z === RUN TestConvertToSopsExtractPath/multiple_array_indices 2026-10-18T20:51:33.307678654Z === RUN TestConvertToSopsExtractPath/deeply_nested_with_array 2026-10-18T20:51:33.307683226Z --- PASS: TestConvertToSopsExtractPath (0.00s) 2026-10-18T20:51:33.307695288Z --- PASS: TestConvertToSopsExtractPath/empty_string (0.00s) 2026-10-18T20:51:33.307706909Z --- PASS: TestConvertToSopsExtractPath/single_key (0.00s) 2026-10-18T20:51:33.30771937Z --- PASS: TestConvertToSopsExtractPath/two_level_nested (0.00s) 2026-10-18T20:51:33.307733737Z --- PASS: TestConvertToSopsExtractPath/three_level_nested (0.00s) 2026-10-18T20:51:33.307747338Z --- PASS: TestConvertToSopsExtractPath/key_with_underscores (0.00s) 2026-10-18T20:51:33.307759977Z --- PASS: TestConvertToSopsExtractPath/key_with_hyphens (0.00s) 2026-10-18T20:51:33.30777273Z --- PASS: TestConvertToSopsExtractPath/array_index_only (0.00s) 2026-10-18T20:51:33.307785657Z --- PASS: TestConvertToSopsExtractPath/key_with_array_index (0.00s) 2026-10-18T20:51:33.307799553Z --- PASS: TestConvertToSopsExtractPath/nested_key_with_array_index (0.00s) 2026-10-18T20:51:33.30781471Z --- PASS: TestConvertToSopsExtractPath/nested_key_with_array_then_key (0.00s) 2026-10-18T20:51:33.307828186Z --- PASS: TestConvertToSopsExtractPath/multiple_array_indices (0.00s) 2026-10-18T20:51:33.307841785Z --- PASS: TestConvertToSopsExtractPath/deeply_nested_with_array (0.00s) 2026-10-18T20:51:33.307845562Z PASS 2026-10-18T20:51:33.307851288Z ok github.com/bnema/gordon/internal/adapters/out/secrets 1.025s 2026-10-18T20:51:35.917232038Z === RUN TestRecordBackupRun_CountsResultAndTracksLastSuccess 2026-10-18T20:51:35.917281441Z --- PASS: TestRecordBackupRun_CountsResultAndTracksLastSuccess (0.00s) 2026-10-18T20:51:35.917290712Z === RUN TestObserveStoredBackup_KeepsTheNewestSuccess 2026-10-18T20:51:35.917299427Z --- PASS: TestObserveStoredBackup_KeepsTheNewestSuccess (0.00s) 2026-10-18T20:51:35.91731144Z === RUN TestRetainBackupTargets_ForgetsUndeclaredTargetsOfThatKindOnly 2026-10-18T20:51:35.917318743Z --- PASS: TestRetainBackupTargets_ForgetsUndeclaredTargetsOfThatKindOnly (0.00s) 2026-10-18T20:51:35.917328613Z === RUN TestRetainBackupTargets_KeepsSuccessRecordedAfterTheSnapshot 2026-10-18T20:51:35.917335655Z --- PASS: TestRetainBackupTargets_KeepsSuccessRecordedAfterTheSnapshot (0.00s) 2026-10-18T20:51:35.9173564Z === RUN TestObserveBackupNextRun 2026-10-18T20:51:35.917371603Z --- PASS: TestObserveBackupNextRun (0.00s) 2026-10-18T20:51:35.917381304Z === RUN TestLogExporter_ExportsPerSourceIdentity 2026-10-18T20:51:35.917387407Z --- PASS: TestLogExporter_ExportsPerSourceIdentity (0.01s) 2026-10-18T20:51:35.917399831Z === RUN TestLogExporter_DropsAfterShutdown 2026-10-18T20:51:35.917436554Z --- PASS: TestLogExporter_DropsAfterShutdown (0.00s) 2026-10-18T20:51:35.917457125Z === RUN TestObserveManagedContainers 2026-10-18T20:51:35.917471469Z --- PASS: TestObserveManagedContainers (0.00s) 2026-10-18T20:51:35.917490485Z PASS 2026-10-18T20:51:35.91754317Z ok github.com/bnema/gordon/internal/adapters/out/telemetry 1.046s 2026-10-18T20:51:36.157818376Z === RUN TestParsePassLsOutput 2026-10-18T20:51:36.157852776Z === RUN TestParsePassLsOutput/flat_entries_only 2026-10-18T20:51:36.157861987Z === RUN TestParsePassLsOutput/nested_entries_with_slash_in_subject 2026-10-18T20:51:36.157872649Z === RUN TestParsePassLsOutput/deeply_nested_entries 2026-10-18T20:51:36.157878865Z === RUN TestParsePassLsOutput/mixed_flat_and_nested 2026-10-18T20:51:36.157888338Z === RUN TestParsePassLsOutput/empty_output_(no_entries) 2026-10-18T20:51:36.157897714Z === RUN TestParsePassLsOutput/ascii_tree_decoration_variant 2026-10-18T20:51:36.157903691Z --- PASS: TestParsePassLsOutput (0.00s) 2026-10-18T20:51:36.157922481Z --- PASS: TestParsePassLsOutput/flat_entries_only (0.00s) 2026-10-18T20:51:36.157943227Z --- PASS: TestParsePassLsOutput/nested_entries_with_slash_in_subject (0.00s) 2026-10-18T20:51:36.157960069Z --- PASS: TestParsePassLsOutput/deeply_nested_entries (0.00s) 2026-10-18T20:51:36.157975851Z --- PASS: TestParsePassLsOutput/mixed_flat_and_nested (0.00s) 2026-10-18T20:51:36.157992515Z --- PASS: TestParsePassLsOutput/empty_output_(no_entries) (0.00s) 2026-10-18T20:51:36.158009957Z --- PASS: TestParsePassLsOutput/ascii_tree_decoration_variant (0.00s) 2026-10-18T20:51:36.158018913Z === RUN TestPassStore_GetToken_CacheHit 2026-10-18T20:51:36.158027934Z --- PASS: TestPassStore_GetToken_CacheHit (0.00s) 2026-10-18T20:51:36.1580371Z === RUN TestPassStore_GetToken_CacheMiss_ReturnsNotFound 2026-10-18T20:51:36.158048021Z --- PASS: TestPassStore_GetToken_CacheMiss_ReturnsNotFound (0.00s) 2026-10-18T20:51:36.158057196Z === RUN TestPassStore_IsRevoked_CacheHit_Revoked 2026-10-18T20:51:36.158066673Z --- PASS: TestPassStore_IsRevoked_CacheHit_Revoked (0.00s) 2026-10-18T20:51:36.158075882Z === RUN TestPassStore_IsRevoked_CacheHit_NotRevoked 2026-10-18T20:51:36.15808469Z --- PASS: TestPassStore_IsRevoked_CacheHit_NotRevoked (0.00s) 2026-10-18T20:51:36.158092944Z === RUN TestPassStore_CacheUpdate_OnSave 2026-10-18T20:51:36.158101332Z --- PASS: TestPassStore_CacheUpdate_OnSave (0.00s) 2026-10-18T20:51:36.158109905Z === RUN TestPassStore_CacheClear_OnDelete 2026-10-18T20:51:36.158120056Z --- PASS: TestPassStore_CacheClear_OnDelete (0.00s) 2026-10-18T20:51:36.158128777Z === RUN TestPassStore_GetToken_ConcurrentAccess 2026-10-18T20:51:36.158137868Z --- PASS: TestPassStore_GetToken_ConcurrentAccess (0.00s) 2026-10-18T20:51:36.158146654Z === RUN TestPassStore_IsRevoked_ConcurrentAccess 2026-10-18T20:51:36.158180454Z --- PASS: TestPassStore_IsRevoked_ConcurrentAccess (0.00s) 2026-10-18T20:51:36.158192734Z === RUN TestPassStore_RevokeUpdatesCache 2026-10-18T20:51:36.15820962Z --- PASS: TestPassStore_RevokeUpdatesCache (0.00s) 2026-10-18T20:51:36.158222765Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject 2026-10-18T20:51:36.158247146Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/path_traversal_with_../ 2026-10-18T20:51:36.158269864Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/path_traversal_with_..\ 2026-10-18T20:51:36.158284784Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_semicolon 2026-10-18T20:51:36.158304396Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_pipe 2026-10-18T20:51:36.158340544Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_ampersand 2026-10-18T20:51:36.158364231Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_backtick 2026-10-18T20:51:36.158404173Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_dollar_sign 2026-10-18T20:51:36.158421125Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/newline_character 2026-10-18T20:51:36.158431456Z === RUN TestPassStore_SaveToken_RejectsInvalidSubject/null_byte 2026-10-18T20:51:36.15843785Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject (0.00s) 2026-10-18T20:51:36.158458057Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/path_traversal_with_../ (0.00s) 2026-10-18T20:51:36.158477874Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/path_traversal_with_..\ (0.00s) 2026-10-18T20:51:36.158506388Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_semicolon (0.00s) 2026-10-18T20:51:36.158538291Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_pipe (0.00s) 2026-10-18T20:51:36.158567663Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_ampersand (0.00s) 2026-10-18T20:51:36.158591001Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_backtick (0.00s) 2026-10-18T20:51:36.158612775Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/shell_metacharacter_dollar_sign (0.00s) 2026-10-18T20:51:36.158631876Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/newline_character (0.00s) 2026-10-18T20:51:36.158649604Z --- PASS: TestPassStore_SaveToken_RejectsInvalidSubject/null_byte (0.00s) 2026-10-18T20:51:36.15866055Z === RUN TestPassStore_SaveToken_AcceptsValidSubject 2026-10-18T20:51:36.158670265Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/simple_username 2026-10-18T20:51:36.158680292Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/username_with_dots 2026-10-18T20:51:36.165631944Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/username_with_hyphens 2026-10-18T20:51:36.165672288Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/username_with_underscores 2026-10-18T20:51:36.16568998Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/email-like 2026-10-18T20:51:36.165703657Z === RUN TestPassStore_SaveToken_AcceptsValidSubject/path-like_but_safe 2026-10-18T20:51:36.165722014Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject (0.00s) 2026-10-18T20:51:36.165752456Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/simple_username (0.00s) 2026-10-18T20:51:36.165781768Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/username_with_dots (0.00s) 2026-10-18T20:51:36.165799577Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/username_with_hyphens (0.00s) 2026-10-18T20:51:36.165815961Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/username_with_underscores (0.00s) 2026-10-18T20:51:36.165830038Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/email-like (0.00s) 2026-10-18T20:51:36.165844744Z --- PASS: TestPassStore_SaveToken_AcceptsValidSubject/path-like_but_safe (0.00s) 2026-10-18T20:51:36.165850013Z === RUN TestPassStore_GetToken_RejectsInvalidSubject 2026-10-18T20:51:36.165855747Z === RUN TestPassStore_GetToken_RejectsInvalidSubject/../../../etc/passwd 2026-10-18T20:51:36.165861965Z === RUN TestPassStore_GetToken_RejectsInvalidSubject/user;rm_-rf_/ 2026-10-18T20:51:36.165867451Z === RUN TestPassStore_GetToken_RejectsInvalidSubject/user|cat 2026-10-18T20:51:36.165872815Z === RUN TestPassStore_GetToken_RejectsInvalidSubject/user_newline 2026-10-18T20:51:36.165878033Z --- PASS: TestPassStore_GetToken_RejectsInvalidSubject (0.00s) 2026-10-18T20:51:36.165893228Z --- PASS: TestPassStore_GetToken_RejectsInvalidSubject/../../../etc/passwd (0.00s) 2026-10-18T20:51:36.165907549Z --- PASS: TestPassStore_GetToken_RejectsInvalidSubject/user;rm_-rf_/ (0.00s) 2026-10-18T20:51:36.165921316Z --- PASS: TestPassStore_GetToken_RejectsInvalidSubject/user|cat (0.00s) 2026-10-18T20:51:36.165935738Z --- PASS: TestPassStore_GetToken_RejectsInvalidSubject/user_newline (0.00s) 2026-10-18T20:51:36.165942193Z === RUN TestPassStore_DeleteToken_RejectsInvalidSubject 2026-10-18T20:51:36.16594792Z === RUN TestPassStore_DeleteToken_RejectsInvalidSubject/../../../etc/passwd 2026-10-18T20:51:36.165953233Z === RUN TestPassStore_DeleteToken_RejectsInvalidSubject/user;rm_-rf_/ 2026-10-18T20:51:36.165958932Z === RUN TestPassStore_DeleteToken_RejectsInvalidSubject/user|cat 2026-10-18T20:51:36.165964247Z --- PASS: TestPassStore_DeleteToken_RejectsInvalidSubject (0.00s) 2026-10-18T20:51:36.165979873Z --- PASS: TestPassStore_DeleteToken_RejectsInvalidSubject/../../../etc/passwd (0.00s) 2026-10-18T20:51:36.165994754Z --- PASS: TestPassStore_DeleteToken_RejectsInvalidSubject/user;rm_-rf_/ (0.00s) 2026-10-18T20:51:36.166010472Z --- PASS: TestPassStore_DeleteToken_RejectsInvalidSubject/user|cat (0.00s) 2026-10-18T20:51:36.166015988Z === RUN TestUnsafeStoreRevokeConcurrentNoLoss 2026-10-18T20:51:36.166022247Z --- PASS: TestUnsafeStoreRevokeConcurrentNoLoss (0.00s) 2026-10-18T20:51:36.166026826Z PASS 2026-10-18T20:51:36.166033278Z ok github.com/bnema/gordon/internal/adapters/out/tokenstore 1.029s 2026-10-18T20:51:40.594031981Z === RUN TestLoadConfig_ACMEDefaults 2026-10-18T20:51:40.594071285Z --- PASS: TestLoadConfig_ACMEDefaults (0.00s) 2026-10-18T20:51:40.594079362Z === RUN TestBuildAppCapabilityPolicies_ValidConfig 2026-10-18T20:51:40.594085524Z --- PASS: TestBuildAppCapabilityPolicies_ValidConfig (0.00s) 2026-10-18T20:51:40.594090596Z === RUN TestBuildAppCapabilityPolicies_Invalid 2026-10-18T20:51:40.594096406Z === RUN TestBuildAppCapabilityPolicies_Invalid/empty_add 2026-10-18T20:51:40.594104779Z === RUN TestBuildAppCapabilityPolicies_Invalid/ALL 2026-10-18T20:51:40.594110737Z === RUN TestBuildAppCapabilityPolicies_Invalid/SYS_ADMIN 2026-10-18T20:51:40.594121583Z === RUN TestBuildAppCapabilityPolicies_Invalid/duplicate 2026-10-18T20:51:40.594133754Z === RUN TestBuildAppCapabilityPolicies_Invalid/empty_apps 2026-10-18T20:51:40.59414003Z === RUN TestBuildAppCapabilityPolicies_Invalid/empty_services 2026-10-18T20:51:40.594145422Z --- PASS: TestBuildAppCapabilityPolicies_Invalid (0.00s) 2026-10-18T20:51:40.594159226Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/empty_add (0.00s) 2026-10-18T20:51:40.594173231Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/ALL (0.00s) 2026-10-18T20:51:40.594191301Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/SYS_ADMIN (0.00s) 2026-10-18T20:51:40.59421113Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/duplicate (0.00s) 2026-10-18T20:51:40.594228981Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/empty_apps (0.00s) 2026-10-18T20:51:40.594249995Z --- PASS: TestBuildAppCapabilityPolicies_Invalid/empty_services (0.00s) 2026-10-18T20:51:40.594259111Z === RUN TestValidateAppCapabilityKeys_UnknownKey 2026-10-18T20:51:40.594269348Z --- PASS: TestValidateAppCapabilityKeys_UnknownKey (0.00s) 2026-10-18T20:51:40.594277189Z === RUN TestValidateAppPolicies_IncludesCapabilities 2026-10-18T20:51:40.5942873Z --- PASS: TestValidateAppPolicies_IncludesCapabilities (0.00s) 2026-10-18T20:51:40.594295568Z === RUN TestBuildAppCapabilityPolicies_CopiesSlicesAndDefaultsEmpty 2026-10-18T20:51:40.594301546Z --- PASS: TestBuildAppCapabilityPolicies_CopiesSlicesAndDefaultsEmpty (0.00s) 2026-10-18T20:51:40.594307238Z === RUN TestAppDeployHandler_RequestCancellationDoesNotAbortExecution 2026-10-18T20:51:40.594312891Z --- PASS: TestAppDeployHandler_RequestCancellationDoesNotAbortExecution (0.05s) 2026-10-18T20:51:40.594318019Z === RUN TestBuildAppDevicePolicies_ValidConfigUnmarshal 2026-10-18T20:51:40.594324278Z --- PASS: TestBuildAppDevicePolicies_ValidConfigUnmarshal (0.00s) 2026-10-18T20:51:40.594329288Z === RUN TestBuildAppDevicePolicies_Invalid 2026-10-18T20:51:40.594334377Z === RUN TestBuildAppDevicePolicies_Invalid/empty_cdi 2026-10-18T20:51:40.594339273Z === RUN TestBuildAppDevicePolicies_Invalid/raw_path 2026-10-18T20:51:40.594344112Z === RUN TestBuildAppDevicePolicies_Invalid/aggregate 2026-10-18T20:51:40.594349194Z === RUN TestBuildAppDevicePolicies_Invalid/empty_allowed_apps 2026-10-18T20:51:40.594354899Z === RUN TestBuildAppDevicePolicies_Invalid/empty_allowed_services 2026-10-18T20:51:40.594360098Z === RUN TestBuildAppDevicePolicies_Invalid/duplicate_cdi 2026-10-18T20:51:40.594372699Z --- PASS: TestBuildAppDevicePolicies_Invalid (0.00s) 2026-10-18T20:51:40.59440165Z --- PASS: TestBuildAppDevicePolicies_Invalid/empty_cdi (0.00s) 2026-10-18T20:51:40.594427441Z --- PASS: TestBuildAppDevicePolicies_Invalid/raw_path (0.00s) 2026-10-18T20:51:40.594445851Z --- PASS: TestBuildAppDevicePolicies_Invalid/aggregate (0.00s) 2026-10-18T20:51:40.594459953Z --- PASS: TestBuildAppDevicePolicies_Invalid/empty_allowed_apps (0.00s) 2026-10-18T20:51:40.594474351Z --- PASS: TestBuildAppDevicePolicies_Invalid/empty_allowed_services (0.00s) 2026-10-18T20:51:40.594487181Z --- PASS: TestBuildAppDevicePolicies_Invalid/duplicate_cdi (0.00s) 2026-10-18T20:51:40.594492018Z === RUN TestValidateAppDeviceKeys_UnknownKey 2026-10-18T20:51:40.594496903Z --- PASS: TestValidateAppDeviceKeys_UnknownKey (0.00s) 2026-10-18T20:51:40.594502134Z === RUN TestValidateAppDeviceKeys_Valid 2026-10-18T20:51:40.594509489Z --- PASS: TestValidateAppDeviceKeys_Valid (0.00s) 2026-10-18T20:51:40.594514565Z === RUN TestBuildAppDevicePolicies_CopiesSlices 2026-10-18T20:51:40.594519581Z --- PASS: TestBuildAppDevicePolicies_CopiesSlices (0.00s) 2026-10-18T20:51:40.59452445Z === RUN TestConfig_AppDevicesDefaultsEmpty 2026-10-18T20:51:40.594529195Z --- PASS: TestConfig_AppDevicesDefaultsEmpty (0.00s) 2026-10-18T20:51:40.594534573Z === RUN TestAppTrafficPublisher_WithdrawServiceIsFailClosedInStateAndIndex 2026-10-18T20:51:40.594542073Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594548823Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594554974Z --- PASS: TestAppTrafficPublisher_WithdrawServiceIsFailClosedInStateAndIndex (0.01s) 2026-10-18T20:51:40.594560424Z === RUN TestAppTrafficPublisher_WithdrawServiceSurfacesStateFailure 2026-10-18T20:51:40.594567012Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594582358Z --- PASS: TestAppTrafficPublisher_WithdrawServiceSurfacesStateFailure (0.00s) 2026-10-18T20:51:40.594601485Z === RUN TestAppTrafficPublisher_WithdrawUnknownServiceIsANoop 2026-10-18T20:51:40.594611998Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=0 2026-10-18T20:51:40.594623051Z --- PASS: TestAppTrafficPublisher_WithdrawUnknownServiceIsANoop (0.00s) 2026-10-18T20:51:40.594643245Z === RUN TestAppTrafficPublisher_RebuildTrafficReprojectsVerifiedState 2026-10-18T20:51:40.59465131Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594657271Z --- PASS: TestAppTrafficPublisher_RebuildTrafficReprojectsVerifiedState (0.00s) 2026-10-18T20:51:40.594662516Z === RUN TestAppTrafficPublisher_SerializesConcurrentPublication 2026-10-18T20:51:40.594668608Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594674623Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594681386Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594689982Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594696518Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594702795Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594708879Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594714993Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594721388Z --- PASS: TestAppTrafficPublisher_SerializesConcurrentPublication (0.00s) 2026-10-18T20:51:40.594726421Z === RUN TestAppTrafficPublisher_WithdrawalIsIdempotent 2026-10-18T20:51:40.594732656Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594737854Z --- PASS: TestAppTrafficPublisher_WithdrawalIsIdempotent (0.00s) 2026-10-18T20:51:40.594743Z === RUN TestAppMonitor_RunsOnePassPerTick 2026-10-18T20:51:40.59474855Z --- PASS: TestAppMonitor_RunsOnePassPerTick (0.01s) 2026-10-18T20:51:40.594758462Z === RUN TestAppMonitor_DoesNotOverlapPasses 2026-10-18T20:51:40.594768244Z --- PASS: TestAppMonitor_DoesNotOverlapPasses (0.00s) 2026-10-18T20:51:40.594778212Z === RUN TestAppMonitor_ReconciliationErrorDoesNotStopTheLoop 2026-10-18T20:51:40.594791557Z 2026-10-18T20:51:38Z WRN app reconciliation pass failed error="assert.AnError general error for testing" 2026-10-18T20:51:40.594805636Z 2026-10-18T20:51:38Z WRN app reconciliation pass failed error="assert.AnError general error for testing" 2026-10-18T20:51:40.594816407Z --- PASS: TestAppMonitor_ReconciliationErrorDoesNotStopTheLoop (0.00s) 2026-10-18T20:51:40.59482564Z === RUN TestAppMonitor_StartIsIdempotent 2026-10-18T20:51:40.594834934Z --- PASS: TestAppMonitor_StartIsIdempotent (0.00s) 2026-10-18T20:51:40.594844355Z === RUN TestAppMonitor_StopCancelsAndJoins 2026-10-18T20:51:40.59485386Z --- PASS: TestAppMonitor_StopCancelsAndJoins (0.03s) 2026-10-18T20:51:40.594865314Z === RUN TestAppMonitor_NilReconcilerNeverStarts 2026-10-18T20:51:40.594874692Z --- PASS: TestAppMonitor_NilReconcilerNeverStarts (0.00s) 2026-10-18T20:51:40.59488428Z === RUN TestAppTrafficPublisher_RebuildSkipsStoppedApps 2026-10-18T20:51:40.594894934Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.594905688Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=0 2026-10-18T20:51:40.594916934Z --- PASS: TestAppTrafficPublisher_RebuildSkipsStoppedApps (0.00s) 2026-10-18T20:51:40.594927021Z === RUN TestAppTrafficPublisher_AdmissionHonorsContextCancellation 2026-10-18T20:51:40.59493813Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=0 2026-10-18T20:51:40.594949337Z --- PASS: TestAppTrafficPublisher_AdmissionHonorsContextCancellation (0.00s) 2026-10-18T20:51:40.594958956Z === RUN TestBuildAppMountPolicies_ValidConfigUnmarshal 2026-10-18T20:51:40.59496923Z --- PASS: TestBuildAppMountPolicies_ValidConfigUnmarshal (0.00s) 2026-10-18T20:51:40.594978937Z === RUN TestBuildAppMountPolicies_Invalid 2026-10-18T20:51:40.594988614Z === RUN TestBuildAppMountPolicies_Invalid/empty_source 2026-10-18T20:51:40.594998207Z === RUN TestBuildAppMountPolicies_Invalid/relative_source 2026-10-18T20:51:40.595009273Z === RUN TestBuildAppMountPolicies_Invalid/empty_allowed_apps 2026-10-18T20:51:40.595019152Z === RUN TestBuildAppMountPolicies_Invalid/empty_allowed_services 2026-10-18T20:51:40.595028577Z === RUN TestBuildAppMountPolicies_Invalid/unclean_root 2026-10-18T20:51:40.595037685Z --- PASS: TestBuildAppMountPolicies_Invalid (0.00s) 2026-10-18T20:51:40.59505496Z --- PASS: TestBuildAppMountPolicies_Invalid/empty_source (0.00s) 2026-10-18T20:51:40.595072801Z --- PASS: TestBuildAppMountPolicies_Invalid/relative_source (0.00s) 2026-10-18T20:51:40.59509167Z --- PASS: TestBuildAppMountPolicies_Invalid/empty_allowed_apps (0.00s) 2026-10-18T20:51:40.595120342Z --- PASS: TestBuildAppMountPolicies_Invalid/empty_allowed_services (0.00s) 2026-10-18T20:51:40.59514397Z --- PASS: TestBuildAppMountPolicies_Invalid/unclean_root (0.00s) 2026-10-18T20:51:40.595154964Z === RUN TestRedactedBindPolicyReason_RedactsConfiguredValues 2026-10-18T20:51:40.595165126Z --- PASS: TestRedactedBindPolicyReason_RedactsConfiguredValues (0.00s) 2026-10-18T20:51:40.595174676Z === RUN TestBuildAppMountPolicies_DefaultRootIsSourceParent 2026-10-18T20:51:40.595184893Z --- PASS: TestBuildAppMountPolicies_DefaultRootIsSourceParent (0.00s) 2026-10-18T20:51:40.59519412Z === RUN TestConfig_AppMountsDefaultsEmpty 2026-10-18T20:51:40.595203543Z --- PASS: TestConfig_AppMountsDefaultsEmpty (0.00s) 2026-10-18T20:51:40.595213479Z === RUN TestAppTrafficPublisher_PublishesIndexOnlyAfterGraphApply 2026-10-18T20:51:40.595224558Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595236883Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595247413Z --- PASS: TestAppTrafficPublisher_PublishesIndexOnlyAfterGraphApply (0.00s) 2026-10-18T20:51:40.595257985Z === RUN TestAppTrafficPublisher_GraphFailureKeepsPreviousGeneration 2026-10-18T20:51:40.595286138Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.5952997Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.59531052Z --- PASS: TestAppTrafficPublisher_GraphFailureKeepsPreviousGeneration (0.00s) 2026-10-18T20:51:40.595321082Z === RUN TestAppTrafficPublisher_WithdrawalStaysFailClosedWhenGraphApplyFails 2026-10-18T20:51:40.595331911Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595342645Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595353463Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595364476Z --- PASS: TestAppTrafficPublisher_WithdrawalStaysFailClosedWhenGraphApplyFails (0.00s) 2026-10-18T20:51:40.59537461Z === RUN TestAppTrafficPublisher_ProjectionFailureAppliesNoGraph 2026-10-18T20:51:40.595385453Z 2026-10-18T20:51:38Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.595396303Z --- PASS: TestAppTrafficPublisher_ProjectionFailureAppliesNoGraph (0.00s) 2026-10-18T20:51:40.595406332Z === RUN TestObserveSchedulerNextRun_ReadsTheLiveEntry 2026-10-18T20:51:40.595416333Z --- PASS: TestObserveSchedulerNextRun_ReadsTheLiveEntry (0.00s) 2026-10-18T20:51:40.595425596Z === RUN TestObserveSchedulerNextRun_NilSafe 2026-10-18T20:51:40.595435342Z --- PASS: TestObserveSchedulerNextRun_NilSafe (0.00s) 2026-10-18T20:51:40.59544457Z === RUN TestBuildDNSConfigFromConfig 2026-10-18T20:51:40.595452072Z --- PASS: TestBuildDNSConfigFromConfig (0.00s) 2026-10-18T20:51:40.595461538Z === RUN TestBuildDNSConfigRejectsInvalidDuration 2026-10-18T20:51:40.595471765Z --- PASS: TestBuildDNSConfigRejectsInvalidDuration (0.00s) 2026-10-18T20:51:40.595478972Z === RUN TestDisableDumpable 2026-10-18T20:51:40.595488722Z --- PASS: TestDisableDumpable (0.00s) 2026-10-18T20:51:40.595503113Z === RUN TestGCBarrierExcludesExclusiveDuringShared 2026-10-18T20:51:40.595518038Z --- PASS: TestGCBarrierExcludesExclusiveDuringShared (0.05s) 2026-10-18T20:51:40.59552898Z === RUN TestGCBarrierExcludesSharedDuringExclusive 2026-10-18T20:51:40.595539013Z --- PASS: TestGCBarrierExcludesSharedDuringExclusive (0.05s) 2026-10-18T20:51:40.595546241Z === RUN TestGCBarrierCancellation 2026-10-18T20:51:40.595552632Z --- PASS: TestGCBarrierCancellation (0.00s) 2026-10-18T20:51:40.595557654Z === RUN TestGCBarrierDeterministicHandoff 2026-10-18T20:51:40.595562604Z --- PASS: TestGCBarrierDeterministicHandoff (0.10s) 2026-10-18T20:51:40.595567296Z === RUN TestGCBarrierConcurrentSharedHolders 2026-10-18T20:51:40.595572197Z --- PASS: TestGCBarrierConcurrentSharedHolders (0.00s) 2026-10-18T20:51:40.595576875Z === RUN TestGCBarrierLeaseReleaseIsIdempotent 2026-10-18T20:51:40.595582436Z --- PASS: TestGCBarrierLeaseReleaseIsIdempotent (0.00s) 2026-10-18T20:51:40.595587558Z === RUN TestInitConfigHTTPTimeoutDefaults 2026-10-18T20:51:40.595592207Z --- PASS: TestInitConfigHTTPTimeoutDefaults (0.01s) 2026-10-18T20:51:40.595596932Z === RUN TestInitConfigHTTPTimeoutFileOverride 2026-10-18T20:51:40.595601708Z --- PASS: TestInitConfigHTTPTimeoutFileOverride (0.00s) 2026-10-18T20:51:40.595610848Z === RUN TestInitConfigHTTPTimeoutEnvOverride 2026-10-18T20:51:40.595620112Z --- PASS: TestInitConfigHTTPTimeoutEnvOverride (0.00s) 2026-10-18T20:51:40.595629265Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts 2026-10-18T20:51:40.595639819Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/malformed_registry 2026-10-18T20:51:40.595650551Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/negative_registry 2026-10-18T20:51:40.59566067Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/zero_registry 2026-10-18T20:51:40.595671286Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/malformed_traffic 2026-10-18T20:51:40.595681632Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/negative_traffic 2026-10-18T20:51:40.595691682Z === RUN TestInitConfigRejectsInvalidHTTPTimeouts/zero_traffic 2026-10-18T20:51:40.595701214Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts (0.02s) 2026-10-18T20:51:40.595720373Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/malformed_registry (0.01s) 2026-10-18T20:51:40.595740751Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/negative_registry (0.01s) 2026-10-18T20:51:40.595759421Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/zero_registry (0.00s) 2026-10-18T20:51:40.595779087Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/malformed_traffic (0.00s) 2026-10-18T20:51:40.595798025Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/negative_traffic (0.00s) 2026-10-18T20:51:40.595816728Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeouts/zero_traffic (0.00s) 2026-10-18T20:51:40.59582651Z === RUN TestInitConfigRejectsInvalidHTTPTimeoutFromEnv 2026-10-18T20:51:40.595836865Z --- PASS: TestInitConfigRejectsInvalidHTTPTimeoutFromEnv (0.00s) 2026-10-18T20:51:40.595846387Z === RUN TestStartServerAppliesConfiguredTimeouts 2026-10-18T20:51:40.595857415Z 2026-10-18T20:51:38Z INF test server starting address=127.0.0.1:0 2026-10-18T20:51:40.595867279Z --- PASS: TestStartServerAppliesConfiguredTimeouts (0.00s) 2026-10-18T20:51:40.595876488Z === RUN TestStartServerFallsBackToDefaultTimeouts 2026-10-18T20:51:40.595887427Z 2026-10-18T20:51:38Z INF test server starting address=127.0.0.1:0 2026-10-18T20:51:40.595897528Z --- PASS: TestStartServerFallsBackToDefaultTimeouts (0.00s) 2026-10-18T20:51:40.595907144Z === RUN TestStartRegistryServersRejectsInvalidTimeouts 2026-10-18T20:51:40.595917189Z --- PASS: TestStartRegistryServersRejectsInvalidTimeouts (0.00s) 2026-10-18T20:51:40.595923998Z === RUN TestNewKernel 2026-10-18T20:51:40.59592838Z === PAUSE TestNewKernel 2026-10-18T20:51:40.595933658Z === RUN TestKernelClose_QuiescenceTimeoutSkipsCleanup 2026-10-18T20:51:40.595938625Z === PAUSE TestKernelClose_QuiescenceTimeoutSkipsCleanup 2026-10-18T20:51:40.595943421Z === RUN TestKernelClose_CleansUpAfterQuiescence 2026-10-18T20:51:40.595948087Z === PAUSE TestKernelClose_CleansUpAfterQuiescence 2026-10-18T20:51:40.595953157Z === RUN TestKernelClose_WithoutAppAdministrationStillCleansUp 2026-10-18T20:51:40.595958235Z === PAUSE TestKernelClose_WithoutAppAdministrationStillCleansUp 2026-10-18T20:51:40.595962958Z === RUN TestLocalAdminSocketServesAppSurfaceOverUnix 2026-10-18T20:51:40.595972219Z 2026-10-18T20:51:38Z INF local admin socket listening path=/tmp/TestLocalAdminSocketServesAppSurfaceOverUnix3284894406/001/gordon/admin.sock 2026-10-18T20:51:40.595979066Z 2026-10-18T20:51:38Z INF local admin socket stopped 2026-10-18T20:51:40.595990001Z --- PASS: TestLocalAdminSocketServesAppSurfaceOverUnix (0.00s) 2026-10-18T20:51:40.595999786Z === RUN TestLocalAdminSocketTCPAdminStaysDisabled 2026-10-18T20:51:40.596011382Z 2026-10-18T20:51:38Z WRN auth disabled: admin API endpoints are not registered 2026-10-18T20:51:40.596024644Z 2026-10-18T20:51:38Z INF local admin socket listening path=/tmp/TestLocalAdminSocketTCPAdminStaysDisabled2989414334/001/gordon/admin.sock 2026-10-18T20:51:40.596036647Z 2026-10-18T20:51:38Z INF local admin socket stopped 2026-10-18T20:51:40.596046472Z --- PASS: TestLocalAdminSocketTCPAdminStaysDisabled (0.00s) 2026-10-18T20:51:40.596056051Z === RUN TestLocalAdminSocketCloseLeavesReplacementFile 2026-10-18T20:51:40.59606967Z 2026-10-18T20:51:38Z INF local admin socket listening path=/tmp/TestLocalAdminSocketCloseLeavesReplacementFile2915838252/001/gordon/admin.sock 2026-10-18T20:51:40.596091644Z 2026-10-18T20:51:38Z WRN failed to remove local admin socket error="unsafe local admin path: local admin socket /tmp/TestLocalAdminSocketCloseLeavesReplacementFile2915838252/001/gordon/admin.sock was replaced; not removing it" path=/tmp/TestLocalAdminSocketCloseLeavesReplacementFile2915838252/001/gordon/admin.sock 2026-10-18T20:51:40.59610499Z --- PASS: TestLocalAdminSocketCloseLeavesReplacementFile (0.00s) 2026-10-18T20:51:40.596115056Z === RUN TestStartLocalAdminServerSkipsWithoutAdminHandler 2026-10-18T20:51:40.596126318Z --- PASS: TestStartLocalAdminServerSkipsWithoutAdminHandler (0.00s) 2026-10-18T20:51:40.596141421Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive 2026-10-18T20:51:40.596155849Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/lowercase_yaml 2026-10-18T20:51:40.59616777Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_yaml 2026-10-18T20:51:40.596178157Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/mixed_case_yml 2026-10-18T20:51:40.596188611Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_json 2026-10-18T20:51:40.596201682Z === RUN TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_toml 2026-10-18T20:51:40.596212238Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive (0.00s) 2026-10-18T20:51:40.596233356Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/lowercase_yaml (0.00s) 2026-10-18T20:51:40.596254738Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_yaml (0.00s) 2026-10-18T20:51:40.596275988Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/mixed_case_yml (0.00s) 2026-10-18T20:51:40.596297Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_json (0.00s) 2026-10-18T20:51:40.596317891Z --- PASS: TestConfigureViper_ExplicitPathExtensionIsCaseInsensitive/uppercase_toml (0.00s) 2026-10-18T20:51:40.596327966Z === RUN TestConfigureViper_UnknownExtensionFallsBackToTOML 2026-10-18T20:51:40.596339575Z --- PASS: TestConfigureViper_UnknownExtensionFallsBackToTOML (0.00s) 2026-10-18T20:51:40.596349712Z === RUN TestStartImagePruneSchedulerRegistersWhenAppsExist 2026-10-18T20:51:40.596362032Z 2026-10-18T20:51:38Z INF image prune scheduler enabled keep_last=3 schedule=daily 2026-10-18T20:51:40.596372741Z --- PASS: TestStartImagePruneSchedulerRegistersWhenAppsExist (0.00s) 2026-10-18T20:51:40.596380581Z === RUN TestStartImagePruneSchedulerDisabledWhenNotConfigured 2026-10-18T20:51:40.596390592Z --- PASS: TestStartImagePruneSchedulerDisabledWhenNotConfigured (0.00s) 2026-10-18T20:51:40.59640131Z === RUN TestStartImagePruneSchedulerRejectsNegativeKeepLast 2026-10-18T20:51:40.596411196Z --- PASS: TestStartImagePruneSchedulerRejectsNegativeKeepLast (0.00s) 2026-10-18T20:51:40.596422Z === RUN TestPublicTLSReadinessAllowsDNS01WithoutEdgePort 2026-10-18T20:51:40.59643219Z --- PASS: TestPublicTLSReadinessAllowsDNS01WithoutEdgePort (0.00s) 2026-10-18T20:51:40.59644264Z === RUN TestPublicTLSReadinessRejectsAutoResolvedHTTP01WithoutBoundExternalPort80 2026-10-18T20:51:40.596453891Z --- PASS: TestPublicTLSReadinessRejectsAutoResolvedHTTP01WithoutBoundExternalPort80 (0.00s) 2026-10-18T20:51:40.596464691Z === RUN TestEffectivePublicTLSPortPrefersTLSCapableEntrypointOverLegacyTLSPort 2026-10-18T20:51:40.59647517Z --- PASS: TestEffectivePublicTLSPortPrefersTLSCapableEntrypointOverLegacyTLSPort (0.00s) 2026-10-18T20:51:40.596485669Z === RUN TestEffectivePublicTLSPortPrefersDefaultEdgeWithMultipleTLSCapableEntrypoints 2026-10-18T20:51:40.596497381Z --- PASS: TestEffectivePublicTLSPortPrefersDefaultEdgeWithMultipleTLSCapableEntrypoints (0.00s) 2026-10-18T20:51:40.596508041Z === RUN TestEffectivePublicTLSPortUsesSoleNonEdgeTLSCapableEntrypoint 2026-10-18T20:51:40.596518437Z --- PASS: TestEffectivePublicTLSPortUsesSoleNonEdgeTLSCapableEntrypoint (0.00s) 2026-10-18T20:51:40.596528659Z === RUN TestEffectiveProxyPortsIgnoreLegacyServerPortsWithoutEntrypoints 2026-10-18T20:51:40.596538946Z --- PASS: TestEffectiveProxyPortsIgnoreLegacyServerPortsWithoutEntrypoints (0.00s) 2026-10-18T20:51:40.596549382Z === RUN TestEffectivePublicTLSPortReturnsZeroWhenAmbiguousWithoutEdge 2026-10-18T20:51:40.596559723Z --- PASS: TestEffectivePublicTLSPortReturnsZeroWhenAmbiguousWithoutEdge (0.00s) 2026-10-18T20:51:40.596570238Z === RUN TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80 2026-10-18T20:51:40.596582789Z === RUN TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_http_entrypoint_when_smart_tcp_suppresses_standalone_http 2026-10-18T20:51:40.596595222Z === RUN TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/allows_smart_tcp_entrypoint_on_port_80 2026-10-18T20:51:40.596607731Z === RUN TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_legacy_standalone_http_port_80_without_explicit_entrypoint 2026-10-18T20:51:40.596620316Z === RUN TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_legacy_port_80_when_smart_tcp_suppresses_standalone_http 2026-10-18T20:51:40.596631145Z --- PASS: TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80 (0.00s) 2026-10-18T20:51:40.596660158Z --- PASS: TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_http_entrypoint_when_smart_tcp_suppresses_standalone_http (0.00s) 2026-10-18T20:51:40.596686121Z --- PASS: TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/allows_smart_tcp_entrypoint_on_port_80 (0.00s) 2026-10-18T20:51:40.596716003Z --- PASS: TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_legacy_standalone_http_port_80_without_explicit_entrypoint (0.00s) 2026-10-18T20:51:40.596745014Z --- PASS: TestPublicTLSReadinessRequiresHTTP01ActuallyBoundExternalPort80/rejects_legacy_port_80_when_smart_tcp_suppresses_standalone_http (0.00s) 2026-10-18T20:51:40.596755861Z === RUN TestPKIInitializesForSmartTCPEvenWithoutLegacyTLSPort 2026-10-18T20:51:40.596767965Z 2026-10-18T20:51:38Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.596782653Z 2026-10-18T20:51:38Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:38Z 2026-10-18T20:51:40.596793792Z --- PASS: TestPKIInitializesForSmartTCPEvenWithoutLegacyTLSPort (0.00s) 2026-10-18T20:51:40.596803843Z === RUN TestCertificateSelector_StaticCertWins 2026-10-18T20:51:40.596814769Z --- PASS: TestCertificateSelector_StaticCertWins (0.03s) 2026-10-18T20:51:40.596824917Z === RUN TestCertificateSelector_PublicTLSErrorFallsThroughWithoutLocalPKI 2026-10-18T20:51:40.596835467Z --- PASS: TestCertificateSelector_PublicTLSErrorFallsThroughWithoutLocalPKI (0.00s) 2026-10-18T20:51:40.596845985Z === RUN TestCertificateSelector_PublicTLSErrorFallsThroughToLocalPKI 2026-10-18T20:51:40.596857721Z 2026-10-18T20:51:38Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.596870867Z 2026-10-18T20:51:38Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:38Z 2026-10-18T20:51:40.596881594Z --- PASS: TestCertificateSelector_PublicTLSErrorFallsThroughToLocalPKI (0.00s) 2026-10-18T20:51:40.596892297Z === RUN TestCertificateSelector_PublicTLSNilNil 2026-10-18T20:51:40.596902117Z --- PASS: TestCertificateSelector_PublicTLSNilNil (0.00s) 2026-10-18T20:51:40.596911283Z === RUN TestCertificateSelector_NoSource 2026-10-18T20:51:40.59692058Z --- PASS: TestCertificateSelector_NoSource (0.00s) 2026-10-18T20:51:40.59693048Z === RUN TestMatchingStaticCert 2026-10-18T20:51:40.596939717Z --- PASS: TestMatchingStaticCert (0.31s) 2026-10-18T20:51:40.596951001Z === RUN TestNewAppDaemonService_DaemonCancellationReachesInFlightDeploy 2026-10-18T20:51:40.596961439Z --- PASS: TestNewAppDaemonService_DaemonCancellationReachesInFlightDeploy (0.05s) 2026-10-18T20:51:40.596972046Z === RUN TestGracefulShutdown_FailsClosedWhenAppAdministrationDoesNotQuiesce 2026-10-18T20:51:40.596982234Z 2026-10-18T20:51:39Z INF shutting down Gordon... 2026-10-18T20:51:40.596995488Z 2026-10-18T20:51:39Z ERR app administration did not quiesce before the shutdown deadline error="in-flight execution did not unwind" 2026-10-18T20:51:40.597007009Z --- PASS: TestGracefulShutdown_FailsClosedWhenAppAdministrationDoesNotQuiesce (0.00s) 2026-10-18T20:51:40.597018394Z === RUN TestGracefulShutdown_QuiescesAppAdministrationBeforeClosingState 2026-10-18T20:51:40.597029027Z 2026-10-18T20:51:39Z INF shutting down Gordon... 2026-10-18T20:51:40.597039202Z 2026-10-18T20:51:39Z INF Gordon stopped 2026-10-18T20:51:40.597049539Z --- PASS: TestGracefulShutdown_QuiescesAppAdministrationBeforeClosingState (0.00s) 2026-10-18T20:51:40.597059458Z === RUN TestBuildAuthConfig_UsesConfigEnabledFlag 2026-10-18T20:51:40.597069271Z --- PASS: TestBuildAuthConfig_UsesConfigEnabledFlag (0.00s) 2026-10-18T20:51:40.597078948Z === RUN TestResolveSecretsBackend_RejectsMissingBackend 2026-10-18T20:51:40.597089043Z --- PASS: TestResolveSecretsBackend_RejectsMissingBackend (0.00s) 2026-10-18T20:51:40.597099045Z === RUN TestResolveSecretsBackend_RejectsUnknownBackend 2026-10-18T20:51:40.597108981Z --- PASS: TestResolveSecretsBackend_RejectsUnknownBackend (0.00s) 2026-10-18T20:51:40.59711884Z === RUN TestResolveAuthType_RejectsPassword 2026-10-18T20:51:40.597128523Z --- PASS: TestResolveAuthType_RejectsPassword (0.00s) 2026-10-18T20:51:40.597137835Z === RUN TestResolveAuthType_AcceptsToken 2026-10-18T20:51:40.597147335Z --- PASS: TestResolveAuthType_AcceptsToken (0.00s) 2026-10-18T20:51:40.597156504Z === RUN TestResolveAuthType_AcceptsEmpty 2026-10-18T20:51:40.597165751Z --- PASS: TestResolveAuthType_AcceptsEmpty (0.00s) 2026-10-18T20:51:40.597175832Z === RUN TestLoadConfig_DoesNotDefaultSecretsBackendToUnsafe 2026-10-18T20:51:40.597185902Z --- PASS: TestLoadConfig_DoesNotDefaultSecretsBackendToUnsafe (0.00s) 2026-10-18T20:51:40.597195942Z === RUN TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths 2026-10-18T20:51:40.597205972Z === RUN TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths/../outside 2026-10-18T20:51:40.597219249Z === RUN TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths//tmp/TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths2551992016/001/outside 2026-10-18T20:51:40.597232165Z --- PASS: TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths (0.00s) 2026-10-18T20:51:40.597251885Z --- PASS: TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths/../outside (0.00s) 2026-10-18T20:51:40.59728571Z --- PASS: TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths//tmp/TestLoadSecretUnsafeRejectsTraversalAndAbsolutePaths2551992016/001/outside (0.00s) 2026-10-18T20:51:40.597297855Z === RUN TestLoadSecretUnsafeAllowsRelativePathUnderSecretsDir 2026-10-18T20:51:40.597308423Z --- PASS: TestLoadSecretUnsafeAllowsRelativePathUnderSecretsDir (0.00s) 2026-10-18T20:51:40.597318076Z === RUN TestLoadSecretUnsafeRejectsMissingCandidate 2026-10-18T20:51:40.59732819Z --- PASS: TestLoadSecretUnsafeRejectsMissingCandidate (0.00s) 2026-10-18T20:51:40.597338104Z === RUN TestLoadSecretUnsafeRejectsIntermediateSymlinkEscape 2026-10-18T20:51:40.597348453Z --- PASS: TestLoadSecretUnsafeRejectsIntermediateSymlinkEscape (0.00s) 2026-10-18T20:51:40.597358474Z === RUN TestLoadSecretUnsafeRejectsNonRegularFile 2026-10-18T20:51:40.597368083Z --- PASS: TestLoadSecretUnsafeRejectsNonRegularFile (0.00s) 2026-10-18T20:51:40.597378557Z === RUN TestLoadSecretUnsafeRejectsSymlinkEscape 2026-10-18T20:51:40.597388378Z --- PASS: TestLoadSecretUnsafeRejectsSymlinkEscape (0.00s) 2026-10-18T20:51:40.597397939Z === RUN TestValidateBackupRetentionRejectsNegativeValues 2026-10-18T20:51:40.59740762Z === RUN TestValidateBackupRetentionRejectsNegativeValues/hourly 2026-10-18T20:51:40.597417654Z === RUN TestValidateBackupRetentionRejectsNegativeValues/daily 2026-10-18T20:51:40.597427406Z === RUN TestValidateBackupRetentionRejectsNegativeValues/weekly 2026-10-18T20:51:40.597437168Z === RUN TestValidateBackupRetentionRejectsNegativeValues/monthly 2026-10-18T20:51:40.597447052Z --- PASS: TestValidateBackupRetentionRejectsNegativeValues (0.00s) 2026-10-18T20:51:40.597466058Z --- PASS: TestValidateBackupRetentionRejectsNegativeValues/hourly (0.00s) 2026-10-18T20:51:40.597484741Z --- PASS: TestValidateBackupRetentionRejectsNegativeValues/daily (0.00s) 2026-10-18T20:51:40.597577995Z --- PASS: TestValidateBackupRetentionRejectsNegativeValues/weekly (0.00s) 2026-10-18T20:51:40.597603639Z --- PASS: TestValidateBackupRetentionRejectsNegativeValues/monthly (0.00s) 2026-10-18T20:51:40.597615731Z === RUN TestValidateBackupRetentionAcceptsZeroAndPositiveValues 2026-10-18T20:51:40.597627898Z === RUN TestValidateBackupRetentionAcceptsZeroAndPositiveValues/positive_values 2026-10-18T20:51:40.597639945Z === RUN TestValidateBackupRetentionAcceptsZeroAndPositiveValues/zero_values 2026-10-18T20:51:40.597651462Z --- PASS: TestValidateBackupRetentionAcceptsZeroAndPositiveValues (0.00s) 2026-10-18T20:51:40.597673688Z --- PASS: TestValidateBackupRetentionAcceptsZeroAndPositiveValues/positive_values (0.00s) 2026-10-18T20:51:40.597695753Z --- PASS: TestValidateBackupRetentionAcceptsZeroAndPositiveValues/zero_values (0.00s) 2026-10-18T20:51:40.597712295Z === RUN TestValidateBackupRetentionAcceptsLegacyBackupsConfig 2026-10-18T20:51:40.59773352Z --- PASS: TestValidateBackupRetentionAcceptsLegacyBackupsConfig (0.00s) 2026-10-18T20:51:40.59775933Z === RUN TestDatabaseBackupSettingsPreferEnabledLegacySchedule 2026-10-18T20:51:40.597781932Z --- PASS: TestDatabaseBackupSettingsPreferEnabledLegacySchedule (0.00s) 2026-10-18T20:51:40.597799806Z === RUN TestValidateVolumeBackupConfig 2026-10-18T20:51:40.597818518Z === RUN TestValidateVolumeBackupConfig/disabled_accepts_defaults 2026-10-18T20:51:40.597865377Z === RUN TestValidateVolumeBackupConfig/enabled_requires_bucket_and_region 2026-10-18T20:51:40.597881936Z === RUN TestValidateVolumeBackupConfig/enabled_accepts_s3_config 2026-10-18T20:51:40.597898695Z === RUN TestValidateVolumeBackupConfig/schedule_defaults_to_daily_at_the_preset_time 2026-10-18T20:51:40.597916311Z === RUN TestValidateVolumeBackupConfig/schedule_rejects_invalid_time 2026-10-18T20:51:40.597932089Z === RUN TestValidateVolumeBackupConfig/schedule_rejects_unknown_preset 2026-10-18T20:51:40.597950454Z === RUN TestValidateVolumeBackupConfig/storage_class_is_normalized_and_passed_through 2026-10-18T20:51:40.597967038Z === RUN TestValidateVolumeBackupConfig/empty_storage_class_keeps_the_bucket_default 2026-10-18T20:51:40.597983736Z === RUN TestValidateVolumeBackupConfig/storage_class_rejects_unsafe_values 2026-10-18T20:51:40.598001557Z === RUN TestValidateVolumeBackupConfig/zstd_requires_helper_image_with_zstd 2026-10-18T20:51:40.598018919Z === RUN TestValidateVolumeBackupConfig/enabled_rejects_zero_retention 2026-10-18T20:51:40.598036188Z --- PASS: TestValidateVolumeBackupConfig (0.00s) 2026-10-18T20:51:40.598062752Z --- PASS: TestValidateVolumeBackupConfig/disabled_accepts_defaults (0.00s) 2026-10-18T20:51:40.598113458Z --- PASS: TestValidateVolumeBackupConfig/enabled_requires_bucket_and_region (0.00s) 2026-10-18T20:51:40.598134083Z --- PASS: TestValidateVolumeBackupConfig/enabled_accepts_s3_config (0.00s) 2026-10-18T20:51:40.598156069Z --- PASS: TestValidateVolumeBackupConfig/schedule_defaults_to_daily_at_the_preset_time (0.00s) 2026-10-18T20:51:40.598175785Z --- PASS: TestValidateVolumeBackupConfig/schedule_rejects_invalid_time (0.00s) 2026-10-18T20:51:40.598195875Z --- PASS: TestValidateVolumeBackupConfig/schedule_rejects_unknown_preset (0.00s) 2026-10-18T20:51:40.598222592Z --- PASS: TestValidateVolumeBackupConfig/storage_class_is_normalized_and_passed_through (0.00s) 2026-10-18T20:51:40.598249263Z --- PASS: TestValidateVolumeBackupConfig/empty_storage_class_keeps_the_bucket_default (0.00s) 2026-10-18T20:51:40.598267725Z --- PASS: TestValidateVolumeBackupConfig/storage_class_rejects_unsafe_values (0.00s) 2026-10-18T20:51:40.598287726Z --- PASS: TestValidateVolumeBackupConfig/zstd_requires_helper_image_with_zstd (0.00s) 2026-10-18T20:51:40.598311256Z --- PASS: TestValidateVolumeBackupConfig/enabled_rejects_zero_retention (0.00s) 2026-10-18T20:51:40.598320477Z === RUN TestLoadConfigSetsBackupDefaults 2026-10-18T20:51:40.598332124Z --- PASS: TestLoadConfigSetsBackupDefaults (0.00s) 2026-10-18T20:51:40.598341051Z === RUN TestResolveBackupSchedule 2026-10-18T20:51:40.598351488Z === RUN TestResolveBackupSchedule/valid_values 2026-10-18T20:51:40.598360018Z === RUN TestResolveBackupSchedule/valid_values/hourly 2026-10-18T20:51:40.59837566Z === RUN TestResolveBackupSchedule/valid_values/daily 2026-10-18T20:51:40.598389009Z === RUN TestResolveBackupSchedule/valid_values/weekly 2026-10-18T20:51:40.59840336Z === RUN TestResolveBackupSchedule/valid_values/monthly 2026-10-18T20:51:40.598418076Z === RUN TestResolveBackupSchedule/valid_values/_DAILY_ 2026-10-18T20:51:40.598434783Z === RUN TestResolveBackupSchedule/invalid_value 2026-10-18T20:51:40.598457277Z === RUN TestResolveBackupSchedule/time_is_read_in_server_local_time 2026-10-18T20:51:40.598470436Z === RUN TestResolveBackupSchedule/invalid_time_names_the_database_key 2026-10-18T20:51:40.598479242Z --- PASS: TestResolveBackupSchedule (0.00s) 2026-10-18T20:51:40.598494501Z --- PASS: TestResolveBackupSchedule/valid_values (0.00s) 2026-10-18T20:51:40.598520756Z --- PASS: TestResolveBackupSchedule/valid_values/hourly (0.00s) 2026-10-18T20:51:40.598548351Z --- PASS: TestResolveBackupSchedule/valid_values/daily (0.00s) 2026-10-18T20:51:40.598577076Z --- PASS: TestResolveBackupSchedule/valid_values/weekly (0.00s) 2026-10-18T20:51:40.598619154Z --- PASS: TestResolveBackupSchedule/valid_values/monthly (0.00s) 2026-10-18T20:51:40.598652032Z --- PASS: TestResolveBackupSchedule/valid_values/_DAILY_ (0.00s) 2026-10-18T20:51:40.598670398Z --- PASS: TestResolveBackupSchedule/invalid_value (0.00s) 2026-10-18T20:51:40.598692813Z --- PASS: TestResolveBackupSchedule/time_is_read_in_server_local_time (0.00s) 2026-10-18T20:51:40.598713949Z --- PASS: TestResolveBackupSchedule/invalid_time_names_the_database_key (0.00s) 2026-10-18T20:51:40.598725673Z === RUN TestInitConfigRejectsLegacyPortsWithoutEntrypoints 2026-10-18T20:51:40.59873602Z --- PASS: TestInitConfigRejectsLegacyPortsWithoutEntrypoints (0.01s) 2026-10-18T20:51:40.598746488Z === RUN TestInitConfigAcceptsLegacyPortsWithEntrypoint 2026-10-18T20:51:40.598755833Z --- PASS: TestInitConfigAcceptsLegacyPortsWithEntrypoint (0.00s) 2026-10-18T20:51:40.598767189Z === RUN TestInitConfigRejectsRetiredAppKeys 2026-10-18T20:51:40.598777376Z --- PASS: TestInitConfigRejectsRetiredAppKeys (0.00s) 2026-10-18T20:51:40.59878615Z === RUN TestInitConfigRejectsRetiredVolumeBackupInterval 2026-10-18T20:51:40.598797973Z --- PASS: TestInitConfigRejectsRetiredVolumeBackupInterval (0.00s) 2026-10-18T20:51:40.598809911Z === RUN TestInitConfigRejectsRetiredEnvSection 2026-10-18T20:51:40.598821227Z --- PASS: TestInitConfigRejectsRetiredEnvSection (0.00s) 2026-10-18T20:51:40.598839734Z === RUN TestInitConfigAcceptsShippedExampleConfig 2026-10-18T20:51:40.598850194Z --- PASS: TestInitConfigAcceptsShippedExampleConfig (0.00s) 2026-10-18T20:51:40.598858873Z === RUN TestCreateAuthService_Disabled_ReturnsNilServices 2026-10-18T20:51:40.598874834Z === PAUSE TestCreateAuthService_Disabled_ReturnsNilServices 2026-10-18T20:51:40.598886993Z === RUN TestCreateHTTPHandlers_LocalMode_DisablesAdminRoutes 2026-10-18T20:51:40.598897647Z === PAUSE TestCreateHTTPHandlers_LocalMode_DisablesAdminRoutes 2026-10-18T20:51:40.598917796Z === RUN TestCreateHTTPHandlers_LocalMode_RestrictsRegistryToLoopback 2026-10-18T20:51:40.59892872Z === PAUSE TestCreateHTTPHandlers_LocalMode_RestrictsRegistryToLoopback 2026-10-18T20:51:40.598937663Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths 2026-10-18T20:51:40.598956264Z === PAUSE TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths 2026-10-18T20:51:40.598967435Z === RUN TestCreateHTTPHandlers_TrustedProxyHTTP_DoesNotServeOnboarding 2026-10-18T20:51:40.598976901Z === PAUSE TestCreateHTTPHandlers_TrustedProxyHTTP_DoesNotServeOnboarding 2026-10-18T20:51:40.598988797Z === RUN TestCreateHTTPHandlers_TrustedProxyWellKnownCACertPath_DoesNotServeOnboardingResource 2026-10-18T20:51:40.599001843Z === PAUSE TestCreateHTTPHandlers_TrustedProxyWellKnownCACertPath_DoesNotServeOnboardingResource 2026-10-18T20:51:40.599012699Z === RUN TestCreateHTTPHandlers_ForceHTTPSRedirect_DoesNotBypassDirectOnboarding 2026-10-18T20:51:40.59902411Z === PAUSE TestCreateHTTPHandlers_ForceHTTPSRedirect_DoesNotBypassDirectOnboarding 2026-10-18T20:51:40.599038148Z === RUN TestCreateHTTPHandlers_RedirectUsesSelectedEntrypointPorts 2026-10-18T20:51:40.599052821Z === PAUSE TestCreateHTTPHandlers_RedirectUsesSelectedEntrypointPorts 2026-10-18T20:51:40.599068479Z === RUN TestCreateHTTPHandlers_OnboardingUsesSelectedEntrypointPorts 2026-10-18T20:51:40.599080521Z === PAUSE TestCreateHTTPHandlers_OnboardingUsesSelectedEntrypointPorts 2026-10-18T20:51:40.599092619Z === RUN TestCreateHTTPHandlers_HTTPSOnboarding_RemainsAvailableOnGordonDomain 2026-10-18T20:51:40.599106593Z === PAUSE TestCreateHTTPHandlers_HTTPSOnboarding_RemainsAvailableOnGordonDomain 2026-10-18T20:51:40.599120748Z === RUN TestCreateHTTPHandlers_HTTPSOnboarding_DoesNotPreemptAppHostCAPath 2026-10-18T20:51:40.599134181Z === PAUSE TestCreateHTTPHandlers_HTTPSOnboarding_DoesNotPreemptAppHostCAPath 2026-10-18T20:51:40.599144255Z === RUN TestCreateHTTPHandlers_HTTPSOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.599153702Z === PAUSE TestCreateHTTPHandlers_HTTPSOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.599163271Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.59917305Z === PAUSE TestCreateHTTPHandlers_DirectHTTPOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.599184043Z === RUN TestCreateHTTPHandlers_DirectHTTPForbiddenHEAD_ReturnsForbidden 2026-10-18T20:51:40.599195825Z === PAUSE TestCreateHTTPHandlers_DirectHTTPForbiddenHEAD_ReturnsForbidden 2026-10-18T20:51:40.599205411Z === RUN TestCreateHTTPHandlers_DirectHTTPACMEChallenge_Returns404 2026-10-18T20:51:40.59921416Z === PAUSE TestCreateHTTPHandlers_DirectHTTPACMEChallenge_Returns404 2026-10-18T20:51:40.599231605Z === RUN TestCreateHTTPHandlers_TLSDisabled_DoesNotServeHTTPOnboarding 2026-10-18T20:51:40.599247865Z === PAUSE TestCreateHTTPHandlers_TLSDisabled_DoesNotServeHTTPOnboarding 2026-10-18T20:51:40.599263751Z === RUN TestStartPublicTLSRuntime_ReconcilesAndStartsRenewalLoop 2026-10-18T20:51:40.599277629Z === PAUSE TestStartPublicTLSRuntime_ReconcilesAndStartsRenewalLoop 2026-10-18T20:51:40.599293578Z === RUN TestStartPublicTLSRuntime_NilSvc 2026-10-18T20:51:40.599328024Z === PAUSE TestStartPublicTLSRuntime_NilSvc 2026-10-18T20:51:40.59933893Z === RUN TestStartPublicTLSRuntime_StartsRenewalLoopWhenReconcileFails 2026-10-18T20:51:40.599353048Z === PAUSE TestStartPublicTLSRuntime_StartsRenewalLoopWhenReconcileFails 2026-10-18T20:51:40.599362944Z === RUN TestCreateHTTPHandlers_TLSConfiguredWithoutCA_FailsStartup 2026-10-18T20:51:40.59937203Z === PAUSE TestCreateHTTPHandlers_TLSConfiguredWithoutCA_FailsStartup 2026-10-18T20:51:40.599381159Z === RUN TestBuildRegistryCIDRAllowlistMiddleware_InvalidEntries_DenyAll 2026-10-18T20:51:40.599391646Z === PAUSE TestBuildRegistryCIDRAllowlistMiddleware_InvalidEntries_DenyAll 2026-10-18T20:51:40.599400764Z === RUN TestAccessLog_AdminRemoteRequest_ReachesAuth 2026-10-18T20:51:40.599417456Z === PAUSE TestAccessLog_AdminRemoteRequest_ReachesAuth 2026-10-18T20:51:40.599431082Z === RUN TestAccessLog_RegistryRejectedByLoopbackOnly_IsLogged 2026-10-18T20:51:40.599442069Z === PAUSE TestAccessLog_RegistryRejectedByLoopbackOnly_IsLogged 2026-10-18T20:51:40.599450991Z === RUN TestAccessLog_DenyAllProxy_IsLogged 2026-10-18T20:51:40.599459693Z === PAUSE TestAccessLog_DenyAllProxy_IsLogged 2026-10-18T20:51:40.59947513Z === RUN TestLoadConfigSetsImagePruneDefaults 2026-10-18T20:51:40.599486896Z --- PASS: TestLoadConfigSetsImagePruneDefaults (0.00s) 2026-10-18T20:51:40.599502051Z === RUN TestResolveImagePruneSchedule 2026-10-18T20:51:40.59951266Z === RUN TestResolveImagePruneSchedule/valid_values 2026-10-18T20:51:40.599521481Z === RUN TestResolveImagePruneSchedule/valid_values/hourly 2026-10-18T20:51:40.599530119Z === RUN TestResolveImagePruneSchedule/valid_values/daily 2026-10-18T20:51:40.599540403Z === RUN TestResolveImagePruneSchedule/valid_values/weekly 2026-10-18T20:51:40.599560152Z === RUN TestResolveImagePruneSchedule/valid_values/monthly 2026-10-18T20:51:40.599578844Z === RUN TestResolveImagePruneSchedule/valid_values/_DAILY_ 2026-10-18T20:51:40.599590082Z === RUN TestResolveImagePruneSchedule/invalid_value 2026-10-18T20:51:40.599600562Z --- PASS: TestResolveImagePruneSchedule (0.00s) 2026-10-18T20:51:40.599616665Z --- PASS: TestResolveImagePruneSchedule/valid_values (0.00s) 2026-10-18T20:51:40.599648382Z --- PASS: TestResolveImagePruneSchedule/valid_values/hourly (0.00s) 2026-10-18T20:51:40.599681168Z --- PASS: TestResolveImagePruneSchedule/valid_values/daily (0.00s) 2026-10-18T20:51:40.599710122Z --- PASS: TestResolveImagePruneSchedule/valid_values/weekly (0.00s) 2026-10-18T20:51:40.599750493Z --- PASS: TestResolveImagePruneSchedule/valid_values/monthly (0.00s) 2026-10-18T20:51:40.599777889Z --- PASS: TestResolveImagePruneSchedule/valid_values/_DAILY_ (0.00s) 2026-10-18T20:51:40.599811494Z --- PASS: TestResolveImagePruneSchedule/invalid_value (0.00s) 2026-10-18T20:51:40.599822531Z === RUN TestGetInternalCredentialsFindsRuntimeFile 2026-10-18T20:51:40.599832061Z --- PASS: TestGetInternalCredentialsFindsRuntimeFile (0.00s) 2026-10-18T20:51:40.599840687Z === RUN TestGetInternalCredentialsFallsBackToStale 2026-10-18T20:51:40.599849386Z --- PASS: TestGetInternalCredentialsFallsBackToStale (0.00s) 2026-10-18T20:51:40.599874794Z === RUN TestGetInternalCredentialsNoCandidatesReturnsError 2026-10-18T20:51:40.599886848Z --- PASS: TestGetInternalCredentialsNoCandidatesReturnsError (0.00s) 2026-10-18T20:51:40.599896948Z === RUN TestFindRunningPidFileInLocations_PrefersLiveProcessOverStale 2026-10-18T20:51:40.599906983Z --- PASS: TestFindRunningPidFileInLocations_PrefersLiveProcessOverStale (0.00s) 2026-10-18T20:51:40.599916016Z === RUN TestFindRunningPidFileInLocations_RemovesInvalidAndReturnsError 2026-10-18T20:51:40.599946316Z --- PASS: TestFindRunningPidFileInLocations_RemovesInvalidAndReturnsError (0.00s) 2026-10-18T20:51:40.599961309Z === RUN TestFindRunningPidFileInLocations_NoFiles 2026-10-18T20:51:40.599981362Z --- PASS: TestFindRunningPidFileInLocations_NoFiles (0.00s) 2026-10-18T20:51:40.599990704Z === RUN TestNeedsInternalRegistryListener 2026-10-18T20:51:40.600025137Z === RUN TestNeedsInternalRegistryListener/specific_IPv4 2026-10-18T20:51:40.600039208Z === RUN TestNeedsInternalRegistryListener/specific_IPv6 2026-10-18T20:51:40.600048918Z === RUN TestNeedsInternalRegistryListener/IPv4_wildcard_covers_loopback 2026-10-18T20:51:40.600057749Z === RUN TestNeedsInternalRegistryListener/IPv6_wildcard 2026-10-18T20:51:40.600066181Z === RUN TestNeedsInternalRegistryListener/IPv4_loopback 2026-10-18T20:51:40.600088325Z === RUN TestNeedsInternalRegistryListener/IPv6_loopback 2026-10-18T20:51:40.600101326Z === RUN TestNeedsInternalRegistryListener/empty_wildcard 2026-10-18T20:51:40.600110404Z --- PASS: TestNeedsInternalRegistryListener (0.00s) 2026-10-18T20:51:40.600126723Z --- PASS: TestNeedsInternalRegistryListener/specific_IPv4 (0.00s) 2026-10-18T20:51:40.600154893Z --- PASS: TestNeedsInternalRegistryListener/specific_IPv6 (0.00s) 2026-10-18T20:51:40.600181839Z --- PASS: TestNeedsInternalRegistryListener/IPv4_wildcard_covers_loopback (0.00s) 2026-10-18T20:51:40.600199717Z --- PASS: TestNeedsInternalRegistryListener/IPv6_wildcard (0.00s) 2026-10-18T20:51:40.600229364Z --- PASS: TestNeedsInternalRegistryListener/IPv4_loopback (0.00s) 2026-10-18T20:51:40.600254793Z --- PASS: TestNeedsInternalRegistryListener/IPv6_loopback (0.00s) 2026-10-18T20:51:40.600276216Z --- PASS: TestNeedsInternalRegistryListener/empty_wildcard (0.00s) 2026-10-18T20:51:40.600290558Z === RUN TestSetupConfigHotReload_WatchCallbackInvokesCoordinator 2026-10-18T20:51:40.600307433Z --- PASS: TestSetupConfigHotReload_WatchCallbackInvokesCoordinator (0.00s) 2026-10-18T20:51:40.600320141Z === RUN TestBuildProxyConfig_ParsesMaxBlobSizeWithoutChangingChunkDefault 2026-10-18T20:51:40.600331154Z --- PASS: TestBuildProxyConfig_ParsesMaxBlobSizeWithoutChangingChunkDefault (0.00s) 2026-10-18T20:51:40.600341132Z === RUN TestBuildProxyConfig_DefaultMaxBlobSize 2026-10-18T20:51:40.600351906Z --- PASS: TestBuildProxyConfig_DefaultMaxBlobSize (0.00s) 2026-10-18T20:51:40.600374808Z === RUN TestReloadCoordinator_ApplyLoadedConfig_RebuildsProxyConfigAndPublishesEvent 2026-10-18T20:51:40.600393071Z --- PASS: TestReloadCoordinator_ApplyLoadedConfig_RebuildsProxyConfigAndPublishesEvent (0.00s) 2026-10-18T20:51:40.600408711Z === RUN TestReloadRuntime_RegistersCustomTLSMuxHTTPSFallback 2026-10-18T20:51:40.60042012Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.600435711Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.600450494Z --- PASS: TestReloadRuntime_RegistersCustomTLSMuxHTTPSFallback (0.01s) 2026-10-18T20:51:40.600465232Z === RUN TestReloadRuntime_UpdatesManagementHosts 2026-10-18T20:51:40.600478692Z --- PASS: TestReloadRuntime_UpdatesManagementHosts (0.00s) 2026-10-18T20:51:40.600491698Z === RUN TestReloadRuntime_AppliesContainerConfig 2026-10-18T20:51:40.600502563Z --- PASS: TestReloadRuntime_AppliesContainerConfig (0.00s) 2026-10-18T20:51:40.600512461Z === RUN TestReloadRuntime_AppliesTraffic 2026-10-18T20:51:40.600528827Z --- PASS: TestReloadRuntime_AppliesTraffic (0.00s) 2026-10-18T20:51:40.600539041Z === RUN TestReloadRuntime_InvalidPolicyAppliesNothing 2026-10-18T20:51:40.600549787Z --- PASS: TestReloadRuntime_InvalidPolicyAppliesNothing (0.00s) 2026-10-18T20:51:40.600560093Z === RUN TestReloadRuntime_TLSLoadFailureAppliesNothing 2026-10-18T20:51:40.600572246Z --- PASS: TestReloadRuntime_TLSLoadFailureAppliesNothing (0.00s) 2026-10-18T20:51:40.600581985Z === RUN TestWaitForCoreProxyReady_WaitsWithoutPublishingEmptyTraffic 2026-10-18T20:51:40.600591155Z --- PASS: TestWaitForCoreProxyReady_WaitsWithoutPublishingEmptyTraffic (0.00s) 2026-10-18T20:51:40.600602937Z === RUN TestWaitForCoreProxyReady_ObservesContextCancellation 2026-10-18T20:51:40.600619414Z --- PASS: TestWaitForCoreProxyReady_ObservesContextCancellation (0.00s) 2026-10-18T20:51:40.600640399Z === RUN TestReloadCoordinator_StopCancelsOwnedTrailingReloadLifecycle 2026-10-18T20:51:40.600665275Z --- PASS: TestReloadCoordinator_StopCancelsOwnedTrailingReloadLifecycle (0.00s) 2026-10-18T20:51:40.600680161Z === RUN TestReloadCoordinator_DebouncesRepeatedWatchCallbacks 2026-10-18T20:51:40.600697662Z --- PASS: TestReloadCoordinator_DebouncesRepeatedWatchCallbacks (0.08s) 2026-10-18T20:51:40.600713513Z === RUN TestSetupConfigHotReload_CoalescesRepeatedWatcherCallbacks 2026-10-18T20:51:40.600733296Z --- PASS: TestSetupConfigHotReload_CoalescesRepeatedWatcherCallbacks (0.08s) 2026-10-18T20:51:40.600748642Z === RUN TestReloadCoordinator_TrailingReloadAppliesFinalState 2026-10-18T20:51:40.600757602Z --- PASS: TestReloadCoordinator_TrailingReloadAppliesFinalState (0.03s) 2026-10-18T20:51:40.600769132Z === RUN TestReloadCoordinator_InvalidReloadKeepsActiveConfigThenAcceptsValidChange 2026-10-18T20:51:40.60078126Z 2026-10-18T20:51:39Z ERR invalid server.max_proxy_body_size configuration error="invalid size \"INVALID\": missing unit (supported: B, KB, MB, GB, TB)" value=invalid 2026-10-18T20:51:40.600807413Z 2026-10-18T20:51:39Z ERR failed to parse proxy config on reload error="invalid server.max_proxy_body_size configuration: invalid size \"INVALID\": missing unit (supported: B, KB, MB, GB, TB)" 2026-10-18T20:51:40.600824125Z --- PASS: TestReloadCoordinator_InvalidReloadKeepsActiveConfigThenAcceptsValidChange (0.01s) 2026-10-18T20:51:40.600834411Z === RUN TestReloadCoordinator_RetriesImmediatelyAfterFailedReload 2026-10-18T20:51:40.600842415Z 2026-10-18T20:51:39Z ERR failed to reload config error="reload failed" 2026-10-18T20:51:40.600853197Z --- PASS: TestReloadCoordinator_RetriesImmediatelyAfterFailedReload (0.00s) 2026-10-18T20:51:40.600865173Z === RUN TestReloadCoordinator_PublishErrorDoesNotAdvanceDebounceState 2026-10-18T20:51:40.600876732Z 2026-10-18T20:51:39Z ERR failed to publish config reload event error="publish failed" 2026-10-18T20:51:40.600885239Z 2026-10-18T20:51:39Z ERR failed to publish config reload event error="publish failed" 2026-10-18T20:51:40.600903704Z --- PASS: TestReloadCoordinator_PublishErrorDoesNotAdvanceDebounceState (0.00s) 2026-10-18T20:51:40.600915357Z === RUN TestReloadCoordinator_SerializesOverlappingReloadRequests 2026-10-18T20:51:40.600921615Z --- PASS: TestReloadCoordinator_SerializesOverlappingReloadRequests (0.13s) 2026-10-18T20:51:40.600930341Z === RUN TestResolveRuntimeConfig_ExplicitPathPassedThrough 2026-10-18T20:51:40.600936358Z --- PASS: TestResolveRuntimeConfig_ExplicitPathPassedThrough (0.00s) 2026-10-18T20:51:40.600955165Z === RUN TestResolveRuntimeConfig_AutoReturnsEmpty 2026-10-18T20:51:40.600970423Z --- PASS: TestResolveRuntimeConfig_AutoReturnsEmpty (0.00s) 2026-10-18T20:51:40.6009798Z === RUN TestResolveRuntimeConfig_EmptyReturnsEmpty 2026-10-18T20:51:40.600992313Z --- PASS: TestResolveRuntimeConfig_EmptyReturnsEmpty (0.00s) 2026-10-18T20:51:40.601001298Z === RUN TestResolveRuntimeConfig_StripsUnixScheme 2026-10-18T20:51:40.60101Z --- PASS: TestResolveRuntimeConfig_StripsUnixScheme (0.00s) 2026-10-18T20:51:40.601032925Z === RUN TestInitConfigAcceptsStandaloneServices 2026-10-18T20:51:40.601042937Z --- PASS: TestInitConfigAcceptsStandaloneServices (0.00s) 2026-10-18T20:51:40.601048239Z === RUN TestResolveRuntimeConfig 2026-10-18T20:51:40.601058743Z === RUN TestResolveRuntimeConfig/empty_string_returns_empty 2026-10-18T20:51:40.601075416Z === RUN TestResolveRuntimeConfig/auto_returns_empty 2026-10-18T20:51:40.601089015Z === RUN TestResolveRuntimeConfig/podman_with_XDG_RUNTIME_DIR_and_socket_present 2026-10-18T20:51:40.601099926Z === RUN TestResolveRuntimeConfig/podman_with_XDG_RUNTIME_DIR_but_socket_absent_falls_back_to_system_socket 2026-10-18T20:51:40.601119214Z === RUN TestResolveRuntimeConfig/podman_without_XDG_RUNTIME_DIR_falls_back_to_system_socket 2026-10-18T20:51:40.601130196Z === RUN TestResolveRuntimeConfig/docker_returns_well-known_path 2026-10-18T20:51:40.601139094Z === RUN TestResolveRuntimeConfig/unix://_prefix_is_stripped 2026-10-18T20:51:40.60114916Z === RUN TestResolveRuntimeConfig/bare_path_returned_as-is 2026-10-18T20:51:40.601166229Z --- PASS: TestResolveRuntimeConfig (0.00s) 2026-10-18T20:51:40.601185215Z --- PASS: TestResolveRuntimeConfig/empty_string_returns_empty (0.00s) 2026-10-18T20:51:40.601201111Z --- PASS: TestResolveRuntimeConfig/auto_returns_empty (0.00s) 2026-10-18T20:51:40.601223783Z --- PASS: TestResolveRuntimeConfig/podman_with_XDG_RUNTIME_DIR_and_socket_present (0.00s) 2026-10-18T20:51:40.60124893Z --- PASS: TestResolveRuntimeConfig/podman_with_XDG_RUNTIME_DIR_but_socket_absent_falls_back_to_system_socket (0.00s) 2026-10-18T20:51:40.601272962Z --- PASS: TestResolveRuntimeConfig/podman_without_XDG_RUNTIME_DIR_falls_back_to_system_socket (0.00s) 2026-10-18T20:51:40.601292667Z --- PASS: TestResolveRuntimeConfig/docker_returns_well-known_path (0.00s) 2026-10-18T20:51:40.601311545Z --- PASS: TestResolveRuntimeConfig/unix://_prefix_is_stripped (0.00s) 2026-10-18T20:51:40.601329248Z --- PASS: TestResolveRuntimeConfig/bare_path_returned_as-is (0.00s) 2026-10-18T20:51:40.601342068Z === RUN TestProtectedRuntimePaths_AllSources 2026-10-18T20:51:40.60135695Z --- PASS: TestProtectedRuntimePaths_AllSources (0.00s) 2026-10-18T20:51:40.601365664Z === RUN TestProtectedRuntimePaths_SkipsEmptyAndTCP 2026-10-18T20:51:40.601374221Z --- PASS: TestProtectedRuntimePaths_SkipsEmptyAndTCP (0.00s) 2026-10-18T20:51:40.601382693Z === RUN TestProtectedRuntimePaths_SymlinkAddsBothForms 2026-10-18T20:51:40.601394927Z --- PASS: TestProtectedRuntimePaths_SymlinkAddsBothForms (0.00s) 2026-10-18T20:51:40.601403879Z === RUN TestConfiguredGordonPaths 2026-10-18T20:51:40.601412596Z --- PASS: TestConfiguredGordonPaths (0.00s) 2026-10-18T20:51:40.60142052Z === RUN TestGordonLogLocations 2026-10-18T20:51:40.601437833Z --- PASS: TestGordonLogLocations (0.00s) 2026-10-18T20:51:40.601458551Z === RUN TestReadableLogDirs 2026-10-18T20:51:40.601471056Z --- PASS: TestReadableLogDirs (0.00s) 2026-10-18T20:51:40.601484367Z === RUN TestBuildAppRuntimeSafety_DroppedLogStaysProtected 2026-10-18T20:51:40.601500026Z --- PASS: TestBuildAppRuntimeSafety_DroppedLogStaysProtected (0.00s) 2026-10-18T20:51:40.601519375Z === RUN TestBuildAppRuntimeSafety 2026-10-18T20:51:40.601528101Z --- PASS: TestBuildAppRuntimeSafety (0.00s) 2026-10-18T20:51:40.601548774Z === RUN TestBackupServicePortsReturnUntypedNilWhenDisabled 2026-10-18T20:51:40.601561399Z --- PASS: TestBackupServicePortsReturnUntypedNilWhenDisabled (0.00s) 2026-10-18T20:51:40.601575163Z === RUN TestAdminBackupRoutesWhenBackupsDisabled 2026-10-18T20:51:40.601584955Z === RUN TestAdminBackupRoutesWhenBackupsDisabled//admin/backups/status 2026-10-18T20:51:40.60160603Z === RUN TestAdminBackupRoutesWhenBackupsDisabled//admin/backups/volumes/status 2026-10-18T20:51:40.601617939Z --- PASS: TestAdminBackupRoutesWhenBackupsDisabled (0.00s) 2026-10-18T20:51:40.601638712Z --- PASS: TestAdminBackupRoutesWhenBackupsDisabled//admin/backups/status (0.00s) 2026-10-18T20:51:40.601672591Z --- PASS: TestAdminBackupRoutesWhenBackupsDisabled//admin/backups/volumes/status (0.00s) 2026-10-18T20:51:40.601695002Z === RUN TestCAInfoProvider_DisabledReturnsUntypedNil 2026-10-18T20:51:40.601710952Z --- PASS: TestCAInfoProvider_DisabledReturnsUntypedNil (0.00s) 2026-10-18T20:51:40.601731518Z === RUN TestCAInfoProvider_EnabledReturnsCA 2026-10-18T20:51:40.601755442Z --- PASS: TestCAInfoProvider_EnabledReturnsCA (0.00s) 2026-10-18T20:51:40.601767316Z === RUN TestWaitForServerReady_NilReadyReturnsImmediately 2026-10-18T20:51:40.601777667Z --- PASS: TestWaitForServerReady_NilReadyReturnsImmediately (0.00s) 2026-10-18T20:51:40.601788797Z === RUN TestWaitForServerReady_NonNilReadyPreservesErrorBehavior 2026-10-18T20:51:40.601798364Z --- PASS: TestWaitForServerReady_NonNilReadyPreservesErrorBehavior (0.00s) 2026-10-18T20:51:40.601819689Z === RUN TestWaitForServerReady_ReturnsOnContextCancellation 2026-10-18T20:51:40.601833562Z --- PASS: TestWaitForServerReady_ReturnsOnContextCancellation (0.00s) 2026-10-18T20:51:40.601845572Z === RUN TestCleanupStartupResources_ClosesAdminSocketsServersAndTrafficManager 2026-10-18T20:51:40.601859581Z 2026-10-18T20:51:39Z INF local admin socket listening path=/tmp/TestCleanupStartupResources_ClosesAdminSocketsServersAndTrafficM3389300069/001/gordon/admin.sock 2026-10-18T20:51:40.601882324Z 2026-10-18T20:51:39Z INF local admin socket stopped 2026-10-18T20:51:40.601894873Z --- PASS: TestCleanupStartupResources_ClosesAdminSocketsServersAndTrafficManager (0.00s) 2026-10-18T20:51:40.601904569Z === RUN TestStartProxyServers_DoesNotStartLegacyHTTPListenerFromServerPort 2026-10-18T20:51:40.601917168Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60195147Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.601970961Z --- PASS: TestStartProxyServers_DoesNotStartLegacyHTTPListenerFromServerPort (0.00s) 2026-10-18T20:51:40.601996606Z === RUN TestStartProxyServers_DoesNotTreatLegacyTLSPortAsTLSCapable 2026-10-18T20:51:40.602012236Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602040599Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602064337Z --- PASS: TestStartProxyServers_DoesNotTreatLegacyTLSPortAsTLSCapable (0.00s) 2026-10-18T20:51:40.602079279Z === RUN TestStartProxyServers_ConfiguresSmartTCPHTTPAndHTTPSRoutesWithoutPublicHTTPListener 2026-10-18T20:51:40.602090546Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602102651Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602125422Z --- PASS: TestStartProxyServers_ConfiguresSmartTCPHTTPAndHTTPSRoutesWithoutPublicHTTPListener (0.01s) 2026-10-18T20:51:40.602139016Z === RUN TestStartProxyServers_ConfiguresTrafficManagerHTTPSRoute 2026-10-18T20:51:40.602150054Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60216229Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602183215Z --- PASS: TestStartProxyServers_ConfiguresTrafficManagerHTTPSRoute (0.01s) 2026-10-18T20:51:40.60219829Z === RUN TestStartProxyServers_ConfiguresCustomTLSMuxHTTPSRoute 2026-10-18T20:51:40.602211709Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602224296Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602244884Z --- PASS: TestStartProxyServers_ConfiguresCustomTLSMuxHTTPSRoute (0.01s) 2026-10-18T20:51:40.60225872Z === RUN TestStartProxyServers_TLSSetupFailureStopsHTTPServer 2026-10-18T20:51:40.602270184Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602286694Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602305904Z --- PASS: TestStartProxyServers_TLSSetupFailureStopsHTTPServer (0.00s) 2026-10-18T20:51:40.602316997Z === RUN TestStartProxyServers_TLSRequiresTrafficManager 2026-10-18T20:51:40.602329758Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602341971Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602362673Z --- PASS: TestStartProxyServers_TLSRequiresTrafficManager (0.00s) 2026-10-18T20:51:40.602375291Z === RUN TestTrafficRuntimeGraphKeepsSmartTCPHTTPAndTLSPassthroughRouters 2026-10-18T20:51:40.602387981Z --- PASS: TestTrafficRuntimeGraphKeepsSmartTCPHTTPAndTLSPassthroughRouters (0.00s) 2026-10-18T20:51:40.602404128Z === RUN TestTrafficRuntimeGraphHTTPEntrypointIsInvalidRatherThanSilentlyFiltered 2026-10-18T20:51:40.602427894Z --- PASS: TestTrafficRuntimeGraphHTTPEntrypointIsInvalidRatherThanSilentlyFiltered (0.00s) 2026-10-18T20:51:40.602442513Z === RUN TestTrafficRuntimeGraphKeepsDefaultTLSEntrypoint 2026-10-18T20:51:40.602466696Z --- PASS: TestTrafficRuntimeGraphKeepsDefaultTLSEntrypoint (0.00s) 2026-10-18T20:51:40.602477503Z === RUN TestTrafficRuntimeGraphAllowsTLSPassthroughOnDefaultTLS 2026-10-18T20:51:40.602494605Z --- PASS: TestTrafficRuntimeGraphAllowsTLSPassthroughOnDefaultTLS (0.00s) 2026-10-18T20:51:40.602507823Z === RUN TestApplyTrafficRuntimeConfigAppliesSmartTCPEntrypointWithRawFallbackPolicy 2026-10-18T20:51:40.602527617Z --- PASS: TestApplyTrafficRuntimeConfigAppliesSmartTCPEntrypointWithRawFallbackPolicy (0.00s) 2026-10-18T20:51:40.602542956Z === RUN TestApplyTrafficRuntimeConfigPassesStandaloneServicesToBuilder 2026-10-18T20:51:40.602566534Z --- PASS: TestApplyTrafficRuntimeConfigPassesStandaloneServicesToBuilder (0.00s) 2026-10-18T20:51:40.602582253Z === RUN TestApplyTrafficRuntimeConfigAppliesCustomL4Entrypoint 2026-10-18T20:51:40.602604981Z --- PASS: TestApplyTrafficRuntimeConfigAppliesCustomL4Entrypoint (0.00s) 2026-10-18T20:51:40.602618751Z === RUN TestApplyTrafficRuntimeConfigFusesAppL4Routes 2026-10-18T20:51:40.602637944Z --- PASS: TestApplyTrafficRuntimeConfigFusesAppL4Routes (0.00s) 2026-10-18T20:51:40.602648397Z === RUN TestApplyTrafficRuntimeConfigRejectsMismatchedAppL4Bind 2026-10-18T20:51:40.602664545Z --- PASS: TestApplyTrafficRuntimeConfigRejectsMismatchedAppL4Bind (0.00s) 2026-10-18T20:51:40.602678975Z === RUN TestTLSHandshake_OnDemandCert 2026-10-18T20:51:40.60269454Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602723065Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.60274442Z --- PASS: TestTLSHandshake_OnDemandCert (0.01s) 2026-10-18T20:51:40.602757561Z === RUN TestTLSHandshake_UnknownDomain_Rejected 2026-10-18T20:51:40.6027729Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602786117Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602810467Z 2026/10/18 20:51:39 http: TLS handshake error from 127.0.0.1:40114: tls: no certificates configured 2026-10-18T20:51:40.602819179Z --- PASS: TestTLSHandshake_UnknownDomain_Rejected (0.01s) 2026-10-18T20:51:40.602824215Z === CONT TestNewKernel 2026-10-18T20:51:40.602836874Z === CONT TestCreateHTTPHandlers_DirectHTTPOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.602846609Z === CONT TestCreateHTTPHandlers_LocalMode_RestrictsRegistryToLoopback 2026-10-18T20:51:40.60285571Z === CONT TestCreateHTTPHandlers_OnboardingUsesSelectedEntrypointPorts 2026-10-18T20:51:40.602879758Z 2026-10-18T20:51:39Z WRN blocked non-loopback access on internal admin route path=/v2/test/manifests/latest remote_addr=192.0.2.20:12345 2026-10-18T20:51:40.602892701Z --- PASS: TestCreateHTTPHandlers_LocalMode_RestrictsRegistryToLoopback (0.00s) 2026-10-18T20:51:40.602903959Z === CONT TestCreateHTTPHandlers_RedirectUsesSelectedEntrypointPorts 2026-10-18T20:51:40.602915137Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.602946407Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.602993041Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60303423Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=69 client_ip=203.0.113.10 duration_ms=0.746142 host=app.example.com:9443 layer=adapter method=GET path=/path proto=HTTP/1.1 query= referer= request_id=8d333c31389d676d75be59136d9c609e status=308 user_agent= 2026-10-18T20:51:40.603065626Z --- PASS: TestCreateHTTPHandlers_RedirectUsesSelectedEntrypointPorts (0.00s) 2026-10-18T20:51:40.603082531Z === CONT TestCreateHTTPHandlers_HTTPSOnboarding_RemainsAvailableOnGordonDomain 2026-10-18T20:51:40.603108555Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.603136246Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.603154404Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.603182597Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.603207035Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3333 client_ip=203.0.113.10 duration_ms=0.125841 host=app.example.com layer=adapter method=HEAD path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=308929f287e3b68fcc6a5fcbdd18c101 status=200 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.603233194Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.603263182Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3338 client_ip=203.0.113.10 duration_ms=0.053521 host=app.example.com:9443 layer=adapter method=GET path=/.well-known/gordon/ proto=HTTP/1.1 query= referer= request_id=65380e7ceede674f4bcc963a2bb682ed status=200 user_agent= 2026-10-18T20:51:40.603279412Z --- PASS: TestCreateHTTPHandlers_OnboardingUsesSelectedEntrypointPorts (0.01s) 2026-10-18T20:51:40.603300373Z === CONT TestCreateHTTPHandlers_TrustedProxyWellKnownCACertPath_DoesNotServeOnboardingResource 2026-10-18T20:51:40.603325076Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=668 client_ip=203.0.113.10 duration_ms=0.041688 host=app.example.com layer=adapter method=HEAD path=/.well-known/gordon/ca.crt proto=HTTP/1.1 query= referer= request_id=56739589b9b8909e93b2bb50f5d6617c status=200 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.603338366Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.603360919Z === CONT TestStartPublicTLSRuntime_ReconcilesAndStartsRenewalLoop 2026-10-18T20:51:40.603374981Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_HEADRoutesRemainAvailable (0.01s) 2026-10-18T20:51:40.603385804Z 2026-10-18T20:51:39Z INF public ACME TLS runtime started 2026-10-18T20:51:40.603395516Z === CONT TestCreateHTTPHandlers_TrustedProxyHTTP_DoesNotServeOnboarding 2026-10-18T20:51:40.603405095Z --- PASS: TestStartPublicTLSRuntime_ReconcilesAndStartsRenewalLoop (0.00s) 2026-10-18T20:51:40.603438708Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3336 client_ip=203.0.113.10 duration_ms=0.079214 host=gordon.example.com layer=adapter method=GET path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=6ec9c40822fab5cec428a4fdc4fa9dc3 status=200 user_agent= 2026-10-18T20:51:40.603454282Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.603486212Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3342 client_ip=203.0.113.10 duration_ms=0.056754 host=Gordon.Example.Com.:8443 layer=adapter method=GET path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=9d88bf10d41e3313bc207672e94ad32c status=200 user_agent= 2026-10-18T20:51:40.603500492Z --- PASS: TestCreateHTTPHandlers_HTTPSOnboarding_RemainsAvailableOnGordonDomain (0.00s) 2026-10-18T20:51:40.603510782Z === CONT TestCreateHTTPHandlers_ForceHTTPSRedirect_DoesNotBypassDirectOnboarding 2026-10-18T20:51:40.603524914Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.603548139Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60356228Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.60357407Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.603586233Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.603611582Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.603625619Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.603637712Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.603653787Z 2026-10-18T20:51:39Z ERR panic recovered adapter=http host=app.example.com layer=adapter method=GET panic="invalid memory address or nil pointer dereference" path=/.well-known/gordon/ca.crt 2026-10-18T20:51:40.603687328Z --- PASS: TestCreateHTTPHandlers_TrustedProxyWellKnownCACertPath_DoesNotServeOnboardingResource (0.01s) 2026-10-18T20:51:40.603713154Z === CONT TestKernelClose_WithoutAppAdministrationStillCleansUp 2026-10-18T20:51:40.603727016Z --- PASS: TestKernelClose_WithoutAppAdministrationStillCleansUp (0.00s) 2026-10-18T20:51:40.603735998Z === CONT TestAccessLog_DenyAllProxy_IsLogged 2026-10-18T20:51:40.603750441Z 2026-10-18T20:51:39Z ERR panic recovered adapter=http host=app.example.com layer=adapter method=GET panic="invalid memory address or nil pointer dereference" path=/ 2026-10-18T20:51:40.603774147Z 2026-10-18T20:51:39Z INF container runtime initialized runtime=docker source=probed version=29.9.1 2026-10-18T20:51:40.603790953Z 2026-10-18T20:51:39Z WRN ignoring invalid proxy_allowed_ips entry entry=not-a-valid-ip 2026-10-18T20:51:40.603802085Z --- PASS: TestCreateHTTPHandlers_TrustedProxyHTTP_DoesNotServeOnboarding (0.01s) 2026-10-18T20:51:40.603811401Z === CONT TestCreateHTTPHandlers_LocalMode_DisablesAdminRoutes 2026-10-18T20:51:40.603837267Z 2026-10-18T20:51:39Z ERR proxy_allowed_ips is set but no valid entries were parsed; will deny all traffic (fail-closed) proxy_allowed_ips=["not-a-valid-ip"] 2026-10-18T20:51:40.603865425Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3333 client_ip=203.0.113.10 duration_ms=0.067943 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ proto=HTTP/1.1 query= referer= request_id=e15efec341e316bbd0e0d29395645efa status=200 user_agent= 2026-10-18T20:51:40.603912535Z 2026-10-18T20:51:39Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestNewKernel433025712/001/data/registry 2026-10-18T20:51:40.603930588Z 2026-10-18T20:51:39Z WRN auth disabled: admin API endpoints are not registered 2026-10-18T20:51:40.603941483Z --- PASS: TestCreateHTTPHandlers_ForceHTTPSRedirect_DoesNotBypassDirectOnboarding (0.00s) 2026-10-18T20:51:40.603950564Z === CONT TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths 2026-10-18T20:51:40.603974165Z 2026-10-18T20:51:39Z WRN access denied due to invalid proxy_allowed_ips configuration client_ip=203.0.113.5 2026-10-18T20:51:40.603991004Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/_serves_onboarding 2026-10-18T20:51:40.604001406Z --- PASS: TestCreateHTTPHandlers_LocalMode_DisablesAdminRoutes (0.00s) 2026-10-18T20:51:40.604014567Z 2026-10-18T20:51:39Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestNewKernel433025712/001/data/registry 2026-10-18T20:51:40.604035929Z === CONT TestStartPublicTLSRuntime_NilSvc 2026-10-18T20:51:40.60404866Z --- PASS: TestAccessLog_DenyAllProxy_IsLogged (0.00s) 2026-10-18T20:51:40.604058202Z --- PASS: TestStartPublicTLSRuntime_NilSvc (0.00s) 2026-10-18T20:51:40.604067492Z === CONT TestCreateHTTPHandlers_TLSDisabled_DoesNotServeHTTPOnboarding 2026-10-18T20:51:40.604095931Z 2026-10-18T20:51:39Z INF container log collection enabled dir=/tmp/TestNewKernel433025712/001/data/logs/containers 2026-10-18T20:51:40.604111909Z 2026-10-18T20:51:39Z WRN auth.enabled=false detected: running in local-only mode (registry loopback-only, admin API disabled) 2026-10-18T20:51:40.604124365Z === CONT TestCreateHTTPHandlers_DirectHTTPForbiddenHEAD_ReturnsForbidden 2026-10-18T20:51:40.604136889Z 2026-10-18T20:51:39Z INF configuration loaded layer=usecase registry_port=5000 server_port=0 usecase=Load 2026-10-18T20:51:40.604161631Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.604175527Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.604189618Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.604202807Z 2026-10-18T20:51:39Z INF internal CA disabled (no TLS-capable entrypoint configured) 2026-10-18T20:51:40.604226259Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.604249713Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.604266874Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.604288907Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.604322146Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3333 client_ip=203.0.113.10 duration_ms=0.048572 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ proto=HTTP/1.1 query= referer= request_id=9171c3eea919d9d22fe495027abb795c status=200 user_agent= 2026-10-18T20:51:40.604353806Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca_serves_onboarding 2026-10-18T20:51:40.60437094Z 2026-10-18T20:51:39Z WRN proxy origin access denied by CIDR allowlist adapter=http client_ip=203.0.113.10 layer=adapter method=GET 2026-10-18T20:51:40.604384539Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.60441542Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=22 client_ip=203.0.113.10 duration_ms=0.339558 host=app.example.com layer=adapter method=GET path=/ proto=HTTP/1.1 query= referer= request_id=6f1d97fb2e5693c264c4af64811760b6 status=403 user_agent= 2026-10-18T20:51:40.604442306Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.604455605Z --- PASS: TestCreateHTTPHandlers_TLSDisabled_DoesNotServeHTTPOnboarding (0.00s) 2026-10-18T20:51:40.6044798Z === CONT TestAccessLog_RegistryRejectedByLoopbackOnly_IsLogged 2026-10-18T20:51:40.604502304Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.604523428Z 2026-10-18T20:51:39Z WRN blocked non-loopback access on internal admin route path=/v2/ remote_addr=192.0.2.20:12345 2026-10-18T20:51:40.60453559Z --- PASS: TestNewKernel (0.02s) 2026-10-18T20:51:40.604560422Z === CONT TestCreateHTTPHandlers_HTTPSOnboarding_DoesNotPreemptAppHostCAPath 2026-10-18T20:51:40.604585774Z --- PASS: TestAccessLog_RegistryRejectedByLoopbackOnly_IsLogged (0.00s) 2026-10-18T20:51:40.604602693Z === CONT TestBuildRegistryCIDRAllowlistMiddleware_InvalidEntries_DenyAll 2026-10-18T20:51:40.604627018Z 2026-10-18T20:51:39Z WRN ignoring invalid registry_allowed_ips entry entry=not-a-cidr 2026-10-18T20:51:40.604642435Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.604656081Z 2026-10-18T20:51:39Z ERR registry_allowed_ips is set but no valid entries were parsed; will deny all traffic (fail-closed) registry_allowed_ips=["not-a-cidr"] 2026-10-18T20:51:40.604689013Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=0 client_ip=203.0.113.10 duration_ms=0.039681 host=app.example.com layer=adapter method=HEAD path=/web proto=HTTP/1.1 query= referer= request_id=4bfaa6f1cd22dcfb19ee7b8c4b494331 status=403 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.604705154Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.604715548Z --- PASS: TestCreateHTTPHandlers_DirectHTTPForbiddenHEAD_ReturnsForbidden (0.01s) 2026-10-18T20:51:40.60472701Z 2026-10-18T20:51:39Z WRN access denied due to invalid registry_allowed_ips configuration client_ip=127.0.0.1 2026-10-18T20:51:40.604754423Z --- PASS: TestBuildRegistryCIDRAllowlistMiddleware_InvalidEntries_DenyAll (0.00s) 2026-10-18T20:51:40.604766827Z === CONT TestCreateHTTPHandlers_TLSConfiguredWithoutCA_FailsStartup 2026-10-18T20:51:40.60477707Z === CONT TestCreateHTTPHandlers_HTTPSOnboarding_HEADRoutesRemainAvailable 2026-10-18T20:51:40.604787774Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.604816645Z 2026-10-18T20:51:39Z ERR failed to initialize internal CA error="create pki dir: mkdir /tmp/TestCreateHTTPHandlers_TLSConfiguredWithoutCA_FailsStartup1673245779/001/not-a-directory: not a directory" 2026-10-18T20:51:40.604832058Z --- PASS: TestCreateHTTPHandlers_TLSConfiguredWithoutCA_FailsStartup (0.00s) 2026-10-18T20:51:40.604860556Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3333 client_ip=203.0.113.10 duration_ms=0.081576 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=7e5b45ef8f9c323e58d400ca58c95f70 status=200 user_agent= 2026-10-18T20:51:40.604889137Z === CONT TestAccessLog_AdminRemoteRequest_ReachesAuth 2026-10-18T20:51:40.604903949Z 2026-10-18T20:51:39Z ERR authentication service unavailable; registry requests will be denied 2026-10-18T20:51:40.604914826Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca.crt_serves_CA_cert 2026-10-18T20:51:40.604941969Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=47 client_ip=192.0.2.10 duration_ms=0.032945 host=example.com layer=adapter method=GET path=/admin/status proto=HTTP/1.1 query= referer= request_id=fb59b8619713279269cf15f80aad80f5 status=503 user_agent= 2026-10-18T20:51:40.604961461Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.604979584Z --- PASS: TestAccessLog_AdminRemoteRequest_ReachesAuth (0.00s) 2026-10-18T20:51:40.605023303Z === CONT TestKernelClose_CleansUpAfterQuiescence 2026-10-18T20:51:40.605039906Z --- PASS: TestKernelClose_CleansUpAfterQuiescence (0.00s) 2026-10-18T20:51:40.605053875Z === CONT TestKernelClose_QuiescenceTimeoutSkipsCleanup 2026-10-18T20:51:40.605069484Z 2026-10-18T20:51:39Z ERR app administration did not quiesce before the shutdown deadline error="in-flight deploy did not unwind" 2026-10-18T20:51:40.60509871Z --- PASS: TestKernelClose_QuiescenceTimeoutSkipsCleanup (0.00s) 2026-10-18T20:51:40.605113493Z === CONT TestStartPublicTLSRuntime_StartsRenewalLoopWhenReconcileFails 2026-10-18T20:51:40.605125117Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.605151425Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.605166054Z 2026-10-18T20:51:39Z INF public ACME TLS runtime started 2026-10-18T20:51:40.605176541Z --- PASS: TestStartPublicTLSRuntime_StartsRenewalLoopWhenReconcileFails (0.00s) 2026-10-18T20:51:40.605188087Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.605197428Z === CONT TestCreateAuthService_Disabled_ReturnsNilServices 2026-10-18T20:51:40.605224999Z 2026-10-18T20:51:39Z WRN auth.enabled=false detected: running in local-only mode (registry loopback-only, admin API disabled) 2026-10-18T20:51:40.605239038Z --- PASS: TestCreateAuthService_Disabled_ReturnsNilServices (0.00s) 2026-10-18T20:51:40.605248877Z === CONT TestCreateHTTPHandlers_DirectHTTPACMEChallenge_Returns404 2026-10-18T20:51:40.605261239Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.605302838Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.605335743Z 2026-10-18T20:51:39Z WRN no route found for domain error="no target available for route" adapter=http client_ip=203.0.113.10 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ca 2026-10-18T20:51:40.605356123Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.60539087Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=19 client_ip=203.0.113.10 duration_ms=0.430248 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=c8d134756a7c9bb31bb0d1cd1bb51add status=404 user_agent= 2026-10-18T20:51:40.605411051Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.60543599Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.605460066Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=668 client_ip=203.0.113.10 duration_ms=0.03258 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ca.crt proto=HTTP/1.1 query= referer= request_id=1bc6d8e1cbc047892319eed201c9e40a status=200 user_agent= 2026-10-18T20:51:40.60548217Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3342 client_ip=203.0.113.10 duration_ms=0.124609 host=Gordon.Example.Com.:8443 layer=adapter method=GET path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=d81cf73a358dd21325b782f64063665a status=200 user_agent= 2026-10-18T20:51:40.605520461Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca.mobileconfig_serves_mobileconfig 2026-10-18T20:51:40.605534162Z --- PASS: TestCreateHTTPHandlers_HTTPSOnboarding_DoesNotPreemptAppHostCAPath (0.01s) 2026-10-18T20:51:40.605548999Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.605583839Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=3342 client_ip=127.0.0.1 duration_ms=0.120878 host=Gordon.Example.Com.:8443 layer=adapter method=HEAD path=/.well-known/gordon/ca proto=HTTP/1.1 query= referer= request_id=c42997f2713010cb2878e9e83fffb183 status=200 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.605604164Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.605617098Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.605650476Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=668 client_ip=127.0.0.1 duration_ms=0.052833 host=Gordon.Example.Com.:8443 layer=adapter method=HEAD path=/.well-known/gordon/ca.crt proto=HTTP/1.1 query= referer= request_id=0e183be9d6f7a94e9a1da78beacca7aa status=200 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.605687862Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.605718176Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.605746134Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=10 client_ip=203.0.113.10 duration_ms=0.046759 host=app.example.com layer=adapter method=GET path=/.well-known/acme-challenge/test-token proto=HTTP/1.1 query= referer= request_id=11730c64e459a67b963ba0949efab9ab status=404 user_agent= 2026-10-18T20:51:40.605789186Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=1904 client_ip=127.0.0.1 duration_ms=0.044664 host=Gordon.Example.Com.:8443 layer=adapter method=HEAD path=/.well-known/gordon/ca.mobileconfig proto=HTTP/1.1 query= referer= request_id=9a0fa4aa6ea0a76cbb6264f781adc7d4 status=200 user_agent=Go-http-client/1.1 2026-10-18T20:51:40.605804912Z --- PASS: TestCreateHTTPHandlers_DirectHTTPACMEChallenge_Returns404 (0.00s) 2026-10-18T20:51:40.605822919Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=1900 client_ip=203.0.113.10 duration_ms=0.031559 host=app.example.com layer=adapter method=GET path=/.well-known/gordon/ca.mobileconfig proto=HTTP/1.1 query= referer= request_id=660c360430cdf821e1af81aed0f7af5f status=200 user_agent= 2026-10-18T20:51:40.60583375Z --- PASS: TestCreateHTTPHandlers_HTTPSOnboarding_HEADRoutesRemainAvailable (0.01s) 2026-10-18T20:51:40.605863169Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/root_returns_forbidden 2026-10-18T20:51:40.605876735Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.605895678Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.605920322Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.605944013Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=52 client_ip=203.0.113.10 duration_ms=0.037932 host=app.example.com layer=adapter method=GET path=/ proto=HTTP/1.1 query= referer= request_id=49821755f4eb0c9851678926bac68654 status=403 user_agent= 2026-10-18T20:51:40.60595723Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca_alias_returns_forbidden 2026-10-18T20:51:40.605968264Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.606002129Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.606019025Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.606050552Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=52 client_ip=203.0.113.10 duration_ms=0.037861 host=app.example.com layer=adapter method=GET path=/ca proto=HTTP/1.1 query= referer= request_id=d5cff0759d6099005a7724e925fc1017 status=403 user_agent= 2026-10-18T20:51:40.606074724Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca.crt_alias_returns_forbidden 2026-10-18T20:51:40.606087992Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.606102952Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.606116311Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.606154179Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=52 client_ip=203.0.113.10 duration_ms=0.043205 host=app.example.com layer=adapter method=GET path=/ca.crt proto=HTTP/1.1 query= referer= request_id=2b2f9334b6b3ae4e889bd21f68b8a131 status=403 user_agent= 2026-10-18T20:51:40.606169303Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca.mobileconfig_alias_returns_forbidden 2026-10-18T20:51:40.606178919Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60618782Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.606214764Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.606236321Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=52 client_ip=203.0.113.10 duration_ms=0.034912 host=app.example.com layer=adapter method=GET path=/ca.mobileconfig proto=HTTP/1.1 query= referer= request_id=9a905d3e6aafa1308c9b64d7d945bd61 status=403 user_agent= 2026-10-18T20:51:40.606245056Z === RUN TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/unknown_path_returns_forbidden 2026-10-18T20:51:40.606252295Z 2026-10-18T20:51:39Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:51:40.60627157Z 2026-10-18T20:51:39Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:39Z 2026-10-18T20:51:40.606285427Z 2026-10-18T20:51:39Z INF proxy origin IP allowlist enabled proxy_allowed_ips=["173.245.48.0/20"] 2026-10-18T20:51:40.606304765Z 2026-10-18T20:51:39Z INF HTTP request adapter=http bytes=52 client_ip=203.0.113.10 duration_ms=0.030892 host=app.example.com layer=adapter method=GET path=/web proto=HTTP/1.1 query= referer= request_id=1eeb8425c13a8fc2f9b7fae00b8c3737 status=403 user_agent= 2026-10-18T20:51:40.606317319Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths (0.03s) 2026-10-18T20:51:40.606354738Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/_serves_onboarding (0.00s) 2026-10-18T20:51:40.606376785Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca_serves_onboarding (0.00s) 2026-10-18T20:51:40.606412163Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca.crt_serves_CA_cert (0.00s) 2026-10-18T20:51:40.606442125Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/.well-known/gordon/ca.mobileconfig_serves_mobileconfig (0.00s) 2026-10-18T20:51:40.606474923Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/root_returns_forbidden (0.00s) 2026-10-18T20:51:40.606499814Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca_alias_returns_forbidden (0.00s) 2026-10-18T20:51:40.606522768Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca.crt_alias_returns_forbidden (0.00s) 2026-10-18T20:51:40.606561429Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/former_/ca.mobileconfig_alias_returns_forbidden (0.00s) 2026-10-18T20:51:40.606587365Z --- PASS: TestCreateHTTPHandlers_DirectHTTPOnboarding_AllPaths/unknown_path_returns_forbidden (0.00s) 2026-10-18T20:51:40.606607598Z PASS 2026-10-18T20:51:40.606621004Z ok github.com/bnema/gordon/internal/app 2.312s 2026-10-18T20:51:40.606631788Z ? github.com/bnema/gordon/internal/boundaries/in [no test files] 2026-10-18T20:51:40.606638604Z ? github.com/bnema/gordon/internal/boundaries/in/mocks [no test files] 2026-10-18T20:51:40.60664695Z === RUN TestGCBarrierContractExcludesExclusiveDuringShared 2026-10-18T20:51:40.60666824Z --- PASS: TestGCBarrierContractExcludesExclusiveDuringShared (0.05s) 2026-10-18T20:51:40.606682004Z === RUN TestGCBarrierContractExcludesSharedDuringExclusive 2026-10-18T20:51:40.606691444Z --- PASS: TestGCBarrierContractExcludesSharedDuringExclusive (0.05s) 2026-10-18T20:51:40.606700085Z === RUN TestGCBarrierContractPreCanceledContext 2026-10-18T20:51:40.606708452Z --- PASS: TestGCBarrierContractPreCanceledContext (0.00s) 2026-10-18T20:51:40.606715526Z PASS 2026-10-18T20:51:40.606739211Z ok github.com/bnema/gordon/internal/boundaries/out 1.114s 2026-10-18T20:51:40.606751128Z ? github.com/bnema/gordon/internal/boundaries/out/mocks [no test files] 2026-10-18T20:51:40.6067603Z === RUN TestAppBindPolicy_Validate 2026-10-18T20:51:40.606768975Z === RUN TestAppBindPolicy_Validate/empty_name 2026-10-18T20:51:40.606777197Z === RUN TestAppBindPolicy_Validate/bad_name 2026-10-18T20:51:40.606795619Z === RUN TestAppBindPolicy_Validate/reserved_name 2026-10-18T20:51:40.606812589Z === RUN TestAppBindPolicy_Validate/relative_source 2026-10-18T20:51:40.606826414Z === RUN TestAppBindPolicy_Validate/unclean_source 2026-10-18T20:51:40.606847651Z === RUN TestAppBindPolicy_Validate/empty_source 2026-10-18T20:51:40.606860468Z === RUN TestAppBindPolicy_Validate/relative_root 2026-10-18T20:51:40.606869253Z === RUN TestAppBindPolicy_Validate/unclean_root 2026-10-18T20:51:40.60687781Z === RUN TestAppBindPolicy_Validate/empty_allowed_apps 2026-10-18T20:51:40.606883649Z === RUN TestAppBindPolicy_Validate/empty_allowed_services 2026-10-18T20:51:40.606891982Z === RUN TestAppBindPolicy_Validate/bad_allowed_app 2026-10-18T20:51:40.606914245Z === RUN TestAppBindPolicy_Validate/bad_allowed_service 2026-10-18T20:51:40.606928104Z === RUN TestAppBindPolicy_Validate/duplicate_allowed_app 2026-10-18T20:51:40.606937798Z === RUN TestAppBindPolicy_Validate/duplicate_allowed_service 2026-10-18T20:51:40.606947871Z --- PASS: TestAppBindPolicy_Validate (0.00s) 2026-10-18T20:51:40.606977102Z --- PASS: TestAppBindPolicy_Validate/empty_name (0.00s) 2026-10-18T20:51:40.606995988Z --- PASS: TestAppBindPolicy_Validate/bad_name (0.00s) 2026-10-18T20:51:40.607011755Z --- PASS: TestAppBindPolicy_Validate/reserved_name (0.00s) 2026-10-18T20:51:40.607048518Z --- PASS: TestAppBindPolicy_Validate/relative_source (0.00s) 2026-10-18T20:51:40.60707109Z --- PASS: TestAppBindPolicy_Validate/unclean_source (0.00s) 2026-10-18T20:51:40.607094875Z --- PASS: TestAppBindPolicy_Validate/empty_source (0.00s) 2026-10-18T20:51:40.607119132Z --- PASS: TestAppBindPolicy_Validate/relative_root (0.00s) 2026-10-18T20:51:40.607136483Z --- PASS: TestAppBindPolicy_Validate/unclean_root (0.00s) 2026-10-18T20:51:40.607153227Z --- PASS: TestAppBindPolicy_Validate/empty_allowed_apps (0.00s) 2026-10-18T20:51:40.607180924Z --- PASS: TestAppBindPolicy_Validate/empty_allowed_services (0.00s) 2026-10-18T20:51:40.607202041Z --- PASS: TestAppBindPolicy_Validate/bad_allowed_app (0.00s) 2026-10-18T20:51:40.607225944Z --- PASS: TestAppBindPolicy_Validate/bad_allowed_service (0.00s) 2026-10-18T20:51:40.607250561Z --- PASS: TestAppBindPolicy_Validate/duplicate_allowed_app (0.00s) 2026-10-18T20:51:40.607271567Z --- PASS: TestAppBindPolicy_Validate/duplicate_allowed_service (0.00s) 2026-10-18T20:51:40.607280519Z === RUN TestAppBindPolicy_ResolveAppBind 2026-10-18T20:51:40.607299347Z --- PASS: TestAppBindPolicy_ResolveAppBind (0.00s) 2026-10-18T20:51:40.607311107Z === RUN TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening 2026-10-18T20:51:40.607322266Z === RUN TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/policy_enforces_read-only 2026-10-18T20:51:40.607333812Z === RUN TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/bind_requests_read-only 2026-10-18T20:51:40.607345526Z === RUN TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/both_read-only 2026-10-18T20:51:40.607366458Z === RUN TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/writable_by_default 2026-10-18T20:51:40.607378543Z --- PASS: TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening (0.00s) 2026-10-18T20:51:40.60739999Z --- PASS: TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/policy_enforces_read-only (0.00s) 2026-10-18T20:51:40.60743173Z --- PASS: TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/bind_requests_read-only (0.00s) 2026-10-18T20:51:40.607462048Z --- PASS: TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/both_read-only (0.00s) 2026-10-18T20:51:40.607492778Z --- PASS: TestAppBindPolicy_ResolveAppBindReadOnlyNonWeakening/writable_by_default (0.00s) 2026-10-18T20:51:40.607508536Z === RUN TestAppBindPolicy_ResolveAppBindAllowlists 2026-10-18T20:51:40.607518276Z --- PASS: TestAppBindPolicy_ResolveAppBindAllowlists (0.00s) 2026-10-18T20:51:40.607527347Z === RUN TestAppBindPolicy_ResolveAppBindBindShape 2026-10-18T20:51:40.607542452Z --- PASS: TestAppBindPolicy_ResolveAppBindBindShape (0.00s) 2026-10-18T20:51:40.607555798Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary 2026-10-18T20:51:40.607567371Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/source_outside_root 2026-10-18T20:51:40.607577091Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/sibling_prefix_is_not_inside 2026-10-18T20:51:40.607600549Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/symlink_escaping_root_is_refused 2026-10-18T20:51:40.607615781Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/symlink_inside_root_resolves 2026-10-18T20:51:40.607636832Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/root_itself_is_inside 2026-10-18T20:51:40.607649063Z === RUN TestAppBindPolicy_ResolveAppBindRootBoundary/optional_root_is_not_required 2026-10-18T20:51:40.607659313Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary (0.00s) 2026-10-18T20:51:40.607680527Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/source_outside_root (0.00s) 2026-10-18T20:51:40.607715274Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/sibling_prefix_is_not_inside (0.00s) 2026-10-18T20:51:40.607738297Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/symlink_escaping_root_is_refused (0.00s) 2026-10-18T20:51:40.6077711Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/symlink_inside_root_resolves (0.00s) 2026-10-18T20:51:40.60779523Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/root_itself_is_inside (0.00s) 2026-10-18T20:51:40.607816392Z --- PASS: TestAppBindPolicy_ResolveAppBindRootBoundary/optional_root_is_not_required (0.00s) 2026-10-18T20:51:40.607836483Z === RUN TestAppBindPolicy_ResolveAppBindSourceTypes 2026-10-18T20:51:40.607850038Z === RUN TestAppBindPolicy_ResolveAppBindSourceTypes/missing_source 2026-10-18T20:51:40.607865889Z === RUN TestAppBindPolicy_ResolveAppBindSourceTypes/fifo_refused 2026-10-18T20:51:40.607876225Z === RUN TestAppBindPolicy_ResolveAppBindSourceTypes/socket_refused 2026-10-18T20:51:40.607902211Z === RUN TestAppBindPolicy_ResolveAppBindSourceTypes/regular_file_accepted 2026-10-18T20:51:40.607930604Z --- PASS: TestAppBindPolicy_ResolveAppBindSourceTypes (0.00s) 2026-10-18T20:51:40.607966267Z --- PASS: TestAppBindPolicy_ResolveAppBindSourceTypes/missing_source (0.00s) 2026-10-18T20:51:40.607988112Z --- PASS: TestAppBindPolicy_ResolveAppBindSourceTypes/fifo_refused (0.00s) 2026-10-18T20:51:40.6080068Z --- PASS: TestAppBindPolicy_ResolveAppBindSourceTypes/socket_refused (0.00s) 2026-10-18T20:51:40.608036928Z --- PASS: TestAppBindPolicy_ResolveAppBindSourceTypes/regular_file_accepted (0.00s) 2026-10-18T20:51:40.608051572Z === RUN TestBindSourceTypeAllowed 2026-10-18T20:51:40.60806103Z --- PASS: TestBindSourceTypeAllowed (0.00s) 2026-10-18T20:51:40.608069444Z === RUN TestResolvedUnderRoot 2026-10-18T20:51:40.608083077Z --- PASS: TestResolvedUnderRoot (0.00s) 2026-10-18T20:51:40.608106506Z === RUN TestCapabilityPolicyValid 2026-10-18T20:51:40.608119407Z --- PASS: TestCapabilityPolicyValid (0.00s) 2026-10-18T20:51:40.608128406Z === RUN TestCapabilityPolicyNameRejected 2026-10-18T20:51:40.608136939Z --- PASS: TestCapabilityPolicyNameRejected (0.00s) 2026-10-18T20:51:40.608163926Z === RUN TestCapabilityPolicyAddRejected 2026-10-18T20:51:40.608176073Z --- PASS: TestCapabilityPolicyAddRejected (0.00s) 2026-10-18T20:51:40.608185444Z === RUN TestCapabilityPolicyAllowlistRejected 2026-10-18T20:51:40.608194242Z --- PASS: TestCapabilityPolicyAllowlistRejected (0.00s) 2026-10-18T20:51:40.608204359Z === RUN TestAllowedAppCapabilitiesExcludesDangerous 2026-10-18T20:51:40.608229761Z --- PASS: TestAllowedAppCapabilitiesExcludesDangerous (0.00s) 2026-10-18T20:51:40.608241359Z === RUN TestResolveAppCapabilitiesDenyByDefault 2026-10-18T20:51:40.608253185Z --- PASS: TestResolveAppCapabilitiesDenyByDefault (0.00s) 2026-10-18T20:51:40.608263689Z === RUN TestResolveAppCapabilitiesExactGrantIsCopy 2026-10-18T20:51:40.608272563Z --- PASS: TestResolveAppCapabilitiesExactGrantIsCopy (0.00s) 2026-10-18T20:51:40.608291571Z === RUN TestResolveAppCapabilitiesUnionSortedDeduped 2026-10-18T20:51:40.608318127Z --- PASS: TestResolveAppCapabilitiesUnionSortedDeduped (0.00s) 2026-10-18T20:51:40.608338025Z === RUN TestResolveAppCapabilitiesUnknownAndEmpty 2026-10-18T20:51:40.608354597Z --- PASS: TestResolveAppCapabilitiesUnknownAndEmpty (0.00s) 2026-10-18T20:51:40.60836589Z === RUN TestResolveAppCapabilitiesRefusedDoesNotEchoCaps 2026-10-18T20:51:40.608377598Z --- PASS: TestResolveAppCapabilitiesRefusedDoesNotEchoCaps (0.00s) 2026-10-18T20:51:40.608391916Z === RUN TestRuntimeGuardRefusesDisallowedAddedCapabilities 2026-10-18T20:51:40.608401432Z --- PASS: TestRuntimeGuardRefusesDisallowedAddedCapabilities (0.00s) 2026-10-18T20:51:40.608410039Z === RUN TestAppServiceCapabilitiesValidation 2026-10-18T20:51:40.608420249Z --- PASS: TestAppServiceCapabilitiesValidation (0.00s) 2026-10-18T20:51:40.608428751Z === RUN TestDiffAppSpecCapabilities 2026-10-18T20:51:40.608437024Z --- PASS: TestDiffAppSpecCapabilities (0.00s) 2026-10-18T20:51:40.60844757Z === RUN TestExcessCapabilities 2026-10-18T20:51:40.608456284Z --- PASS: TestExcessCapabilities (0.00s) 2026-10-18T20:51:40.608464274Z === RUN TestDefaultAppCapAddIsCopy 2026-10-18T20:51:40.608472391Z --- PASS: TestDefaultAppCapAddIsCopy (0.00s) 2026-10-18T20:51:40.608482057Z === RUN TestDevicePolicyValid 2026-10-18T20:51:40.608490376Z --- PASS: TestDevicePolicyValid (0.00s) 2026-10-18T20:51:40.608498768Z === RUN TestDevicePolicyNameRejected 2026-10-18T20:51:40.608505714Z --- PASS: TestDevicePolicyNameRejected (0.00s) 2026-10-18T20:51:40.608513922Z === RUN TestDevicePolicyCDIRejected 2026-10-18T20:51:40.608523378Z --- PASS: TestDevicePolicyCDIRejected (0.00s) 2026-10-18T20:51:40.608533417Z === RUN TestDevicePolicyAllowlistRejected 2026-10-18T20:51:40.608543179Z --- PASS: TestDevicePolicyAllowlistRejected (0.00s) 2026-10-18T20:51:40.608552284Z === RUN TestResolveAppDeviceDenyByDefault 2026-10-18T20:51:40.608561634Z --- PASS: TestResolveAppDeviceDenyByDefault (0.00s) 2026-10-18T20:51:40.608571102Z === RUN TestResolveAppDeviceExactGrant 2026-10-18T20:51:40.608582962Z --- PASS: TestResolveAppDeviceExactGrant (0.00s) 2026-10-18T20:51:40.608592439Z === RUN TestResolveAppDevicesUnknownDenied 2026-10-18T20:51:40.60861172Z --- PASS: TestResolveAppDevicesUnknownDenied (0.00s) 2026-10-18T20:51:40.608622868Z === RUN TestResolveAppDevicesDeterministicUnion 2026-10-18T20:51:40.608632754Z --- PASS: TestResolveAppDevicesDeterministicUnion (0.00s) 2026-10-18T20:51:40.608640207Z === RUN TestResolveAppDevicesDuplicateIDRejected 2026-10-18T20:51:40.608650082Z --- PASS: TestResolveAppDevicesDuplicateIDRejected (0.00s) 2026-10-18T20:51:40.608659054Z === RUN TestResolveAppDevicesEmptyIsNil 2026-10-18T20:51:40.608668531Z --- PASS: TestResolveAppDevicesEmptyIsNil (0.00s) 2026-10-18T20:51:40.608682673Z === RUN TestValidateDeviceName 2026-10-18T20:51:40.608688651Z --- PASS: TestValidateDeviceName (0.00s) 2026-10-18T20:51:40.60869397Z === RUN TestAppServiceDevicesValidation 2026-10-18T20:51:40.608698711Z --- PASS: TestAppServiceDevicesValidation (0.00s) 2026-10-18T20:51:40.608702815Z === RUN TestDiffAppSpecDevices 2026-10-18T20:51:40.608707366Z --- PASS: TestDiffAppSpecDevices (0.00s) 2026-10-18T20:51:40.608711464Z === RUN TestParseScope 2026-10-18T20:51:40.608716142Z === RUN TestParseScope/simple_repository_scope 2026-10-18T20:51:40.608720694Z === RUN TestParseScope/multiple_actions 2026-10-18T20:51:40.608725214Z === RUN TestParseScope/wildcard_repository 2026-10-18T20:51:40.608729434Z === RUN TestParseScope/org_wildcard 2026-10-18T20:51:40.608746919Z === RUN TestParseScope/wildcard_action 2026-10-18T20:51:40.60875299Z === RUN TestParseScope/nested_repository_name 2026-10-18T20:51:40.608760196Z === RUN TestParseScope/actions_with_whitespace_trimmed 2026-10-18T20:51:40.608765192Z === RUN TestParseScope/registry_scope_type 2026-10-18T20:51:40.608769503Z === RUN TestParseScope/empty_string 2026-10-18T20:51:40.608773914Z === RUN TestParseScope/missing_actions 2026-10-18T20:51:40.608780008Z === RUN TestParseScope/missing_name_and_actions 2026-10-18T20:51:40.608784747Z === RUN TestParseScope/only_type_and_name 2026-10-18T20:51:40.608788994Z --- PASS: TestParseScope (0.00s) 2026-10-18T20:51:40.608812354Z --- PASS: TestParseScope/simple_repository_scope (0.00s) 2026-10-18T20:51:40.608825015Z --- PASS: TestParseScope/multiple_actions (0.00s) 2026-10-18T20:51:40.608836277Z --- PASS: TestParseScope/wildcard_repository (0.00s) 2026-10-18T20:51:40.608846356Z --- PASS: TestParseScope/org_wildcard (0.00s) 2026-10-18T20:51:40.608857596Z --- PASS: TestParseScope/wildcard_action (0.00s) 2026-10-18T20:51:40.608881727Z --- PASS: TestParseScope/nested_repository_name (0.00s) 2026-10-18T20:51:40.60889614Z --- PASS: TestParseScope/actions_with_whitespace_trimmed (0.00s) 2026-10-18T20:51:40.608907357Z --- PASS: TestParseScope/registry_scope_type (0.00s) 2026-10-18T20:51:40.608918059Z --- PASS: TestParseScope/empty_string (0.00s) 2026-10-18T20:51:40.608928432Z --- PASS: TestParseScope/missing_actions (0.00s) 2026-10-18T20:51:40.608950979Z --- PASS: TestParseScope/missing_name_and_actions (0.00s) 2026-10-18T20:51:40.608963366Z --- PASS: TestParseScope/only_type_and_name (0.00s) 2026-10-18T20:51:40.608967871Z === RUN TestScope_CanAccess 2026-10-18T20:51:40.60897296Z === RUN TestScope_CanAccess/exact_repo_match_with_pull 2026-10-18T20:51:40.608978293Z === RUN TestScope_CanAccess/exact_repo_match_with_push 2026-10-18T20:51:40.60898394Z === RUN TestScope_CanAccess/exact_repo_match_wrong_action 2026-10-18T20:51:40.608989421Z === RUN TestScope_CanAccess/wrong_repo_name 2026-10-18T20:51:40.609006825Z === RUN TestScope_CanAccess/wildcard_repo_matches_any 2026-10-18T20:51:40.609013098Z === RUN TestScope_CanAccess/wildcard_repo_matches_nested 2026-10-18T20:51:40.609018275Z === RUN TestScope_CanAccess/org_wildcard_matches_repo_in_org 2026-10-18T20:51:40.609023662Z === RUN TestScope_CanAccess/org_wildcard_matches_nested_repo_in_org 2026-10-18T20:51:40.609029098Z === RUN TestScope_CanAccess/org_wildcard_does_not_match_other_org 2026-10-18T20:51:40.609034613Z === RUN TestScope_CanAccess/org_wildcard_does_not_match_repo_without_slash 2026-10-18T20:51:40.609039582Z === RUN TestScope_CanAccess/wildcard_action_grants_pull 2026-10-18T20:51:40.609044367Z === RUN TestScope_CanAccess/wildcard_action_grants_push 2026-10-18T20:51:40.609049492Z === RUN TestScope_CanAccess/multiple_actions_includes_requested 2026-10-18T20:51:40.609065199Z === RUN TestScope_CanAccess/multiple_actions_includes_push 2026-10-18T20:51:40.609072186Z === RUN TestScope_CanAccess/registry_type_does_not_grant_repo_access 2026-10-18T20:51:40.609077127Z === RUN TestScope_CanAccess/empty_actions 2026-10-18T20:51:40.60908203Z === RUN TestScope_CanAccess/empty_repo_name_in_scope 2026-10-18T20:51:40.609086304Z --- PASS: TestScope_CanAccess (0.00s) 2026-10-18T20:51:40.609098997Z --- PASS: TestScope_CanAccess/exact_repo_match_with_pull (0.00s) 2026-10-18T20:51:40.60911147Z --- PASS: TestScope_CanAccess/exact_repo_match_with_push (0.00s) 2026-10-18T20:51:40.609135083Z --- PASS: TestScope_CanAccess/exact_repo_match_wrong_action (0.00s) 2026-10-18T20:51:40.609148551Z --- PASS: TestScope_CanAccess/wrong_repo_name (0.00s) 2026-10-18T20:51:40.609161409Z --- PASS: TestScope_CanAccess/wildcard_repo_matches_any (0.00s) 2026-10-18T20:51:40.609174468Z --- PASS: TestScope_CanAccess/wildcard_repo_matches_nested (0.00s) 2026-10-18T20:51:40.60921347Z --- PASS: TestScope_CanAccess/org_wildcard_matches_repo_in_org (0.00s) 2026-10-18T20:51:40.609231209Z --- PASS: TestScope_CanAccess/org_wildcard_matches_nested_repo_in_org (0.00s) 2026-10-18T20:51:40.609245988Z --- PASS: TestScope_CanAccess/org_wildcard_does_not_match_other_org (0.00s) 2026-10-18T20:51:40.609273611Z --- PASS: TestScope_CanAccess/org_wildcard_does_not_match_repo_without_slash (0.00s) 2026-10-18T20:51:40.609288677Z --- PASS: TestScope_CanAccess/wildcard_action_grants_pull (0.00s) 2026-10-18T20:51:40.609302615Z --- PASS: TestScope_CanAccess/wildcard_action_grants_push (0.00s) 2026-10-18T20:51:40.609332906Z --- PASS: TestScope_CanAccess/multiple_actions_includes_requested (0.00s) 2026-10-18T20:51:40.609363696Z --- PASS: TestScope_CanAccess/multiple_actions_includes_push (0.00s) 2026-10-18T20:51:40.609384672Z --- PASS: TestScope_CanAccess/registry_type_does_not_grant_repo_access (0.00s) 2026-10-18T20:51:40.609402824Z --- PASS: TestScope_CanAccess/empty_actions (0.00s) 2026-10-18T20:51:40.609419895Z --- PASS: TestScope_CanAccess/empty_repo_name_in_scope (0.00s) 2026-10-18T20:51:40.60942468Z === RUN TestScope_String 2026-10-18T20:51:40.609430628Z === RUN TestScope_String/simple_scope 2026-10-18T20:51:40.609441272Z === RUN TestScope_String/multiple_actions 2026-10-18T20:51:40.609448438Z === RUN TestScope_String/wildcard 2026-10-18T20:51:40.609453288Z === RUN TestScope_String/org_wildcard 2026-10-18T20:51:40.609457515Z --- PASS: TestScope_String (0.00s) 2026-10-18T20:51:40.60947306Z --- PASS: TestScope_String/simple_scope (0.00s) 2026-10-18T20:51:40.609484455Z --- PASS: TestScope_String/multiple_actions (0.00s) 2026-10-18T20:51:40.609499952Z --- PASS: TestScope_String/wildcard (0.00s) 2026-10-18T20:51:40.609812054Z --- PASS: TestScope_String/org_wildcard (0.00s) 2026-10-18T20:51:40.609818462Z === RUN TestScopesGrantRegistryAccess 2026-10-18T20:51:40.6098249Z === RUN TestScopesGrantRegistryAccess/wildcard_shorthand_grants_any_action 2026-10-18T20:51:40.609830474Z === RUN TestScopesGrantRegistryAccess/pull_shorthand_grants_pull 2026-10-18T20:51:40.609838398Z === RUN TestScopesGrantRegistryAccess/pull_shorthand_does_not_grant_push 2026-10-18T20:51:40.609846248Z === RUN TestScopesGrantRegistryAccess/push_shorthand_grants_push 2026-10-18T20:51:40.609856828Z === RUN TestScopesGrantRegistryAccess/full_scope_grants_matching_repo_and_action 2026-10-18T20:51:40.609867089Z === RUN TestScopesGrantRegistryAccess/full_scope_does_not_grant_different_repo 2026-10-18T20:51:40.609875779Z === RUN TestScopesGrantRegistryAccess/wildcard_repo_scope_grants_any_repo 2026-10-18T20:51:40.609884167Z === RUN TestScopesGrantRegistryAccess/org_wildcard_scope_grants_repo_in_org 2026-10-18T20:51:40.609894307Z === RUN TestScopesGrantRegistryAccess/org_wildcard_scope_rejects_repo_outside_org 2026-10-18T20:51:40.609904845Z === RUN TestScopesGrantRegistryAccess/admin_scope_is_ignored_for_registry_access 2026-10-18T20:51:40.609915364Z === RUN TestScopesGrantRegistryAccess/no_granted_scopes 2026-10-18T20:51:40.60992568Z === RUN TestScopesGrantRegistryAccess/whitespace_around_scope_is_trimmed 2026-10-18T20:51:40.609935367Z === RUN TestScopesGrantRegistryAccess/invalid_scope_string_is_skipped 2026-10-18T20:51:40.609944834Z --- PASS: TestScopesGrantRegistryAccess (0.00s) 2026-10-18T20:51:40.609964783Z --- PASS: TestScopesGrantRegistryAccess/wildcard_shorthand_grants_any_action (0.00s) 2026-10-18T20:51:40.609983411Z --- PASS: TestScopesGrantRegistryAccess/pull_shorthand_grants_pull (0.00s) 2026-10-18T20:51:40.610003201Z --- PASS: TestScopesGrantRegistryAccess/pull_shorthand_does_not_grant_push (0.00s) 2026-10-18T20:51:40.610023237Z --- PASS: TestScopesGrantRegistryAccess/push_shorthand_grants_push (0.00s) 2026-10-18T20:51:40.610057754Z --- PASS: TestScopesGrantRegistryAccess/full_scope_grants_matching_repo_and_action (0.00s) 2026-10-18T20:51:40.610090778Z --- PASS: TestScopesGrantRegistryAccess/full_scope_does_not_grant_different_repo (0.00s) 2026-10-18T20:51:40.610112241Z --- PASS: TestScopesGrantRegistryAccess/wildcard_repo_scope_grants_any_repo (0.00s) 2026-10-18T20:51:40.610132861Z --- PASS: TestScopesGrantRegistryAccess/org_wildcard_scope_grants_repo_in_org (0.00s) 2026-10-18T20:51:40.610154171Z --- PASS: TestScopesGrantRegistryAccess/org_wildcard_scope_rejects_repo_outside_org (0.00s) 2026-10-18T20:51:40.610175031Z --- PASS: TestScopesGrantRegistryAccess/admin_scope_is_ignored_for_registry_access (0.00s) 2026-10-18T20:51:40.610192473Z --- PASS: TestScopesGrantRegistryAccess/no_granted_scopes (0.00s) 2026-10-18T20:51:40.610212537Z --- PASS: TestScopesGrantRegistryAccess/whitespace_around_scope_is_trimmed (0.00s) 2026-10-18T20:51:40.610241369Z --- PASS: TestScopesGrantRegistryAccess/invalid_scope_string_is_skipped (0.00s) 2026-10-18T20:51:40.610255913Z === RUN TestScopesGrantAdminAccess 2026-10-18T20:51:40.610272019Z === RUN TestScopesGrantAdminAccess/wildcard_shorthand_does_not_grant_admin_access 2026-10-18T20:51:40.610285775Z === RUN TestScopesGrantAdminAccess/exact_admin_scope_grants_matching_resource_and_action 2026-10-18T20:51:40.610296065Z === RUN TestScopesGrantAdminAccess/exact_admin_scope_denies_wrong_action 2026-10-18T20:51:40.610306677Z === RUN TestScopesGrantAdminAccess/exact_admin_scope_denies_wrong_resource 2026-10-18T20:51:40.610317016Z === RUN TestScopesGrantAdminAccess/admin_wildcard_resource_grants_any_resource 2026-10-18T20:51:40.610327847Z === RUN TestScopesGrantAdminAccess/admin_wildcard_action_grants_any_action 2026-10-18T20:51:40.610338089Z === RUN TestScopesGrantAdminAccess/full_admin_wildcard_grants_everything 2026-10-18T20:51:40.610348027Z === RUN TestScopesGrantAdminAccess/logs_read_grants_logs_resource 2026-10-18T20:51:40.610358068Z === RUN TestScopesGrantAdminAccess/status_read_does_not_grant_logs_resource 2026-10-18T20:51:40.610368264Z === RUN TestScopesGrantAdminAccess/full_admin_wildcard_grants_logs_resource 2026-10-18T20:51:40.610378023Z === RUN TestScopesGrantAdminAccess/volumes_read_grants_volumes_resource 2026-10-18T20:51:40.610388697Z === RUN TestScopesGrantAdminAccess/repository_scope_is_ignored_for_admin_access 2026-10-18T20:51:40.610398169Z === RUN TestScopesGrantAdminAccess/no_granted_scopes 2026-10-18T20:51:40.61040824Z === RUN TestScopesGrantAdminAccess/whitespace_around_scope_is_trimmed 2026-10-18T20:51:40.610417555Z --- PASS: TestScopesGrantAdminAccess (0.00s) 2026-10-18T20:51:40.610438587Z --- PASS: TestScopesGrantAdminAccess/wildcard_shorthand_does_not_grant_admin_access (0.00s) 2026-10-18T20:51:40.610461358Z --- PASS: TestScopesGrantAdminAccess/exact_admin_scope_grants_matching_resource_and_action (0.00s) 2026-10-18T20:51:40.610481561Z --- PASS: TestScopesGrantAdminAccess/exact_admin_scope_denies_wrong_action (0.00s) 2026-10-18T20:51:40.61050152Z --- PASS: TestScopesGrantAdminAccess/exact_admin_scope_denies_wrong_resource (0.00s) 2026-10-18T20:51:40.610521792Z --- PASS: TestScopesGrantAdminAccess/admin_wildcard_resource_grants_any_resource (0.00s) 2026-10-18T20:51:40.610541918Z --- PASS: TestScopesGrantAdminAccess/admin_wildcard_action_grants_any_action (0.00s) 2026-10-18T20:51:40.610561807Z --- PASS: TestScopesGrantAdminAccess/full_admin_wildcard_grants_everything (0.00s) 2026-10-18T20:51:40.610581455Z --- PASS: TestScopesGrantAdminAccess/logs_read_grants_logs_resource (0.00s) 2026-10-18T20:51:40.610601681Z --- PASS: TestScopesGrantAdminAccess/status_read_does_not_grant_logs_resource (0.00s) 2026-10-18T20:51:40.610621471Z --- PASS: TestScopesGrantAdminAccess/full_admin_wildcard_grants_logs_resource (0.00s) 2026-10-18T20:51:40.610641262Z --- PASS: TestScopesGrantAdminAccess/volumes_read_grants_volumes_resource (0.00s) 2026-10-18T20:51:40.610666698Z --- PASS: TestScopesGrantAdminAccess/repository_scope_is_ignored_for_admin_access (0.00s) 2026-10-18T20:51:40.610689435Z --- PASS: TestScopesGrantAdminAccess/no_granted_scopes (0.00s) 2026-10-18T20:51:40.610709607Z --- PASS: TestScopesGrantAdminAccess/whitespace_around_scope_is_trimmed (0.00s) 2026-10-18T20:51:40.610718981Z === RUN TestParseScope_RoundTrip 2026-10-18T20:51:40.610728922Z === RUN TestParseScope_RoundTrip/repository:myrepo:pull 2026-10-18T20:51:40.610739225Z === RUN TestParseScope_RoundTrip/repository:myrepo:push,pull 2026-10-18T20:51:40.610744934Z === RUN TestParseScope_RoundTrip/repository:*:* 2026-10-18T20:51:40.610755369Z === RUN TestParseScope_RoundTrip/repository:myorg/*:push,pull 2026-10-18T20:51:40.610769197Z === RUN TestParseScope_RoundTrip/repository:myorg/team/app:pull 2026-10-18T20:51:40.610783078Z --- PASS: TestParseScope_RoundTrip (0.00s) 2026-10-18T20:51:40.61080865Z --- PASS: TestParseScope_RoundTrip/repository:myrepo:pull (0.00s) 2026-10-18T20:51:40.610824468Z --- PASS: TestParseScope_RoundTrip/repository:myrepo:push,pull (0.00s) 2026-10-18T20:51:40.610836933Z --- PASS: TestParseScope_RoundTrip/repository:*:* (0.00s) 2026-10-18T20:51:40.610852621Z --- PASS: TestParseScope_RoundTrip/repository:myorg/*:push,pull (0.00s) 2026-10-18T20:51:40.610869475Z --- PASS: TestParseScope_RoundTrip/repository:myorg/team/app:pull (0.00s) 2026-10-18T20:51:40.61087638Z === RUN TestValidateEnvKey 2026-10-18T20:51:40.610883543Z === RUN TestValidateEnvKey/simple 2026-10-18T20:51:40.610890928Z === RUN TestValidateEnvKey/with_underscore 2026-10-18T20:51:40.610900904Z === RUN TestValidateEnvKey/starts_with_underscore 2026-10-18T20:51:40.610910132Z === RUN TestValidateEnvKey/lowercase 2026-10-18T20:51:40.610916978Z === RUN TestValidateEnvKey/mixed 2026-10-18T20:51:40.610923622Z === RUN TestValidateEnvKey/empty 2026-10-18T20:51:40.610930832Z === RUN TestValidateEnvKey/starts_with_number 2026-10-18T20:51:40.610940075Z === RUN TestValidateEnvKey/contains_dot 2026-10-18T20:51:40.610949206Z === RUN TestValidateEnvKey/contains_slash 2026-10-18T20:51:40.610958508Z === RUN TestValidateEnvKey/contains_backslash 2026-10-18T20:51:40.610965589Z === RUN TestValidateEnvKey/path_traversal 2026-10-18T20:51:40.610970542Z === RUN TestValidateEnvKey/contains_hyphen 2026-10-18T20:51:40.610975108Z === RUN TestValidateEnvKey/contains_space 2026-10-18T20:51:40.610981876Z --- PASS: TestValidateEnvKey (0.00s) 2026-10-18T20:51:40.610992812Z --- PASS: TestValidateEnvKey/simple (0.00s) 2026-10-18T20:51:40.611003717Z --- PASS: TestValidateEnvKey/with_underscore (0.00s) 2026-10-18T20:51:40.611015632Z --- PASS: TestValidateEnvKey/starts_with_underscore (0.00s) 2026-10-18T20:51:40.611025719Z --- PASS: TestValidateEnvKey/lowercase (0.00s) 2026-10-18T20:51:40.611037734Z --- PASS: TestValidateEnvKey/mixed (0.00s) 2026-10-18T20:51:40.611052197Z --- PASS: TestValidateEnvKey/empty (0.00s) 2026-10-18T20:51:40.611068254Z --- PASS: TestValidateEnvKey/starts_with_number (0.00s) 2026-10-18T20:51:40.611083281Z --- PASS: TestValidateEnvKey/contains_dot (0.00s) 2026-10-18T20:51:40.611099721Z --- PASS: TestValidateEnvKey/contains_slash (0.00s) 2026-10-18T20:51:40.611121422Z --- PASS: TestValidateEnvKey/contains_backslash (0.00s) 2026-10-18T20:51:40.611138536Z --- PASS: TestValidateEnvKey/path_traversal (0.00s) 2026-10-18T20:51:40.611154055Z --- PASS: TestValidateEnvKey/contains_hyphen (0.00s) 2026-10-18T20:51:40.611169175Z --- PASS: TestValidateEnvKey/contains_space (0.00s) 2026-10-18T20:51:40.611178516Z === RUN TestContainsSecretReference 2026-10-18T20:51:40.611188385Z === RUN TestContainsSecretReference/simple_pass_reference 2026-10-18T20:51:40.611198113Z === RUN TestContainsSecretReference/simple_sops_reference 2026-10-18T20:51:40.61120751Z === RUN TestContainsSecretReference/pass_reference_in_text 2026-10-18T20:51:40.611217415Z === RUN TestContainsSecretReference/sops_reference_in_text 2026-10-18T20:51:40.61122709Z === RUN TestContainsSecretReference/no_reference_-_plain_text 2026-10-18T20:51:40.611236877Z === RUN TestContainsSecretReference/no_reference_-_dollar_sign_only 2026-10-18T20:51:40.611246687Z === RUN TestContainsSecretReference/no_reference_-_empty_braces 2026-10-18T20:51:40.611257551Z === RUN TestContainsSecretReference/no_reference_-_missing_colon 2026-10-18T20:51:40.611267497Z === RUN TestContainsSecretReference/no_reference_-_extra_braces 2026-10-18T20:51:40.611276961Z === RUN TestContainsSecretReference/normal_env_var 2026-10-18T20:51:40.611286767Z === RUN TestContainsSecretReference/value_with_equals_and_reference 2026-10-18T20:51:40.611297905Z === RUN TestContainsSecretReference/quoted_reference 2026-10-18T20:51:40.611307503Z === RUN TestContainsSecretReference/multiple_references 2026-10-18T20:51:40.611317063Z === RUN TestContainsSecretReference/case_sensitive_-_uppercase 2026-10-18T20:51:40.611326701Z === RUN TestContainsSecretReference/case_sensitive_-_mixed 2026-10-18T20:51:40.611336158Z --- PASS: TestContainsSecretReference (0.00s) 2026-10-18T20:51:40.611353942Z --- PASS: TestContainsSecretReference/simple_pass_reference (0.00s) 2026-10-18T20:51:40.6113717Z --- PASS: TestContainsSecretReference/simple_sops_reference (0.00s) 2026-10-18T20:51:40.611389925Z --- PASS: TestContainsSecretReference/pass_reference_in_text (0.00s) 2026-10-18T20:51:40.611408223Z --- PASS: TestContainsSecretReference/sops_reference_in_text (0.00s) 2026-10-18T20:51:40.611426579Z --- PASS: TestContainsSecretReference/no_reference_-_plain_text (0.00s) 2026-10-18T20:51:40.61144544Z --- PASS: TestContainsSecretReference/no_reference_-_dollar_sign_only (0.00s) 2026-10-18T20:51:40.611464053Z --- PASS: TestContainsSecretReference/no_reference_-_empty_braces (0.00s) 2026-10-18T20:51:40.611483019Z --- PASS: TestContainsSecretReference/no_reference_-_missing_colon (0.00s) 2026-10-18T20:51:40.611501627Z --- PASS: TestContainsSecretReference/no_reference_-_extra_braces (0.00s) 2026-10-18T20:51:40.611518499Z --- PASS: TestContainsSecretReference/normal_env_var (0.00s) 2026-10-18T20:51:40.611538334Z --- PASS: TestContainsSecretReference/value_with_equals_and_reference (0.00s) 2026-10-18T20:51:40.611555685Z --- PASS: TestContainsSecretReference/quoted_reference (0.00s) 2026-10-18T20:51:40.611574078Z --- PASS: TestContainsSecretReference/multiple_references (0.00s) 2026-10-18T20:51:40.611592855Z --- PASS: TestContainsSecretReference/case_sensitive_-_uppercase (0.00s) 2026-10-18T20:51:40.611610434Z --- PASS: TestContainsSecretReference/case_sensitive_-_mixed (0.00s) 2026-10-18T20:51:40.611619557Z === RUN TestDefaultHTTPOptions 2026-10-18T20:51:40.611626733Z --- PASS: TestDefaultHTTPOptions (0.00s) 2026-10-18T20:51:40.611631566Z === RUN TestHTTPOptionsWithDefaults 2026-10-18T20:51:40.611636171Z --- PASS: TestHTTPOptionsWithDefaults (0.00s) 2026-10-18T20:51:40.611640828Z === RUN TestHTTPOptionsValidateRejectsNegative 2026-10-18T20:51:40.611645709Z --- PASS: TestHTTPOptionsValidateRejectsNegative (0.00s) 2026-10-18T20:51:40.611650447Z === RUN TestTrafficGraphRejectsNegativeHTTPOptions 2026-10-18T20:51:40.611655343Z --- PASS: TestTrafficGraphRejectsNegativeHTTPOptions (0.00s) 2026-10-18T20:51:40.611659801Z === RUN TestDefaultRegistryHTTPTimeouts 2026-10-18T20:51:40.611665034Z --- PASS: TestDefaultRegistryHTTPTimeouts (0.00s) 2026-10-18T20:51:40.611669515Z === RUN TestRegistryHTTPTimeoutsValidate 2026-10-18T20:51:40.611674188Z --- PASS: TestRegistryHTTPTimeoutsValidate (0.00s) 2026-10-18T20:51:40.611678471Z === RUN TestValidOCIDigest 2026-10-18T20:51:40.611689899Z === RUN TestValidOCIDigest/sha256 2026-10-18T20:51:40.611718013Z === RUN TestValidOCIDigest/sha512 2026-10-18T20:51:40.61173126Z === RUN TestValidOCIDigest/empty 2026-10-18T20:51:40.611742535Z === RUN TestValidOCIDigest/no_algorithm 2026-10-18T20:51:40.611752217Z === RUN TestValidOCIDigest/empty_encoded 2026-10-18T20:51:40.611761609Z === RUN TestValidOCIDigest/short_encoded 2026-10-18T20:51:40.611777724Z === RUN TestValidOCIDigest/uppercase_algorithm 2026-10-18T20:51:40.611789247Z === RUN TestValidOCIDigest/non_hex 2026-10-18T20:51:40.611798651Z === RUN TestValidOCIDigest/space_inside 2026-10-18T20:51:40.611807497Z --- PASS: TestValidOCIDigest (0.00s) 2026-10-18T20:51:40.611821686Z --- PASS: TestValidOCIDigest/sha256 (0.00s) 2026-10-18T20:51:40.611836165Z --- PASS: TestValidOCIDigest/sha512 (0.00s) 2026-10-18T20:51:40.611850231Z --- PASS: TestValidOCIDigest/empty (0.00s) 2026-10-18T20:51:40.611865993Z --- PASS: TestValidOCIDigest/no_algorithm (0.00s) 2026-10-18T20:51:40.611881711Z --- PASS: TestValidOCIDigest/empty_encoded (0.00s) 2026-10-18T20:51:40.611897292Z --- PASS: TestValidOCIDigest/short_encoded (0.00s) 2026-10-18T20:51:40.611913702Z --- PASS: TestValidOCIDigest/uppercase_algorithm (0.00s) 2026-10-18T20:51:40.611928858Z --- PASS: TestValidOCIDigest/non_hex (0.00s) 2026-10-18T20:51:40.611959474Z --- PASS: TestValidOCIDigest/space_inside (0.00s) 2026-10-18T20:51:40.611965973Z === RUN TestRegistryTagRefValidation 2026-10-18T20:51:40.611971213Z --- PASS: TestRegistryTagRefValidation (0.00s) 2026-10-18T20:51:40.611978615Z === RUN TestIdentityKeysAreUnambiguous 2026-10-18T20:51:40.611988168Z --- PASS: TestIdentityKeysAreUnambiguous (0.00s) 2026-10-18T20:51:40.611995606Z === RUN TestRuntimeImageRefRejectsPlaceholders 2026-10-18T20:51:40.612005089Z --- PASS: TestRuntimeImageRefRejectsPlaceholders (0.00s) 2026-10-18T20:51:40.6120144Z === RUN TestRuntimeVolumeRefValidation 2026-10-18T20:51:40.612029996Z --- PASS: TestRuntimeVolumeRefValidation (0.00s) 2026-10-18T20:51:40.612037642Z === RUN TestPruneReasonCoverage 2026-10-18T20:51:40.612047126Z --- PASS: TestPruneReasonCoverage (0.00s) 2026-10-18T20:51:40.612056495Z === RUN TestPruneReasonWireValuesAreStable 2026-10-18T20:51:40.612066371Z --- PASS: TestPruneReasonWireValuesAreStable (0.00s) 2026-10-18T20:51:40.612075897Z === RUN TestCanonicalReasonsIsDeterministic 2026-10-18T20:51:40.612085413Z --- PASS: TestCanonicalReasonsIsDeterministic (0.00s) 2026-10-18T20:51:40.6122348Z === RUN TestValidateVerdictReasons 2026-10-18T20:51:40.612247337Z === RUN TestValidateVerdictReasons/undefined_verdict 2026-10-18T20:51:40.612254188Z === RUN TestValidateVerdictReasons/no_reasons 2026-10-18T20:51:40.612261014Z === RUN TestValidateVerdictReasons/undefined_reason 2026-10-18T20:51:40.612267604Z === RUN TestValidateVerdictReasons/reason_contradicts_verdict 2026-10-18T20:51:40.612278229Z === RUN TestValidateVerdictReasons/unknown_reason_under_protected 2026-10-18T20:51:40.612284194Z --- PASS: TestValidateVerdictReasons (0.00s) 2026-10-18T20:51:40.612297692Z --- PASS: TestValidateVerdictReasons/undefined_verdict (0.00s) 2026-10-18T20:51:40.612310474Z --- PASS: TestValidateVerdictReasons/no_reasons (0.00s) 2026-10-18T20:51:40.612334518Z --- PASS: TestValidateVerdictReasons/undefined_reason (0.00s) 2026-10-18T20:51:40.61234985Z --- PASS: TestValidateVerdictReasons/reason_contradicts_verdict (0.00s) 2026-10-18T20:51:40.612365311Z --- PASS: TestValidateVerdictReasons/unknown_reason_under_protected (0.00s) 2026-10-18T20:51:40.612371679Z === RUN TestPrunePlanValidateRejectsMalformedEntries 2026-10-18T20:51:40.612380241Z --- PASS: TestPrunePlanValidateRejectsMalformedEntries (0.00s) 2026-10-18T20:51:40.612386769Z === RUN TestPrunePlanEligibleAccessors 2026-10-18T20:51:40.612392678Z --- PASS: TestPrunePlanEligibleAccessors (0.00s) 2026-10-18T20:51:40.612398464Z === RUN TestPruneProtectionSnapshotLookups 2026-10-18T20:51:40.612404439Z --- PASS: TestPruneProtectionSnapshotLookups (0.00s) 2026-10-18T20:51:40.612412044Z === RUN TestVolumeClaimValidation 2026-10-18T20:51:40.612417641Z --- PASS: TestVolumeClaimValidation (0.00s) 2026-10-18T20:51:40.612423178Z === RUN TestRuntimeInventoryCompleteness 2026-10-18T20:51:40.612428928Z --- PASS: TestRuntimeInventoryCompleteness (0.00s) 2026-10-18T20:51:40.612436546Z === RUN TestIsValidHTTP01Token 2026-10-18T20:51:40.612442142Z === RUN TestIsValidHTTP01Token/valid 2026-10-18T20:51:40.612447776Z === RUN TestIsValidHTTP01Token/empty 2026-10-18T20:51:40.612453306Z === RUN TestIsValidHTTP01Token/slash 2026-10-18T20:51:40.612463495Z === RUN TestIsValidHTTP01Token/backslash 2026-10-18T20:51:40.612582786Z === RUN TestIsValidHTTP01Token/dot_dot 2026-10-18T20:51:40.612685938Z === RUN TestIsValidHTTP01Token/nul 2026-10-18T20:51:40.612696024Z === RUN TestIsValidHTTP01Token/too_long 2026-10-18T20:51:40.612701876Z --- PASS: TestIsValidHTTP01Token (0.00s) 2026-10-18T20:51:40.612763256Z --- PASS: TestIsValidHTTP01Token/valid (0.00s) 2026-10-18T20:51:40.612790864Z --- PASS: TestIsValidHTTP01Token/empty (0.00s) 2026-10-18T20:51:40.612807617Z --- PASS: TestIsValidHTTP01Token/slash (0.00s) 2026-10-18T20:51:40.612860726Z --- PASS: TestIsValidHTTP01Token/backslash (0.00s) 2026-10-18T20:51:40.612922083Z --- PASS: TestIsValidHTTP01Token/dot_dot (0.00s) 2026-10-18T20:51:40.612976265Z --- PASS: TestIsValidHTTP01Token/nul (0.00s) 2026-10-18T20:51:40.613032009Z --- PASS: TestIsValidHTTP01Token/too_long (0.00s) 2026-10-18T20:51:40.613078981Z === RUN TestACMEChallengeModeParse 2026-10-18T20:51:40.613125835Z --- PASS: TestACMEChallengeModeParse (0.00s) 2026-10-18T20:51:40.613169379Z === RUN TestManagedCertificateCovers 2026-10-18T20:51:40.613209306Z --- PASS: TestManagedCertificateCovers (0.00s) 2026-10-18T20:51:40.613263361Z === RUN TestManagedCertificateHealth 2026-10-18T20:51:40.613313785Z === RUN TestManagedCertificateHealth/valid_certificate_far_from_expiry 2026-10-18T20:51:40.613363779Z === RUN TestManagedCertificateHealth/expired_certificate 2026-10-18T20:51:40.613412329Z === RUN TestManagedCertificateHealth/warning_when_less_than_30_days_remain 2026-10-18T20:51:40.613459803Z === RUN TestManagedCertificateHealth/warning_exactly_at_30_day_boundary 2026-10-18T20:51:40.613515965Z === RUN TestManagedCertificateHealth/missing_when_NotAfter_is_zero 2026-10-18T20:51:40.613563544Z === RUN TestManagedCertificateHealth/error_when_LastError_is_set 2026-10-18T20:51:40.613580725Z === RUN TestManagedCertificateHealth/error_takes_priority_over_expired 2026-10-18T20:51:40.613624532Z === RUN TestManagedCertificateHealth/error_takes_priority_over_zero_NotAfter 2026-10-18T20:51:40.613644131Z --- PASS: TestManagedCertificateHealth (0.00s) 2026-10-18T20:51:40.613723496Z --- PASS: TestManagedCertificateHealth/valid_certificate_far_from_expiry (0.00s) 2026-10-18T20:51:40.613777211Z --- PASS: TestManagedCertificateHealth/expired_certificate (0.00s) 2026-10-18T20:51:40.613834885Z --- PASS: TestManagedCertificateHealth/warning_when_less_than_30_days_remain (0.00s) 2026-10-18T20:51:40.613892661Z --- PASS: TestManagedCertificateHealth/warning_exactly_at_30_day_boundary (0.00s) 2026-10-18T20:51:40.613949752Z --- PASS: TestManagedCertificateHealth/missing_when_NotAfter_is_zero (0.00s) 2026-10-18T20:51:40.614023841Z --- PASS: TestManagedCertificateHealth/error_when_LastError_is_set (0.00s) 2026-10-18T20:51:40.614086977Z --- PASS: TestManagedCertificateHealth/error_takes_priority_over_expired (0.00s) 2026-10-18T20:51:40.614146964Z --- PASS: TestManagedCertificateHealth/error_takes_priority_over_zero_NotAfter (0.00s) 2026-10-18T20:51:40.614193443Z === RUN TestRedactSecrets 2026-10-18T20:51:40.614241824Z === RUN TestRedactSecrets/password_env 2026-10-18T20:51:40.614290457Z === RUN TestRedactSecrets/token_env 2026-10-18T20:51:40.614307498Z === RUN TestRedactSecrets/secret_env 2026-10-18T20:51:40.614349261Z === RUN TestRedactSecrets/api_key_env 2026-10-18T20:51:40.614391705Z === RUN TestRedactSecrets/database_url_env 2026-10-18T20:51:40.614464381Z === RUN TestRedactSecrets/quoted_password_env_with_spaces 2026-10-18T20:51:40.614482339Z === RUN TestRedactSecrets/single_quoted_token_env_with_spaces 2026-10-18T20:51:40.61452452Z === RUN TestRedactSecrets/json_password_field 2026-10-18T20:51:40.614565066Z === RUN TestRedactSecrets/json_token_field_with_spaces 2026-10-18T20:51:40.614639085Z === RUN TestRedactSecrets/case_insensitive 2026-10-18T20:51:40.614656426Z === RUN TestRedactSecrets/prefixed_password_env 2026-10-18T20:51:40.614723281Z === RUN TestRedactSecrets/prefixed_token_env 2026-10-18T20:51:40.614739018Z === RUN TestRedactSecrets/secret_key_env 2026-10-18T20:51:40.614782722Z === RUN TestRedactSecrets/api_token_env 2026-10-18T20:51:40.614811212Z === RUN TestRedactSecrets/authorization_bearer 2026-10-18T20:51:40.614830391Z === RUN TestRedactSecrets/json_prefixed_password_field 2026-10-18T20:51:40.614845225Z === RUN TestRedactSecrets/json_secret_key_field 2026-10-18T20:51:40.614858921Z --- PASS: TestRedactSecrets (0.00s) 2026-10-18T20:51:40.61488024Z --- PASS: TestRedactSecrets/password_env (0.00s) 2026-10-18T20:51:40.614899511Z --- PASS: TestRedactSecrets/token_env (0.00s) 2026-10-18T20:51:40.614919079Z --- PASS: TestRedactSecrets/secret_env (0.00s) 2026-10-18T20:51:40.614939688Z --- PASS: TestRedactSecrets/api_key_env (0.00s) 2026-10-18T20:51:40.614959651Z --- PASS: TestRedactSecrets/database_url_env (0.00s) 2026-10-18T20:51:40.614984566Z --- PASS: TestRedactSecrets/quoted_password_env_with_spaces (0.00s) 2026-10-18T20:51:40.615008351Z --- PASS: TestRedactSecrets/single_quoted_token_env_with_spaces (0.00s) 2026-10-18T20:51:40.615029823Z --- PASS: TestRedactSecrets/json_password_field (0.00s) 2026-10-18T20:51:40.615053423Z --- PASS: TestRedactSecrets/json_token_field_with_spaces (0.00s) 2026-10-18T20:51:40.615073585Z --- PASS: TestRedactSecrets/case_insensitive (0.00s) 2026-10-18T20:51:40.615094863Z --- PASS: TestRedactSecrets/prefixed_password_env (0.00s) 2026-10-18T20:51:40.615117092Z --- PASS: TestRedactSecrets/prefixed_token_env (0.00s) 2026-10-18T20:51:40.615136473Z --- PASS: TestRedactSecrets/secret_key_env (0.00s) 2026-10-18T20:51:40.615157906Z --- PASS: TestRedactSecrets/api_token_env (0.00s) 2026-10-18T20:51:40.615178304Z --- PASS: TestRedactSecrets/authorization_bearer (0.00s) 2026-10-18T20:51:40.615195751Z --- PASS: TestRedactSecrets/json_prefixed_password_field (0.00s) 2026-10-18T20:51:40.6152116Z --- PASS: TestRedactSecrets/json_secret_key_field (0.00s) 2026-10-18T20:51:40.615225503Z === RUN TestRedactSecretLinesPreservesEmptySlice 2026-10-18T20:51:40.615231817Z --- PASS: TestRedactSecretLinesPreservesEmptySlice (0.00s) 2026-10-18T20:51:40.615245529Z === RUN TestStandaloneServiceValidateRequiresNameAndImageWhenEnabled 2026-10-18T20:51:40.615261431Z --- PASS: TestStandaloneServiceValidateRequiresNameAndImageWhenEnabled (0.00s) 2026-10-18T20:51:40.615306343Z === RUN TestStandaloneServiceValidateRejectsPaddedNames 2026-10-18T20:51:40.615327392Z --- PASS: TestStandaloneServiceValidateRejectsPaddedNames (0.00s) 2026-10-18T20:51:40.615344289Z === RUN TestStandaloneServiceValidateAllowsDisabledServiceWithoutImage 2026-10-18T20:51:40.615360924Z --- PASS: TestStandaloneServiceValidateAllowsDisabledServiceWithoutImage (0.00s) 2026-10-18T20:51:40.615372935Z === RUN TestStandaloneServiceValidatePorts 2026-10-18T20:51:40.615387214Z --- PASS: TestStandaloneServiceValidatePorts (0.00s) 2026-10-18T20:51:40.615399127Z === RUN TestStandaloneServiceValidateVolumesAndEnvFile 2026-10-18T20:51:40.615408213Z --- PASS: TestStandaloneServiceValidateVolumesAndEnvFile (0.00s) 2026-10-18T20:51:40.615417086Z === RUN TestStandaloneServiceValidateReadiness 2026-10-18T20:51:40.615432351Z === RUN TestStandaloneServiceValidateReadiness/#00 2026-10-18T20:51:40.615442632Z === RUN TestStandaloneServiceValidateReadiness/none 2026-10-18T20:51:40.615456352Z === RUN TestStandaloneServiceValidateReadiness/tcp 2026-10-18T20:51:40.615471228Z === RUN TestStandaloneServiceValidateReadiness/log 2026-10-18T20:51:40.615485194Z --- PASS: TestStandaloneServiceValidateReadiness (0.00s) 2026-10-18T20:51:40.61550752Z --- PASS: TestStandaloneServiceValidateReadiness/#00 (0.00s) 2026-10-18T20:51:40.615528912Z --- PASS: TestStandaloneServiceValidateReadiness/none (0.00s) 2026-10-18T20:51:40.615550062Z --- PASS: TestStandaloneServiceValidateReadiness/tcp (0.00s) 2026-10-18T20:51:40.615572382Z --- PASS: TestStandaloneServiceValidateReadiness/log (0.00s) 2026-10-18T20:51:40.615585992Z === RUN TestStandaloneServiceWithDefaultsCleanup 2026-10-18T20:51:40.615608047Z --- PASS: TestStandaloneServiceWithDefaultsCleanup (0.00s) 2026-10-18T20:51:40.615622806Z === RUN TestStandaloneServiceValidateRejectsDuplicateVolumeTargets 2026-10-18T20:51:40.61563754Z --- PASS: TestStandaloneServiceValidateRejectsDuplicateVolumeTargets (0.00s) 2026-10-18T20:51:40.615653418Z === RUN TestTrafficGraphSmartTCPAllowsHTTPTLSPassthroughAndExplicitRawFallback 2026-10-18T20:51:40.61566886Z --- PASS: TestTrafficGraphSmartTCPAllowsHTTPTLSPassthroughAndExplicitRawFallback (0.00s) 2026-10-18T20:51:40.615683898Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation 2026-10-18T20:51:40.615700404Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_rejected_by_default 2026-10-18T20:51:40.615720325Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_cidrs_require_raw_fallback_on_smart_tcp 2026-10-18T20:51:40.615739822Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_flag_requires_raw_fallback_on_smart_tcp 2026-10-18T20:51:40.615755667Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/missing_raw_fallback_router_rejected 2026-10-18T20:51:40.615770498Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_must_reference_tcp_router 2026-10-18T20:51:40.615792312Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/invalid_raw_fallback_trusted_cidr_rejected 2026-10-18T20:51:40.6158085Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_rejected_on_tcp_entrypoint 2026-10-18T20:51:40.615824284Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_cidrs_rejected_on_tls_mux_entrypoint 2026-10-18T20:51:40.615841059Z === RUN TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_flag_rejected_on_udp_entrypoint 2026-10-18T20:51:40.615855423Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation (0.00s) 2026-10-18T20:51:40.615884873Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_rejected_by_default (0.00s) 2026-10-18T20:51:40.615913948Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_cidrs_require_raw_fallback_on_smart_tcp (0.00s) 2026-10-18T20:51:40.615961432Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_flag_requires_raw_fallback_on_smart_tcp (0.00s) 2026-10-18T20:51:40.61600419Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/missing_raw_fallback_router_rejected (0.00s) 2026-10-18T20:51:40.616045009Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_must_reference_tcp_router (0.00s) 2026-10-18T20:51:40.616075486Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/invalid_raw_fallback_trusted_cidr_rejected (0.00s) 2026-10-18T20:51:40.616105499Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_rejected_on_tcp_entrypoint (0.00s) 2026-10-18T20:51:40.616133495Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/raw_fallback_cidrs_rejected_on_tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.616162174Z --- PASS: TestTrafficGraphSmartTCPRawFallbackValidation/public_raw_fallback_flag_rejected_on_udp_entrypoint (0.00s) 2026-10-18T20:51:40.616177969Z === RUN TestTrafficGraphSmartTCPRejectsHTTPHostAndTLSSNIConflict 2026-10-18T20:51:40.616192244Z --- PASS: TestTrafficGraphSmartTCPRejectsHTTPHostAndTLSSNIConflict (0.00s) 2026-10-18T20:51:40.616211722Z === RUN TestTrafficGraphValidateEntryPoints 2026-10-18T20:51:40.616228425Z === RUN TestTrafficGraphValidateEntryPoints/duplicate_entrypoint_names 2026-10-18T20:51:40.616242623Z === RUN TestTrafficGraphValidateEntryPoints/invalid_entrypoint_address 2026-10-18T20:51:40.616259272Z === RUN TestTrafficGraphValidateEntryPoints/http_entrypoint_protocol_is_unsupported 2026-10-18T20:51:40.616279139Z === RUN TestTrafficGraphValidateEntryPoints/invalid_entrypoint_protocol 2026-10-18T20:51:40.61629468Z === RUN TestTrafficGraphValidateEntryPoints/duplicate_tcp_address_rejected 2026-10-18T20:51:40.616310618Z === RUN TestTrafficGraphValidateEntryPoints/duplicate_udp_address_rejected 2026-10-18T20:51:40.616326415Z === RUN TestTrafficGraphValidateEntryPoints/tcp_wildcard_address_conflicts_with_ipv4_specific_bind 2026-10-18T20:51:40.616350222Z === RUN TestTrafficGraphValidateEntryPoints/tcp_wildcard_address_conflicts_with_ipv6_wildcard_bind 2026-10-18T20:51:40.616362172Z === RUN TestTrafficGraphValidateEntryPoints/tcp_and_udp_same_numeric_port_allowed 2026-10-18T20:51:40.616371775Z === RUN TestTrafficGraphValidateEntryPoints/invalid_trusted_cidr_rejected 2026-10-18T20:51:40.616380542Z --- PASS: TestTrafficGraphValidateEntryPoints (0.00s) 2026-10-18T20:51:40.616399311Z --- PASS: TestTrafficGraphValidateEntryPoints/duplicate_entrypoint_names (0.00s) 2026-10-18T20:51:40.616423121Z --- PASS: TestTrafficGraphValidateEntryPoints/invalid_entrypoint_address (0.00s) 2026-10-18T20:51:40.616449774Z --- PASS: TestTrafficGraphValidateEntryPoints/http_entrypoint_protocol_is_unsupported (0.00s) 2026-10-18T20:51:40.616473692Z --- PASS: TestTrafficGraphValidateEntryPoints/invalid_entrypoint_protocol (0.00s) 2026-10-18T20:51:40.616499526Z --- PASS: TestTrafficGraphValidateEntryPoints/duplicate_tcp_address_rejected (0.00s) 2026-10-18T20:51:40.616523694Z --- PASS: TestTrafficGraphValidateEntryPoints/duplicate_udp_address_rejected (0.00s) 2026-10-18T20:51:40.616550653Z --- PASS: TestTrafficGraphValidateEntryPoints/tcp_wildcard_address_conflicts_with_ipv4_specific_bind (0.00s) 2026-10-18T20:51:40.616579613Z --- PASS: TestTrafficGraphValidateEntryPoints/tcp_wildcard_address_conflicts_with_ipv6_wildcard_bind (0.00s) 2026-10-18T20:51:40.616604861Z --- PASS: TestTrafficGraphValidateEntryPoints/tcp_and_udp_same_numeric_port_allowed (0.00s) 2026-10-18T20:51:40.616628899Z --- PASS: TestTrafficGraphValidateEntryPoints/invalid_trusted_cidr_rejected (0.00s) 2026-10-18T20:51:40.616644125Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility 2026-10-18T20:51:40.61665926Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_accepts_tls_mux_entrypoint 2026-10-18T20:51:40.616676631Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_accepts_tls_mux_entrypoint 2026-10-18T20:51:40.616692087Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_accepts_tcp_entrypoint 2026-10-18T20:51:40.616707328Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_accepts_udp_entrypoint 2026-10-18T20:51:40.616720635Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_rejects_udp_entrypoint 2026-10-18T20:51:40.616731244Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_rejects_tcp_entrypoint 2026-10-18T20:51:40.61674201Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_rejects_tcp_entrypoint 2026-10-18T20:51:40.616753043Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_rejects_tls_mux_entrypoint 2026-10-18T20:51:40.616767671Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_rejects_udp_entrypoint 2026-10-18T20:51:40.616780554Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_rejects_tls_mux_entrypoint 2026-10-18T20:51:40.616791592Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_rejects_udp_entrypoint 2026-10-18T20:51:40.616803756Z === RUN TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_rejects_tcp_entrypoint_per_tls_mux_spec 2026-10-18T20:51:40.616822726Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility (0.00s) 2026-10-18T20:51:40.616853087Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_accepts_tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.616885536Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_accepts_tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.616913937Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_accepts_tcp_entrypoint (0.00s) 2026-10-18T20:51:40.616938198Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_accepts_udp_entrypoint (0.00s) 2026-10-18T20:51:40.616966417Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_rejects_udp_entrypoint (0.00s) 2026-10-18T20:51:40.61699492Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/http_router_rejects_tcp_entrypoint (0.00s) 2026-10-18T20:51:40.617022941Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_rejects_tcp_entrypoint (0.00s) 2026-10-18T20:51:40.617053588Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/udp_router_rejects_tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.617087058Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_rejects_udp_entrypoint (0.00s) 2026-10-18T20:51:40.617117125Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tcp_router_rejects_tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.617149766Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_rejects_udp_entrypoint (0.00s) 2026-10-18T20:51:40.617182294Z --- PASS: TestTrafficGraphValidateRouterEntryPointProtocolCompatibility/tls_passthrough_router_rejects_tcp_entrypoint_per_tls_mux_spec (0.00s) 2026-10-18T20:51:40.617196531Z === RUN TestTrafficGraphValidateRouterNames 2026-10-18T20:51:40.617212407Z === RUN TestTrafficGraphValidateRouterNames/router_name_is_required 2026-10-18T20:51:40.617232733Z === RUN TestTrafficGraphValidateRouterNames/duplicate_router_names_rejected 2026-10-18T20:51:40.617247966Z --- PASS: TestTrafficGraphValidateRouterNames (0.00s) 2026-10-18T20:51:40.61727904Z --- PASS: TestTrafficGraphValidateRouterNames/router_name_is_required (0.00s) 2026-10-18T20:51:40.617304598Z --- PASS: TestTrafficGraphValidateRouterNames/duplicate_router_names_rejected (0.00s) 2026-10-18T20:51:40.617320177Z === RUN TestTrafficGraphValidateDuplicateHTTPHosts 2026-10-18T20:51:40.617334186Z === RUN TestTrafficGraphValidateDuplicateHTTPHosts/tls_mux_entrypoint 2026-10-18T20:51:40.617348733Z --- PASS: TestTrafficGraphValidateDuplicateHTTPHosts (0.00s) 2026-10-18T20:51:40.617369727Z --- PASS: TestTrafficGraphValidateDuplicateHTTPHosts/tls_mux_entrypoint (0.00s) 2026-10-18T20:51:40.617378857Z === RUN TestTrafficGraphValidateAmbiguousL4Routers 2026-10-18T20:51:40.617388986Z === RUN TestTrafficGraphValidateAmbiguousL4Routers/multiple_tcp_routers_on_same_entrypoint_rejected 2026-10-18T20:51:40.617399396Z === RUN TestTrafficGraphValidateAmbiguousL4Routers/multiple_udp_routers_on_same_entrypoint_rejected 2026-10-18T20:51:40.617413002Z --- PASS: TestTrafficGraphValidateAmbiguousL4Routers (0.00s) 2026-10-18T20:51:40.61744374Z --- PASS: TestTrafficGraphValidateAmbiguousL4Routers/multiple_tcp_routers_on_same_entrypoint_rejected (0.00s) 2026-10-18T20:51:40.617472102Z --- PASS: TestTrafficGraphValidateAmbiguousL4Routers/multiple_udp_routers_on_same_entrypoint_rejected (0.00s) 2026-10-18T20:51:40.617486345Z === RUN TestTrafficGraphValidateTLSRules 2026-10-18T20:51:40.617498554Z === RUN TestTrafficGraphValidateTLSRules/duplicate_exact_tls_sni_on_same_entrypoint_rejected 2026-10-18T20:51:40.617540961Z === RUN TestTrafficGraphValidateTLSRules/exact_sni_plus_wildcard_deterministic_allowed 2026-10-18T20:51:40.61756149Z === RUN TestTrafficGraphValidateTLSRules/duplicate_wildcard_sni_rejected 2026-10-18T20:51:40.617580688Z === RUN TestTrafficGraphValidateTLSRules/nested_wildcard_sni_overlap_rejected 2026-10-18T20:51:40.617604518Z === RUN TestTrafficGraphValidateTLSRules/tls_passthrough_requires_sni 2026-10-18T20:51:40.617629352Z === RUN TestTrafficGraphValidateTLSRules/http_host_and_tls_passthrough_sni_conflict_rejected 2026-10-18T20:51:40.61765414Z === RUN TestTrafficGraphValidateTLSRules/http_host_conflicts_with_later_wildcard_tls_passthrough_sni 2026-10-18T20:51:40.617680494Z === RUN TestTrafficGraphValidateTLSRules/http_host_conflicts_with_earlier_wildcard_tls_passthrough_sni 2026-10-18T20:51:40.617695557Z --- PASS: TestTrafficGraphValidateTLSRules (0.00s) 2026-10-18T20:51:40.617717779Z --- PASS: TestTrafficGraphValidateTLSRules/duplicate_exact_tls_sni_on_same_entrypoint_rejected (0.00s) 2026-10-18T20:51:40.617741157Z --- PASS: TestTrafficGraphValidateTLSRules/exact_sni_plus_wildcard_deterministic_allowed (0.00s) 2026-10-18T20:51:40.617764511Z --- PASS: TestTrafficGraphValidateTLSRules/duplicate_wildcard_sni_rejected (0.00s) 2026-10-18T20:51:40.617790849Z --- PASS: TestTrafficGraphValidateTLSRules/nested_wildcard_sni_overlap_rejected (0.00s) 2026-10-18T20:51:40.617814157Z --- PASS: TestTrafficGraphValidateTLSRules/tls_passthrough_requires_sni (0.00s) 2026-10-18T20:51:40.617840787Z --- PASS: TestTrafficGraphValidateTLSRules/http_host_and_tls_passthrough_sni_conflict_rejected (0.00s) 2026-10-18T20:51:40.61786995Z --- PASS: TestTrafficGraphValidateTLSRules/http_host_conflicts_with_later_wildcard_tls_passthrough_sni (0.00s) 2026-10-18T20:51:40.617895587Z --- PASS: TestTrafficGraphValidateTLSRules/http_host_conflicts_with_earlier_wildcard_tls_passthrough_sni (0.00s) 2026-10-18T20:51:40.61790991Z === RUN TestTrafficGraphValidateBackendsAndL4Routers 2026-10-18T20:51:40.617922294Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/backend_host_required 2026-10-18T20:51:40.617932686Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/backend_ports_outside_range_rejected_low 2026-10-18T20:51:40.617952274Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/backend_ports_outside_range_rejected_high 2026-10-18T20:51:40.617964879Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/l4_routers_reject_services_with_more_than_one_backend 2026-10-18T20:51:40.617975246Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/tcp_router_requires_tcp_network_backend 2026-10-18T20:51:40.617988373Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/udp_router_requires_udp_network_backend 2026-10-18T20:51:40.618003797Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/tls_passthrough_requires_tcp_network_backend 2026-10-18T20:51:40.618015354Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/l4_router_rejects_route_ref 2026-10-18T20:51:40.618026508Z === RUN TestTrafficGraphValidateBackendsAndL4Routers/static_ref_parses_but_graph_validation_rejects_unsupported 2026-10-18T20:51:40.61803641Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers (0.00s) 2026-10-18T20:51:40.618055929Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/backend_host_required (0.00s) 2026-10-18T20:51:40.618077736Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/backend_ports_outside_range_rejected_low (0.00s) 2026-10-18T20:51:40.618104913Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/backend_ports_outside_range_rejected_high (0.00s) 2026-10-18T20:51:40.618135348Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/l4_routers_reject_services_with_more_than_one_backend (0.00s) 2026-10-18T20:51:40.618160993Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/tcp_router_requires_tcp_network_backend (0.00s) 2026-10-18T20:51:40.618194908Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/udp_router_requires_udp_network_backend (0.00s) 2026-10-18T20:51:40.618246779Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/tls_passthrough_requires_tcp_network_backend (0.00s) 2026-10-18T20:51:40.61827805Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/l4_router_rejects_route_ref (0.00s) 2026-10-18T20:51:40.618306792Z --- PASS: TestTrafficGraphValidateBackendsAndL4Routers/static_ref_parses_but_graph_validation_rejects_unsupported (0.00s) 2026-10-18T20:51:40.618321839Z === RUN TestTrafficGraphValidateL4ServiceRefs 2026-10-18T20:51:40.61833596Z === RUN TestTrafficGraphValidateL4ServiceRefs/tcp_allows_service_ref_with_tcp_backend 2026-10-18T20:51:40.61834799Z === RUN TestTrafficGraphValidateL4ServiceRefs/udp_allows_service_ref_with_udp_backend 2026-10-18T20:51:40.618358549Z === RUN TestTrafficGraphValidateL4ServiceRefs/tls_passthrough_allows_service_ref_with_tcp_backend 2026-10-18T20:51:40.618370291Z --- PASS: TestTrafficGraphValidateL4ServiceRefs (0.00s) 2026-10-18T20:51:40.618396495Z --- PASS: TestTrafficGraphValidateL4ServiceRefs/tcp_allows_service_ref_with_tcp_backend (0.00s) 2026-10-18T20:51:40.618421183Z --- PASS: TestTrafficGraphValidateL4ServiceRefs/udp_allows_service_ref_with_udp_backend (0.00s) 2026-10-18T20:51:40.618446848Z --- PASS: TestTrafficGraphValidateL4ServiceRefs/tls_passthrough_allows_service_ref_with_tcp_backend (0.00s) 2026-10-18T20:51:40.618460487Z === RUN TestTrafficGraphValidateHTTPServiceRefs 2026-10-18T20:51:40.618473383Z === RUN TestTrafficGraphValidateHTTPServiceRefs/http_allows_route 2026-10-18T20:51:40.61848379Z === RUN TestTrafficGraphValidateHTTPServiceRefs/http_allows_external_route 2026-10-18T20:51:40.618504138Z === RUN TestTrafficGraphValidateHTTPServiceRefs/http_rejects_network_service 2026-10-18T20:51:40.618516854Z === RUN TestTrafficGraphValidateHTTPServiceRefs/http_rejects_service 2026-10-18T20:51:40.6185283Z === RUN TestTrafficGraphValidateHTTPServiceRefs/http_rejects_static 2026-10-18T20:51:40.618547159Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs (0.00s) 2026-10-18T20:51:40.618569453Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs/http_allows_route (0.00s) 2026-10-18T20:51:40.618591777Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs/http_allows_external_route (0.00s) 2026-10-18T20:51:40.618627855Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs/http_rejects_network_service (0.00s) 2026-10-18T20:51:40.61865337Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs/http_rejects_service (0.00s) 2026-10-18T20:51:40.61867697Z --- PASS: TestTrafficGraphValidateHTTPServiceRefs/http_rejects_static (0.00s) 2026-10-18T20:51:40.618690975Z === RUN TestTrafficGraphValidateRouterServiceRefs 2026-10-18T20:51:40.61870689Z === RUN TestTrafficGraphValidateRouterServiceRefs/router_service_ref_is_parsed 2026-10-18T20:51:40.618726523Z === RUN TestTrafficGraphValidateRouterServiceRefs/router_service_ref_must_exist_as_service_name 2026-10-18T20:51:40.618744433Z --- PASS: TestTrafficGraphValidateRouterServiceRefs (0.00s) 2026-10-18T20:51:40.618776239Z --- PASS: TestTrafficGraphValidateRouterServiceRefs/router_service_ref_is_parsed (0.00s) 2026-10-18T20:51:40.61880481Z --- PASS: TestTrafficGraphValidateRouterServiceRefs/router_service_ref_must_exist_as_service_name (0.00s) 2026-10-18T20:51:40.618818286Z === RUN TestTrafficServiceRef 2026-10-18T20:51:40.618832756Z --- PASS: TestTrafficServiceRef (0.00s) 2026-10-18T20:51:40.618846264Z === RUN TestParseTrafficServiceRef 2026-10-18T20:51:40.618861311Z === RUN TestParseTrafficServiceRef/route:app.example.com 2026-10-18T20:51:40.618875077Z === RUN TestParseTrafficServiceRef/external_route:api.example.com 2026-10-18T20:51:40.618891253Z === RUN TestParseTrafficServiceRef/network_service:postgres:db 2026-10-18T20:51:40.618905144Z === RUN TestParseTrafficServiceRef/network_service:web:http 2026-10-18T20:51:40.61891875Z === RUN TestParseTrafficServiceRef/network_service:game:game 2026-10-18T20:51:40.618933597Z === RUN TestParseTrafficServiceRef/service:rust:game 2026-10-18T20:51:40.618947127Z === RUN TestParseTrafficServiceRef/static:maintenance 2026-10-18T20:51:40.618960306Z === RUN TestParseTrafficServiceRef/invalid_ 2026-10-18T20:51:40.618975374Z === RUN TestParseTrafficServiceRef/invalid_route: 2026-10-18T20:51:40.618989138Z === RUN TestParseTrafficServiceRef/invalid_external_route: 2026-10-18T20:51:40.619005041Z === RUN TestParseTrafficServiceRef/invalid_network_service: 2026-10-18T20:51:40.619018833Z === RUN TestParseTrafficServiceRef/invalid_network_service:postgres 2026-10-18T20:51:40.619032783Z === RUN TestParseTrafficServiceRef/invalid_network_service:postgres: 2026-10-18T20:51:40.61904886Z === RUN TestParseTrafficServiceRef/invalid_network_service::db 2026-10-18T20:51:40.619063822Z === RUN TestParseTrafficServiceRef/invalid_network_service:postgres:db:extra 2026-10-18T20:51:40.619073547Z === RUN TestParseTrafficServiceRef/invalid_service: 2026-10-18T20:51:40.619084139Z === RUN TestParseTrafficServiceRef/invalid_service:rust 2026-10-18T20:51:40.619099228Z === RUN TestParseTrafficServiceRef/invalid_service:rust: 2026-10-18T20:51:40.619110126Z === RUN TestParseTrafficServiceRef/invalid_service::game 2026-10-18T20:51:40.619124159Z === RUN TestParseTrafficServiceRef/invalid_service:rust:game:extra 2026-10-18T20:51:40.619138605Z === RUN TestParseTrafficServiceRef/invalid_static: 2026-10-18T20:51:40.619154121Z === RUN TestParseTrafficServiceRef/invalid_unknown:value 2026-10-18T20:51:40.619174219Z --- PASS: TestParseTrafficServiceRef (0.00s) 2026-10-18T20:51:40.61919885Z --- PASS: TestParseTrafficServiceRef/route:app.example.com (0.00s) 2026-10-18T20:51:40.619222798Z --- PASS: TestParseTrafficServiceRef/external_route:api.example.com (0.00s) 2026-10-18T20:51:40.619246706Z --- PASS: TestParseTrafficServiceRef/network_service:postgres:db (0.00s) 2026-10-18T20:51:40.619270683Z --- PASS: TestParseTrafficServiceRef/network_service:web:http (0.00s) 2026-10-18T20:51:40.619293051Z --- PASS: TestParseTrafficServiceRef/network_service:game:game (0.00s) 2026-10-18T20:51:40.619314217Z --- PASS: TestParseTrafficServiceRef/service:rust:game (0.00s) 2026-10-18T20:51:40.61933658Z --- PASS: TestParseTrafficServiceRef/static:maintenance (0.00s) 2026-10-18T20:51:40.619356479Z --- PASS: TestParseTrafficServiceRef/invalid_ (0.00s) 2026-10-18T20:51:40.619378654Z --- PASS: TestParseTrafficServiceRef/invalid_route: (0.00s) 2026-10-18T20:51:40.619396339Z --- PASS: TestParseTrafficServiceRef/invalid_external_route: (0.00s) 2026-10-18T20:51:40.619413549Z --- PASS: TestParseTrafficServiceRef/invalid_network_service: (0.00s) 2026-10-18T20:51:40.619432413Z --- PASS: TestParseTrafficServiceRef/invalid_network_service:postgres (0.00s) 2026-10-18T20:51:40.619455357Z --- PASS: TestParseTrafficServiceRef/invalid_network_service:postgres: (0.00s) 2026-10-18T20:51:40.619475177Z --- PASS: TestParseTrafficServiceRef/invalid_network_service::db (0.00s) 2026-10-18T20:51:40.619494957Z --- PASS: TestParseTrafficServiceRef/invalid_network_service:postgres:db:extra (0.00s) 2026-10-18T20:51:40.61951519Z --- PASS: TestParseTrafficServiceRef/invalid_service: (0.00s) 2026-10-18T20:51:40.619536312Z --- PASS: TestParseTrafficServiceRef/invalid_service:rust (0.00s) 2026-10-18T20:51:40.619565854Z --- PASS: TestParseTrafficServiceRef/invalid_service:rust: (0.00s) 2026-10-18T20:51:40.619590218Z --- PASS: TestParseTrafficServiceRef/invalid_service::game (0.00s) 2026-10-18T20:51:40.619614452Z --- PASS: TestParseTrafficServiceRef/invalid_service:rust:game:extra (0.00s) 2026-10-18T20:51:40.619637488Z --- PASS: TestParseTrafficServiceRef/invalid_static: (0.00s) 2026-10-18T20:51:40.619659615Z --- PASS: TestParseTrafficServiceRef/invalid_unknown:value (0.00s) 2026-10-18T20:51:40.619674715Z === RUN TestTrafficGraphValidateRejectsInvalidOptions 2026-10-18T20:51:40.619686751Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_dial_timeout 2026-10-18T20:51:40.619696189Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_idle_timeout 2026-10-18T20:51:40.619705675Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_drain_timeout 2026-10-18T20:51:40.619715735Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_max_connections 2026-10-18T20:51:40.619732762Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_idle_timeout 2026-10-18T20:51:40.619745669Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_drain_timeout 2026-10-18T20:51:40.619755965Z === RUN TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_max_sessions 2026-10-18T20:51:40.619798067Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions (0.00s) 2026-10-18T20:51:40.619825595Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_dial_timeout (0.00s) 2026-10-18T20:51:40.619852462Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_idle_timeout (0.00s) 2026-10-18T20:51:40.61987429Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_drain_timeout (0.00s) 2026-10-18T20:51:40.619900124Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_tcp_max_connections (0.00s) 2026-10-18T20:51:40.619926907Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_idle_timeout (0.00s) 2026-10-18T20:51:40.619951679Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_drain_timeout (0.00s) 2026-10-18T20:51:40.619976634Z --- PASS: TestTrafficGraphValidateRejectsInvalidOptions/negative_udp_max_sessions (0.00s) 2026-10-18T20:51:40.619990866Z === RUN TestTrafficDomainTypesMatchSpecFields 2026-10-18T20:51:40.620000881Z --- PASS: TestTrafficDomainTypesMatchSpecFields (0.00s) 2026-10-18T20:51:40.620009606Z === RUN TestIsValidRouteDomain 2026-10-18T20:51:40.620018144Z === RUN TestIsValidRouteDomain/valid_domain 2026-10-18T20:51:40.620026494Z === RUN TestIsValidRouteDomain/valid_subdomain 2026-10-18T20:51:40.620039286Z === RUN TestIsValidRouteDomain/valid_single_subdomain 2026-10-18T20:51:40.620050908Z === RUN TestIsValidRouteDomain/valid_with_hyphens 2026-10-18T20:51:40.620063964Z === RUN TestIsValidRouteDomain/empty_domain 2026-10-18T20:51:40.620073118Z === RUN TestIsValidRouteDomain/IPv4_address 2026-10-18T20:51:40.620083419Z === RUN TestIsValidRouteDomain/IPv4_with_path 2026-10-18T20:51:40.62009196Z === RUN TestIsValidRouteDomain/IPv4_localhost 2026-10-18T20:51:40.620100151Z === RUN TestIsValidRouteDomain/IPv6_address 2026-10-18T20:51:40.620113111Z === RUN TestIsValidRouteDomain/IPv6_full 2026-10-18T20:51:40.620123004Z === RUN TestIsValidRouteDomain/IPv6_bracketed 2026-10-18T20:51:40.62013245Z === RUN TestIsValidRouteDomain/IPv6_with_zone 2026-10-18T20:51:40.620148629Z === RUN TestIsValidRouteDomain/localhost 2026-10-18T20:51:40.620161068Z === RUN TestIsValidRouteDomain/localhost.localdomain 2026-10-18T20:51:40.620170251Z === RUN TestIsValidRouteDomain/dot_local 2026-10-18T20:51:40.620184094Z === RUN TestIsValidRouteDomain/dot_internal 2026-10-18T20:51:40.620192788Z === RUN TestIsValidRouteDomain/subdomain_local 2026-10-18T20:51:40.6202012Z === RUN TestIsValidRouteDomain/with_port 2026-10-18T20:51:40.620210096Z === RUN TestIsValidRouteDomain/localhost_with_port 2026-10-18T20:51:40.620218562Z === RUN TestIsValidRouteDomain/IP_with_port 2026-10-18T20:51:40.620229831Z === RUN TestIsValidRouteDomain/with_scheme 2026-10-18T20:51:40.620239697Z === RUN TestIsValidRouteDomain/with_path 2026-10-18T20:51:40.620253839Z === RUN TestIsValidRouteDomain/with_query 2026-10-18T20:51:40.620286336Z === RUN TestIsValidRouteDomain/wildcard 2026-10-18T20:51:40.620303957Z === RUN TestIsValidRouteDomain/star_anywhere 2026-10-18T20:51:40.620320244Z === RUN TestIsValidRouteDomain/single_label 2026-10-18T20:51:40.620340605Z === RUN TestIsValidRouteDomain/single_label_numeric 2026-10-18T20:51:40.620368511Z === RUN TestIsValidRouteDomain/trailing_dot 2026-10-18T20:51:40.620378782Z === RUN TestIsValidRouteDomain/leading_dot 2026-10-18T20:51:40.620393894Z === RUN TestIsValidRouteDomain/double_dots 2026-10-18T20:51:40.62040476Z === RUN TestIsValidRouteDomain/label_starts_with_hyphen 2026-10-18T20:51:40.620413709Z === RUN TestIsValidRouteDomain/label_ends_with_hyphen 2026-10-18T20:51:40.620428924Z === RUN TestIsValidRouteDomain/label_starts_and_ends_with_hyphen 2026-10-18T20:51:40.620439236Z === RUN TestIsValidRouteDomain/root_label_starts_with_hyphen 2026-10-18T20:51:40.620448197Z === RUN TestIsValidRouteDomain/root_label_ends_with_hyphen 2026-10-18T20:51:40.620456656Z === RUN TestIsValidRouteDomain/label_too_long 2026-10-18T20:51:40.620474106Z === RUN TestIsValidRouteDomain/hostname_too_long 2026-10-18T20:51:40.620490466Z === RUN TestIsValidRouteDomain/dot_localhost_suffix 2026-10-18T20:51:40.62050397Z === RUN TestIsValidRouteDomain/deep_localhost_suffix 2026-10-18T20:51:40.620517725Z === RUN TestIsValidRouteDomain/mixed_case_localhost_suffix 2026-10-18T20:51:40.620528032Z --- PASS: TestIsValidRouteDomain (0.00s) 2026-10-18T20:51:40.620543021Z --- PASS: TestIsValidRouteDomain/valid_domain (0.00s) 2026-10-18T20:51:40.620562295Z --- PASS: TestIsValidRouteDomain/valid_subdomain (0.00s) 2026-10-18T20:51:40.620584303Z --- PASS: TestIsValidRouteDomain/valid_single_subdomain (0.00s) 2026-10-18T20:51:40.620611981Z --- PASS: TestIsValidRouteDomain/valid_with_hyphens (0.00s) 2026-10-18T20:51:40.620633044Z --- PASS: TestIsValidRouteDomain/empty_domain (0.00s) 2026-10-18T20:51:40.620653112Z --- PASS: TestIsValidRouteDomain/IPv4_address (0.00s) 2026-10-18T20:51:40.620674531Z --- PASS: TestIsValidRouteDomain/IPv4_with_path (0.00s) 2026-10-18T20:51:40.620701516Z --- PASS: TestIsValidRouteDomain/IPv4_localhost (0.00s) 2026-10-18T20:51:40.620722111Z --- PASS: TestIsValidRouteDomain/IPv6_address (0.00s) 2026-10-18T20:51:40.620739784Z --- PASS: TestIsValidRouteDomain/IPv6_full (0.00s) 2026-10-18T20:51:40.620755183Z --- PASS: TestIsValidRouteDomain/IPv6_bracketed (0.00s) 2026-10-18T20:51:40.620770171Z --- PASS: TestIsValidRouteDomain/IPv6_with_zone (0.00s) 2026-10-18T20:51:40.620789087Z --- PASS: TestIsValidRouteDomain/localhost (0.00s) 2026-10-18T20:51:40.620807322Z --- PASS: TestIsValidRouteDomain/localhost.localdomain (0.00s) 2026-10-18T20:51:40.620824063Z --- PASS: TestIsValidRouteDomain/dot_local (0.00s) 2026-10-18T20:51:40.620848048Z --- PASS: TestIsValidRouteDomain/dot_internal (0.00s) 2026-10-18T20:51:40.620865132Z --- PASS: TestIsValidRouteDomain/subdomain_local (0.00s) 2026-10-18T20:51:40.620887126Z --- PASS: TestIsValidRouteDomain/with_port (0.00s) 2026-10-18T20:51:40.620906693Z --- PASS: TestIsValidRouteDomain/localhost_with_port (0.00s) 2026-10-18T20:51:40.620922312Z --- PASS: TestIsValidRouteDomain/IP_with_port (0.00s) 2026-10-18T20:51:40.620940528Z --- PASS: TestIsValidRouteDomain/with_scheme (0.00s) 2026-10-18T20:51:40.620958216Z --- PASS: TestIsValidRouteDomain/with_path (0.00s) 2026-10-18T20:51:40.620974576Z --- PASS: TestIsValidRouteDomain/with_query (0.00s) 2026-10-18T20:51:40.620991945Z --- PASS: TestIsValidRouteDomain/wildcard (0.00s) 2026-10-18T20:51:40.621012006Z --- PASS: TestIsValidRouteDomain/star_anywhere (0.00s) 2026-10-18T20:51:40.621034224Z --- PASS: TestIsValidRouteDomain/single_label (0.00s) 2026-10-18T20:51:40.621058651Z --- PASS: TestIsValidRouteDomain/single_label_numeric (0.00s) 2026-10-18T20:51:40.621083257Z --- PASS: TestIsValidRouteDomain/trailing_dot (0.00s) 2026-10-18T20:51:40.62113062Z --- PASS: TestIsValidRouteDomain/leading_dot (0.00s) 2026-10-18T20:51:40.621167651Z --- PASS: TestIsValidRouteDomain/double_dots (0.00s) 2026-10-18T20:51:40.621201789Z --- PASS: TestIsValidRouteDomain/label_starts_with_hyphen (0.00s) 2026-10-18T20:51:40.621270359Z --- PASS: TestIsValidRouteDomain/label_ends_with_hyphen (0.00s) 2026-10-18T20:51:40.621299089Z --- PASS: TestIsValidRouteDomain/label_starts_and_ends_with_hyphen (0.00s) 2026-10-18T20:51:40.621321056Z --- PASS: TestIsValidRouteDomain/root_label_starts_with_hyphen (0.00s) 2026-10-18T20:51:40.621339269Z --- PASS: TestIsValidRouteDomain/root_label_ends_with_hyphen (0.00s) 2026-10-18T20:51:40.621355842Z --- PASS: TestIsValidRouteDomain/label_too_long (0.00s) 2026-10-18T20:51:40.621372901Z --- PASS: TestIsValidRouteDomain/hostname_too_long (0.00s) 2026-10-18T20:51:40.621390945Z --- PASS: TestIsValidRouteDomain/dot_localhost_suffix (0.00s) 2026-10-18T20:51:40.621408377Z --- PASS: TestIsValidRouteDomain/deep_localhost_suffix (0.00s) 2026-10-18T20:51:40.621428337Z --- PASS: TestIsValidRouteDomain/mixed_case_localhost_suffix (0.00s) 2026-10-18T20:51:40.621436362Z === RUN TestAppSpec_ValidateBindsOK 2026-10-18T20:51:40.621442063Z --- PASS: TestAppSpec_ValidateBindsOK (0.00s) 2026-10-18T20:51:40.621446666Z === RUN TestAppSpec_ValidateBindErrors 2026-10-18T20:51:40.62145175Z === RUN TestAppSpec_ValidateBindErrors/bad_bind_name 2026-10-18T20:51:40.62145729Z === RUN TestAppSpec_ValidateBindErrors/reserved_separator_name 2026-10-18T20:51:40.62146261Z === RUN TestAppSpec_ValidateBindErrors/relative_destination 2026-10-18T20:51:40.621467857Z === RUN TestAppSpec_ValidateBindErrors/unnormalized_destination 2026-10-18T20:51:40.621473139Z === RUN TestAppSpec_ValidateBindErrors/trailing_slash_destination 2026-10-18T20:51:40.62147839Z === RUN TestAppSpec_ValidateBindErrors/sensitive_destination 2026-10-18T20:51:40.621483784Z === RUN TestAppSpec_ValidateBindErrors/duplicate_bind_name 2026-10-18T20:51:40.621490636Z === RUN TestAppSpec_ValidateBindErrors/duplicate_bind_destination 2026-10-18T20:51:40.621500893Z === RUN TestAppSpec_ValidateBindErrors/collision_with_volume 2026-10-18T20:51:40.621521362Z --- PASS: TestAppSpec_ValidateBindErrors (0.00s) 2026-10-18T20:51:40.621539285Z --- PASS: TestAppSpec_ValidateBindErrors/bad_bind_name (0.00s) 2026-10-18T20:51:40.621558089Z --- PASS: TestAppSpec_ValidateBindErrors/reserved_separator_name (0.00s) 2026-10-18T20:51:40.621576289Z --- PASS: TestAppSpec_ValidateBindErrors/relative_destination (0.00s) 2026-10-18T20:51:40.621595007Z --- PASS: TestAppSpec_ValidateBindErrors/unnormalized_destination (0.00s) 2026-10-18T20:51:40.621614396Z --- PASS: TestAppSpec_ValidateBindErrors/trailing_slash_destination (0.00s) 2026-10-18T20:51:40.621632577Z --- PASS: TestAppSpec_ValidateBindErrors/sensitive_destination (0.00s) 2026-10-18T20:51:40.621650365Z --- PASS: TestAppSpec_ValidateBindErrors/duplicate_bind_name (0.00s) 2026-10-18T20:51:40.621669126Z --- PASS: TestAppSpec_ValidateBindErrors/duplicate_bind_destination (0.00s) 2026-10-18T20:51:40.621688469Z --- PASS: TestAppSpec_ValidateBindErrors/collision_with_volume (0.00s) 2026-10-18T20:51:40.621700735Z === RUN TestValidateBindName 2026-10-18T20:51:40.621708628Z --- PASS: TestValidateBindName (0.00s) 2026-10-18T20:51:40.621715767Z === RUN TestValidateBindDestination 2026-10-18T20:51:40.621723147Z --- PASS: TestValidateBindDestination (0.00s) 2026-10-18T20:51:40.621730276Z === RUN TestIsSensitiveBindDestination 2026-10-18T20:51:40.621737562Z --- PASS: TestIsSensitiveBindDestination (0.00s) 2026-10-18T20:51:40.621744479Z === RUN TestDiffAppSpec_Binds 2026-10-18T20:51:40.621752607Z --- PASS: TestDiffAppSpec_Binds (0.00s) 2026-10-18T20:51:40.621760559Z === RUN TestValidatePublishForListener_ExactTupleAccepted 2026-10-18T20:51:40.621771137Z === RUN TestValidatePublishForListener_ExactTupleAccepted/tcp_wildcard_explicit 2026-10-18T20:51:40.621783592Z === RUN TestValidatePublishForListener_ExactTupleAccepted/tcp_empty_host_equals_wildcard_listener 2026-10-18T20:51:40.621795074Z === RUN TestValidatePublishForListener_ExactTupleAccepted/tcp_smart_entrypoint 2026-10-18T20:51:40.621803255Z === RUN TestValidatePublishForListener_ExactTupleAccepted/udp 2026-10-18T20:51:40.621814428Z === RUN TestValidatePublishForListener_ExactTupleAccepted/loopback_listener_with_loopback_publish 2026-10-18T20:51:40.621820465Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted (0.00s) 2026-10-18T20:51:40.621837759Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted/tcp_wildcard_explicit (0.00s) 2026-10-18T20:51:40.621857239Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted/tcp_empty_host_equals_wildcard_listener (0.00s) 2026-10-18T20:51:40.62187428Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted/tcp_smart_entrypoint (0.00s) 2026-10-18T20:51:40.62189383Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted/udp (0.00s) 2026-10-18T20:51:40.621917201Z --- PASS: TestValidatePublishForListener_ExactTupleAccepted/loopback_listener_with_loopback_publish (0.00s) 2026-10-18T20:51:40.621927414Z === RUN TestValidatePublishForListener_RejectsMismatch 2026-10-18T20:51:40.622035241Z === RUN TestValidatePublishForListener_RejectsMismatch/loopback_publish_on_wildcard_listener 2026-10-18T20:51:40.622074433Z === RUN TestValidatePublishForListener_RejectsMismatch/port_mismatch 2026-10-18T20:51:40.622094351Z === RUN TestValidatePublishForListener_RejectsMismatch/loopback_vs_wildcard_host 2026-10-18T20:51:40.622109472Z === RUN TestValidatePublishForListener_RejectsMismatch/udp_on_tcp_entrypoint 2026-10-18T20:51:40.622123567Z === RUN TestValidatePublishForListener_RejectsMismatch/tcp_on_udp_entrypoint 2026-10-18T20:51:40.622143364Z === RUN TestValidatePublishForListener_RejectsMismatch/hostname_publish 2026-10-18T20:51:40.622163076Z === RUN TestValidatePublishForListener_RejectsMismatch/missing_port 2026-10-18T20:51:40.622173657Z === RUN TestValidatePublishForListener_RejectsMismatch/invalid_listener_address 2026-10-18T20:51:40.622185144Z --- PASS: TestValidatePublishForListener_RejectsMismatch (0.00s) 2026-10-18T20:51:40.622207412Z --- PASS: TestValidatePublishForListener_RejectsMismatch/loopback_publish_on_wildcard_listener (0.00s) 2026-10-18T20:51:40.622233702Z --- PASS: TestValidatePublishForListener_RejectsMismatch/port_mismatch (0.00s) 2026-10-18T20:51:40.622260395Z --- PASS: TestValidatePublishForListener_RejectsMismatch/loopback_vs_wildcard_host (0.00s) 2026-10-18T20:51:40.622283758Z --- PASS: TestValidatePublishForListener_RejectsMismatch/udp_on_tcp_entrypoint (0.00s) 2026-10-18T20:51:40.622312167Z --- PASS: TestValidatePublishForListener_RejectsMismatch/tcp_on_udp_entrypoint (0.00s) 2026-10-18T20:51:40.622339705Z --- PASS: TestValidatePublishForListener_RejectsMismatch/hostname_publish (0.00s) 2026-10-18T20:51:40.622362747Z --- PASS: TestValidatePublishForListener_RejectsMismatch/missing_port (0.00s) 2026-10-18T20:51:40.622393051Z --- PASS: TestValidatePublishForListener_RejectsMismatch/invalid_listener_address (0.00s) 2026-10-18T20:51:40.622407438Z === RUN TestCanonicalBindHost 2026-10-18T20:51:40.622418427Z --- PASS: TestCanonicalBindHost (0.00s) 2026-10-18T20:51:40.622427505Z === RUN TestAppPrivateNetworkName_DerivesFromUUIDNotName 2026-10-18T20:51:40.622436371Z --- PASS: TestAppPrivateNetworkName_DerivesFromUUIDNotName (0.00s) 2026-10-18T20:51:40.622447769Z === RUN TestAppPrivateNetworkName_AppliesDefaultPrefix 2026-10-18T20:51:40.622461557Z --- PASS: TestAppPrivateNetworkName_AppliesDefaultPrefix (0.00s) 2026-10-18T20:51:40.622472333Z === RUN TestAppSharedNetworkName_StablePerDeclaration 2026-10-18T20:51:40.622485201Z --- PASS: TestAppSharedNetworkName_StablePerDeclaration (0.00s) 2026-10-18T20:51:40.622497299Z === RUN TestNetworkOwnedBy_RequiresEveryExpectedLabel 2026-10-18T20:51:40.622508524Z --- PASS: TestNetworkOwnedBy_RequiresEveryExpectedLabel (0.00s) 2026-10-18T20:51:40.622514365Z === RUN TestAppServiceSharedNetworks_FiltersAndDeduplicates 2026-10-18T20:51:40.622523251Z --- PASS: TestAppServiceSharedNetworks_FiltersAndDeduplicates (0.00s) 2026-10-18T20:51:40.622544388Z === RUN TestValidateReadinessPath 2026-10-18T20:51:40.622555849Z --- PASS: TestValidateReadinessPath (0.00s) 2026-10-18T20:51:40.622566645Z === RUN TestAppSpecValidate_RejectsAuthorityInReadinessPath 2026-10-18T20:51:40.622577251Z --- PASS: TestAppSpecValidate_RejectsAuthorityInReadinessPath (0.00s) 2026-10-18T20:51:40.622594842Z === RUN TestReservationsFor_SortedAndNamespaced 2026-10-18T20:51:40.622611427Z --- PASS: TestReservationsFor_SortedAndNamespaced (0.00s) 2026-10-18T20:51:40.622624071Z === RUN TestCheckReservations_RejectsDuplicateInsideCandidate 2026-10-18T20:51:40.622637787Z --- PASS: TestCheckReservations_RejectsDuplicateInsideCandidate (0.00s) 2026-10-18T20:51:40.62264771Z === RUN TestCheckReservations_RejectsWildcardOverlapInsideCandidate 2026-10-18T20:51:40.622665243Z --- PASS: TestCheckReservations_RejectsWildcardOverlapInsideCandidate (0.00s) 2026-10-18T20:51:40.622676315Z === RUN TestCheckReservations_RejectsCrossAppWildcardConflict 2026-10-18T20:51:40.622690716Z --- PASS: TestCheckReservations_RejectsCrossAppWildcardConflict (0.00s) 2026-10-18T20:51:40.622701671Z === RUN TestCheckReservations_SameAppNeverSelfConflicts 2026-10-18T20:51:40.622721426Z --- PASS: TestCheckReservations_SameAppNeverSelfConflicts (0.00s) 2026-10-18T20:51:40.622735041Z === RUN TestCheckReservations_SamePortDifferentProtoCoexists 2026-10-18T20:51:40.62274992Z --- PASS: TestCheckReservations_SamePortDifferentProtoCoexists (0.00s) 2026-10-18T20:51:40.622764375Z === RUN TestReservationsFor_InternalHTTPClaimsNothing 2026-10-18T20:51:40.622781208Z --- PASS: TestReservationsFor_InternalHTTPClaimsNothing (0.00s) 2026-10-18T20:51:40.62279212Z === RUN TestAppSpec_ValidateSecretFilesOK 2026-10-18T20:51:40.622797838Z --- PASS: TestAppSpec_ValidateSecretFilesOK (0.00s) 2026-10-18T20:51:40.622811136Z === RUN TestAppSpec_ValidateSecretFilesErrors 2026-10-18T20:51:40.622824344Z === RUN TestAppSpec_ValidateSecretFilesErrors/not_a_secret 2026-10-18T20:51:40.622837495Z === RUN TestAppSpec_ValidateSecretFilesErrors/unsorted 2026-10-18T20:51:40.622852341Z === RUN TestAppSpec_ValidateSecretFilesErrors/duplicate 2026-10-18T20:51:40.622865999Z === RUN TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_secret 2026-10-18T20:51:40.622878675Z === RUN TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_service_env 2026-10-18T20:51:40.622888519Z === RUN TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_app_env 2026-10-18T20:51:40.62289931Z === RUN TestAppSpec_ValidateSecretFilesErrors/bind_at_secret_dir 2026-10-18T20:51:40.622910078Z === RUN TestAppSpec_ValidateSecretFilesErrors/bind_under_secret_dir 2026-10-18T20:51:40.622927012Z === RUN TestAppSpec_ValidateSecretFilesErrors/volume_under_secret_dir 2026-10-18T20:51:40.622945581Z --- PASS: TestAppSpec_ValidateSecretFilesErrors (0.00s) 2026-10-18T20:51:40.622973986Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/not_a_secret (0.00s) 2026-10-18T20:51:40.622996875Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/unsorted (0.00s) 2026-10-18T20:51:40.623018923Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/duplicate (0.00s) 2026-10-18T20:51:40.623053051Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_secret (0.00s) 2026-10-18T20:51:40.623082813Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_service_env (0.00s) 2026-10-18T20:51:40.623105524Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/file_key_collides_with_app_env (0.00s) 2026-10-18T20:51:40.623137447Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/bind_at_secret_dir (0.00s) 2026-10-18T20:51:40.623163672Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/bind_under_secret_dir (0.00s) 2026-10-18T20:51:40.623188414Z --- PASS: TestAppSpec_ValidateSecretFilesErrors/volume_under_secret_dir (0.00s) 2026-10-18T20:51:40.623207746Z === RUN TestAppSpec_SecretDirBindWithoutFileSecretsOK 2026-10-18T20:51:40.623227143Z --- PASS: TestAppSpec_SecretDirBindWithoutFileSecretsOK (0.00s) 2026-10-18T20:51:40.623240046Z === RUN TestDiffAppSpec_SecretFileModeSwitch 2026-10-18T20:51:40.623256474Z --- PASS: TestDiffAppSpec_SecretFileModeSwitch (0.00s) 2026-10-18T20:51:40.623267173Z === RUN TestAppSpec_ValidateOK 2026-10-18T20:51:40.623277595Z --- PASS: TestAppSpec_ValidateOK (0.00s) 2026-10-18T20:51:40.623296419Z === RUN TestAppSpec_ValidateErrors 2026-10-18T20:51:40.623312833Z === RUN TestAppSpec_ValidateErrors/bad_app 2026-10-18T20:51:40.623322894Z === RUN TestAppSpec_ValidateErrors/no_services 2026-10-18T20:51:40.62333152Z === RUN TestAppSpec_ValidateErrors/no_image 2026-10-18T20:51:40.623339831Z === RUN TestAppSpec_ValidateErrors/env_newline 2026-10-18T20:51:40.623349449Z === RUN TestAppSpec_ValidateErrors/service_env_newline 2026-10-18T20:51:40.623359408Z === RUN TestAppSpec_ValidateErrors/service_env_secret_ref 2026-10-18T20:51:40.623368634Z === RUN TestAppSpec_ValidateErrors/service_env_empty_value 2026-10-18T20:51:40.62338634Z === RUN TestAppSpec_ValidateErrors/service_env_bad_key 2026-10-18T20:51:40.623399754Z === RUN TestAppSpec_ValidateErrors/service_env_secret_collision 2026-10-18T20:51:40.623414605Z === RUN TestAppSpec_ValidateErrors/env_secret_ref 2026-10-18T20:51:40.623426096Z === RUN TestAppSpec_ValidateErrors/http_bad_tls 2026-10-18T20:51:40.62343723Z === RUN TestAppSpec_ValidateErrors/http_readiness_authority 2026-10-18T20:51:40.623447612Z === RUN TestAppSpec_ValidateErrors/http_readiness_absolute_URL 2026-10-18T20:51:40.623463388Z === RUN TestAppSpec_ValidateErrors/http_readiness_scheme_relative 2026-10-18T20:51:40.623478652Z === RUN TestAppSpec_ValidateErrors/network_unknown_service 2026-10-18T20:51:40.623487743Z === RUN TestAppSpec_ValidateErrors/network_bad_alias 2026-10-18T20:51:40.623499794Z --- PASS: TestAppSpec_ValidateErrors (0.00s) 2026-10-18T20:51:40.623515495Z --- PASS: TestAppSpec_ValidateErrors/bad_app (0.00s) 2026-10-18T20:51:40.623531619Z --- PASS: TestAppSpec_ValidateErrors/no_services (0.00s) 2026-10-18T20:51:40.623566275Z --- PASS: TestAppSpec_ValidateErrors/no_image (0.00s) 2026-10-18T20:51:40.62361238Z --- PASS: TestAppSpec_ValidateErrors/env_newline (0.00s) 2026-10-18T20:51:40.623646568Z --- PASS: TestAppSpec_ValidateErrors/service_env_newline (0.00s) 2026-10-18T20:51:40.623673358Z --- PASS: TestAppSpec_ValidateErrors/service_env_secret_ref (0.00s) 2026-10-18T20:51:40.623695536Z --- PASS: TestAppSpec_ValidateErrors/service_env_empty_value (0.00s) 2026-10-18T20:51:40.623718071Z --- PASS: TestAppSpec_ValidateErrors/service_env_bad_key (0.00s) 2026-10-18T20:51:40.62374396Z --- PASS: TestAppSpec_ValidateErrors/service_env_secret_collision (0.00s) 2026-10-18T20:51:40.623765832Z --- PASS: TestAppSpec_ValidateErrors/env_secret_ref (0.00s) 2026-10-18T20:51:40.623782499Z --- PASS: TestAppSpec_ValidateErrors/http_bad_tls (0.00s) 2026-10-18T20:51:40.623815306Z --- PASS: TestAppSpec_ValidateErrors/http_readiness_authority (0.00s) 2026-10-18T20:51:40.623839395Z --- PASS: TestAppSpec_ValidateErrors/http_readiness_absolute_URL (0.00s) 2026-10-18T20:51:40.623862888Z --- PASS: TestAppSpec_ValidateErrors/http_readiness_scheme_relative (0.00s) 2026-10-18T20:51:40.623885195Z --- PASS: TestAppSpec_ValidateErrors/network_unknown_service (0.00s) 2026-10-18T20:51:40.623902013Z --- PASS: TestAppSpec_ValidateErrors/network_bad_alias (0.00s) 2026-10-18T20:51:40.623915049Z === RUN TestAppIdentityHelpers 2026-10-18T20:51:40.623928736Z --- PASS: TestAppIdentityHelpers (0.00s) 2026-10-18T20:51:40.623937422Z === RUN TestParsePublish 2026-10-18T20:51:40.623956659Z --- PASS: TestParsePublish (0.00s) 2026-10-18T20:51:40.62396945Z === RUN TestDiffAppSpec_DeterministicAndRedacted 2026-10-18T20:51:40.623978755Z --- PASS: TestDiffAppSpec_DeterministicAndRedacted (0.00s) 2026-10-18T20:51:40.623996702Z === RUN TestDiffAppSpec_NetworkDetailsAndOrderNormalization 2026-10-18T20:51:40.62400936Z --- PASS: TestDiffAppSpec_NetworkDetailsAndOrderNormalization (0.00s) 2026-10-18T20:51:40.624030273Z === RUN TestDiffAppSpec_ErrorsWrapped 2026-10-18T20:51:40.624048151Z --- PASS: TestDiffAppSpec_ErrorsWrapped (0.00s) 2026-10-18T20:51:40.62406088Z === RUN TestAppSpec_ServiceEnvOverridesAppEnvAllowed 2026-10-18T20:51:40.624076518Z --- PASS: TestAppSpec_ServiceEnvOverridesAppEnvAllowed (0.00s) 2026-10-18T20:51:40.624090314Z === RUN TestDiffAppSpec_ServiceEnv 2026-10-18T20:51:40.624104077Z --- PASS: TestDiffAppSpec_ServiceEnv (0.00s) 2026-10-18T20:51:40.624118741Z === RUN TestDiffAppSpec_EnvListsChangedKeyNamesOnly 2026-10-18T20:51:40.624134513Z --- PASS: TestDiffAppSpec_EnvListsChangedKeyNamesOnly (0.00s) 2026-10-18T20:51:40.624152566Z === RUN TestActiveAppSpec_UsesActivatedRevisionEnv 2026-10-18T20:51:40.624167666Z --- PASS: TestActiveAppSpec_UsesActivatedRevisionEnv (0.00s) 2026-10-18T20:51:40.62417973Z === RUN TestActiveAppSpec_ReportsStaleKeysFromEveryRevision 2026-10-18T20:51:40.624192042Z --- PASS: TestActiveAppSpec_ReportsStaleKeysFromEveryRevision (0.00s) 2026-10-18T20:51:40.624200831Z === RUN TestActiveAppSpec_EmptyActiveHasEmptyEnv 2026-10-18T20:51:40.624216533Z --- PASS: TestActiveAppSpec_EmptyActiveHasEmptyEnv (0.00s) 2026-10-18T20:51:40.624230545Z === RUN TestAppService_BackupOnlyChange 2026-10-18T20:51:40.62424654Z --- PASS: TestAppService_BackupOnlyChange (0.00s) 2026-10-18T20:51:40.62426134Z === RUN TestDiffAppSpec_VisibilityChangeIsDetected 2026-10-18T20:51:40.624277451Z --- PASS: TestDiffAppSpec_VisibilityChangeIsDetected (0.00s) 2026-10-18T20:51:40.624292847Z === RUN TestDiffAppSpec_ZeroVisibilityEqualsPublic 2026-10-18T20:51:40.624310109Z --- PASS: TestDiffAppSpec_ZeroVisibilityEqualsPublic (0.00s) 2026-10-18T20:51:40.624326545Z === RUN TestAppHTTPInterface_EffectiveVisibility 2026-10-18T20:51:40.624339322Z --- PASS: TestAppHTTPInterface_EffectiveVisibility (0.00s) 2026-10-18T20:51:40.624348833Z === RUN TestAppSpec_ValidateVisibility 2026-10-18T20:51:40.624360364Z === RUN TestAppSpec_ValidateVisibility/absent_visibility_remains_a_valid_public_manifest 2026-10-18T20:51:40.624371048Z === RUN TestAppSpec_ValidateVisibility/explicit_public_remains_valid 2026-10-18T20:51:40.624382133Z === RUN TestAppSpec_ValidateVisibility/internal_accepts_a_port_without_host_or_tls 2026-10-18T20:51:40.624392455Z === RUN TestAppSpec_ValidateVisibility/public_without_valid_host 2026-10-18T20:51:40.624402871Z === RUN TestAppSpec_ValidateVisibility/public_with_unknown_tls_mode 2026-10-18T20:51:40.624413075Z === RUN TestAppSpec_ValidateVisibility/public_with_out_of_range_port 2026-10-18T20:51:40.624423468Z === RUN TestAppSpec_ValidateVisibility/internal_with_out_of_range_port 2026-10-18T20:51:40.624434241Z === RUN TestAppSpec_ValidateVisibility/internal_without_port 2026-10-18T20:51:40.624446058Z === RUN TestAppSpec_ValidateVisibility/public_without_tls_mode 2026-10-18T20:51:40.624456602Z === RUN TestAppSpec_ValidateVisibility/internal_forbids_host 2026-10-18T20:51:40.624466916Z === RUN TestAppSpec_ValidateVisibility/internal_forbids_tls 2026-10-18T20:51:40.62447668Z === RUN TestAppSpec_ValidateVisibility/unknown_visibility 2026-10-18T20:51:40.624486664Z === RUN TestAppSpec_ValidateVisibility/public_without_host 2026-10-18T20:51:40.624496269Z --- PASS: TestAppSpec_ValidateVisibility (0.00s) 2026-10-18T20:51:40.624519048Z --- PASS: TestAppSpec_ValidateVisibility/absent_visibility_remains_a_valid_public_manifest (0.00s) 2026-10-18T20:51:40.624538966Z --- PASS: TestAppSpec_ValidateVisibility/explicit_public_remains_valid (0.00s) 2026-10-18T20:51:40.624561049Z --- PASS: TestAppSpec_ValidateVisibility/internal_accepts_a_port_without_host_or_tls (0.00s) 2026-10-18T20:51:40.624580496Z --- PASS: TestAppSpec_ValidateVisibility/public_without_valid_host (0.00s) 2026-10-18T20:51:40.624600235Z --- PASS: TestAppSpec_ValidateVisibility/public_with_unknown_tls_mode (0.00s) 2026-10-18T20:51:40.624619777Z --- PASS: TestAppSpec_ValidateVisibility/public_with_out_of_range_port (0.00s) 2026-10-18T20:51:40.624639883Z --- PASS: TestAppSpec_ValidateVisibility/internal_with_out_of_range_port (0.00s) 2026-10-18T20:51:40.624658228Z --- PASS: TestAppSpec_ValidateVisibility/internal_without_port (0.00s) 2026-10-18T20:51:40.624677047Z --- PASS: TestAppSpec_ValidateVisibility/public_without_tls_mode (0.00s) 2026-10-18T20:51:40.62469524Z --- PASS: TestAppSpec_ValidateVisibility/internal_forbids_host (0.00s) 2026-10-18T20:51:40.624713518Z --- PASS: TestAppSpec_ValidateVisibility/internal_forbids_tls (0.00s) 2026-10-18T20:51:40.624732959Z --- PASS: TestAppSpec_ValidateVisibility/unknown_visibility (0.00s) 2026-10-18T20:51:40.624751321Z --- PASS: TestAppSpec_ValidateVisibility/public_without_host (0.00s) 2026-10-18T20:51:40.624761026Z === RUN TestAppService_InternallyOnlyPort 2026-10-18T20:51:40.624771099Z --- PASS: TestAppService_InternallyOnlyPort (0.00s) 2026-10-18T20:51:40.624781268Z === RUN TestAppSpec_ValidateInterfacePorts 2026-10-18T20:51:40.624792146Z --- PASS: TestAppSpec_ValidateInterfacePorts (0.00s) 2026-10-18T20:51:40.624802023Z === RUN TestAppSpec_ValidateMixedVisibilityReadiness 2026-10-18T20:51:40.62481283Z === RUN TestAppSpec_ValidateMixedVisibilityReadiness/several_public_http_ports 2026-10-18T20:51:40.624823356Z === RUN TestAppSpec_ValidateMixedVisibilityReadiness/several_internal_ports 2026-10-18T20:51:40.624833737Z === RUN TestAppSpec_ValidateMixedVisibilityReadiness/public_http_plus_tcp 2026-10-18T20:51:40.624843845Z --- PASS: TestAppSpec_ValidateMixedVisibilityReadiness (0.00s) 2026-10-18T20:51:40.62486492Z --- PASS: TestAppSpec_ValidateMixedVisibilityReadiness/several_public_http_ports (0.00s) 2026-10-18T20:51:40.624885741Z --- PASS: TestAppSpec_ValidateMixedVisibilityReadiness/several_internal_ports (0.00s) 2026-10-18T20:51:40.624905927Z --- PASS: TestAppSpec_ValidateMixedVisibilityReadiness/public_http_plus_tcp (0.00s) 2026-10-18T20:51:40.624915805Z === RUN TestContainerNetworkProbeRequest_Validate 2026-10-18T20:51:40.624927039Z === RUN TestContainerNetworkProbeRequest_Validate/missing_target_id 2026-10-18T20:51:40.624937381Z === RUN TestContainerNetworkProbeRequest_Validate/missing_network 2026-10-18T20:51:40.624947773Z === RUN TestContainerNetworkProbeRequest_Validate/missing_execution_start 2026-10-18T20:51:40.624957877Z === RUN TestContainerNetworkProbeRequest_Validate/zero_port 2026-10-18T20:51:40.624968406Z === RUN TestContainerNetworkProbeRequest_Validate/port_too_high 2026-10-18T20:51:40.624978825Z === RUN TestContainerNetworkProbeRequest_Validate/zero_timeout 2026-10-18T20:51:40.624988965Z === RUN TestContainerNetworkProbeRequest_Validate/unknown_protocol 2026-10-18T20:51:40.624999136Z === RUN TestContainerNetworkProbeRequest_Validate/http_without_path 2026-10-18T20:51:40.625009706Z === RUN TestContainerNetworkProbeRequest_Validate/http_path_not_origin_form 2026-10-18T20:51:40.625020751Z === RUN TestContainerNetworkProbeRequest_Validate/http_path_with_surrounding_whitespace 2026-10-18T20:51:40.625030909Z === RUN TestContainerNetworkProbeRequest_Validate/tcp_with_path 2026-10-18T20:51:40.625041438Z --- PASS: TestContainerNetworkProbeRequest_Validate (0.00s) 2026-10-18T20:51:40.625061079Z --- PASS: TestContainerNetworkProbeRequest_Validate/missing_target_id (0.00s) 2026-10-18T20:51:40.625080391Z --- PASS: TestContainerNetworkProbeRequest_Validate/missing_network (0.00s) 2026-10-18T20:51:40.625100751Z --- PASS: TestContainerNetworkProbeRequest_Validate/missing_execution_start (0.00s) 2026-10-18T20:51:40.625119048Z --- PASS: TestContainerNetworkProbeRequest_Validate/zero_port (0.00s) 2026-10-18T20:51:40.62513822Z --- PASS: TestContainerNetworkProbeRequest_Validate/port_too_high (0.00s) 2026-10-18T20:51:40.625156867Z --- PASS: TestContainerNetworkProbeRequest_Validate/zero_timeout (0.00s) 2026-10-18T20:51:40.62517616Z --- PASS: TestContainerNetworkProbeRequest_Validate/unknown_protocol (0.00s) 2026-10-18T20:51:40.625195534Z --- PASS: TestContainerNetworkProbeRequest_Validate/http_without_path (0.00s) 2026-10-18T20:51:40.625216375Z --- PASS: TestContainerNetworkProbeRequest_Validate/http_path_not_origin_form (0.00s) 2026-10-18T20:51:40.625238559Z --- PASS: TestContainerNetworkProbeRequest_Validate/http_path_with_surrounding_whitespace (0.00s) 2026-10-18T20:51:40.625260043Z --- PASS: TestContainerNetworkProbeRequest_Validate/tcp_with_path (0.00s) 2026-10-18T20:51:40.625318453Z === RUN TestContainerNetworkProbeRequest_ValidateTCP 2026-10-18T20:51:40.625342952Z --- PASS: TestContainerNetworkProbeRequest_ValidateTCP (0.00s) 2026-10-18T20:51:40.62535859Z === RUN TestImageSourcePolicy_DefaultRegistries 2026-10-18T20:51:40.62537494Z --- PASS: TestImageSourcePolicy_DefaultRegistries (0.00s) 2026-10-18T20:51:40.625391031Z === RUN TestImageSourcePolicy_AllowsExplicitPrivateRegistry 2026-10-18T20:51:40.625407239Z --- PASS: TestImageSourcePolicy_AllowsExplicitPrivateRegistry (0.00s) 2026-10-18T20:51:40.625428498Z === RUN TestImageSourcePolicy_EnforcesAllowlist 2026-10-18T20:51:40.625446047Z --- PASS: TestImageSourcePolicy_EnforcesAllowlist (0.00s) 2026-10-18T20:51:40.625488101Z === RUN TestImageSourcePolicy_AlwaysAllowsInstallationRegistry 2026-10-18T20:51:40.625524537Z --- PASS: TestImageSourcePolicy_AlwaysAllowsInstallationRegistry (0.00s) 2026-10-18T20:51:40.625548427Z === RUN TestImageSourcePolicy_RequireDigest 2026-10-18T20:51:40.625572392Z --- PASS: TestImageSourcePolicy_RequireDigest (0.00s) 2026-10-18T20:51:40.62559279Z === RUN TestImageSourcePolicy_RejectsMalformedDigests 2026-10-18T20:51:40.625612526Z --- PASS: TestImageSourcePolicy_RejectsMalformedDigests (0.00s) 2026-10-18T20:51:40.625634968Z === RUN TestImageSourcePolicy_CanonicalizesHostAndDefaultPort 2026-10-18T20:51:40.62565948Z --- PASS: TestImageSourcePolicy_CanonicalizesHostAndDefaultPort (0.00s) 2026-10-18T20:51:40.625681774Z === RUN TestImageSourcePolicy_RejectsMalformedAllowlistEntries 2026-10-18T20:51:40.625706853Z --- PASS: TestImageSourcePolicy_RejectsMalformedAllowlistEntries (0.00s) 2026-10-18T20:51:40.625731466Z === RUN TestImageSourcePolicy_RejectsMalformedReferences 2026-10-18T20:51:40.625756177Z --- PASS: TestImageSourcePolicy_RejectsMalformedReferences (0.00s) 2026-10-18T20:51:40.625778775Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias 2026-10-18T20:51:40.625804611Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias/implicit_docker.io_ref_matches_docker.io_installation 2026-10-18T20:51:40.625831624Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias/registry-1_ref_matches_docker.io_installation 2026-10-18T20:51:40.625863629Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias/docker.io_ref_matches_registry-1_installation 2026-10-18T20:51:40.625892421Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias/installation_registry_is_not_docker.io 2026-10-18T20:51:40.625918945Z === RUN TestImageSourcePolicy_IsInstallationImageDockerHubAlias/foreign_ref_does_not_match_docker.io_installation 2026-10-18T20:51:40.62594329Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias (0.00s) 2026-10-18T20:51:40.625985461Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias/implicit_docker.io_ref_matches_docker.io_installation (0.00s) 2026-10-18T20:51:40.626028666Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias/registry-1_ref_matches_docker.io_installation (0.00s) 2026-10-18T20:51:40.626070819Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias/docker.io_ref_matches_registry-1_installation (0.00s) 2026-10-18T20:51:40.626107401Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias/installation_registry_is_not_docker.io (0.00s) 2026-10-18T20:51:40.626146258Z --- PASS: TestImageSourcePolicy_IsInstallationImageDockerHubAlias/foreign_ref_does_not_match_docker.io_installation (0.00s) 2026-10-18T20:51:40.6261683Z === RUN TestIsLocalOrPrivateHost 2026-10-18T20:51:40.626185912Z --- PASS: TestIsLocalOrPrivateHost (0.00s) 2026-10-18T20:51:40.626205532Z === RUN TestImageRefRepository 2026-10-18T20:51:40.626232235Z === RUN TestImageRefRepository/registry.example.com/blog/web:1.4.2 2026-10-18T20:51:40.626252375Z === RUN TestImageRefRepository/registry.example.com/blog/web@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2026-10-18T20:51:40.626270971Z === RUN TestImageRefRepository/blog/web:1.4.2 2026-10-18T20:51:40.626290379Z === RUN TestImageRefRepository/localhost:5000/private/app:1 2026-10-18T20:51:40.626311877Z === RUN TestImageRefRepository/127.0.0.1:12345/private@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2026-10-18T20:51:40.626328575Z === RUN TestImageRefRepository/nginx:1.25 2026-10-18T20:51:40.626365504Z === RUN TestImageRefRepository/#00 2026-10-18T20:51:40.626405715Z --- PASS: TestImageRefRepository (0.00s) 2026-10-18T20:51:40.626439593Z --- PASS: TestImageRefRepository/registry.example.com/blog/web:1.4.2 (0.00s) 2026-10-18T20:51:40.626480241Z --- PASS: TestImageRefRepository/registry.example.com/blog/web@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (0.00s) 2026-10-18T20:51:40.626510654Z --- PASS: TestImageRefRepository/blog/web:1.4.2 (0.00s) 2026-10-18T20:51:40.626538659Z --- PASS: TestImageRefRepository/localhost:5000/private/app:1 (0.00s) 2026-10-18T20:51:40.626570848Z --- PASS: TestImageRefRepository/127.0.0.1:12345/private@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (0.00s) 2026-10-18T20:51:40.626603357Z --- PASS: TestImageRefRepository/nginx:1.25 (0.00s) 2026-10-18T20:51:40.626644666Z --- PASS: TestImageRefRepository/#00 (0.00s) 2026-10-18T20:51:40.626663755Z === RUN TestImageRefRoots_QualifiesDigestWithRepository 2026-10-18T20:51:40.626684306Z --- PASS: TestImageRefRoots_QualifiesDigestWithRepository (0.00s) 2026-10-18T20:51:40.626699024Z === RUN TestLabelConstantsValues 2026-10-18T20:51:40.626719264Z === RUN TestLabelConstantsValues/gordon.domain 2026-10-18T20:51:40.626732735Z === RUN TestLabelConstantsValues/gordon.image 2026-10-18T20:51:40.626751651Z === RUN TestLabelConstantsValues/gordon.managed 2026-10-18T20:51:40.626766654Z === RUN TestLabelConstantsValues/gordon.created 2026-10-18T20:51:40.626775336Z --- PASS: TestLabelConstantsValues (0.00s) 2026-10-18T20:51:40.626788307Z --- PASS: TestLabelConstantsValues/gordon.domain (0.00s) 2026-10-18T20:51:40.626803788Z --- PASS: TestLabelConstantsValues/gordon.image (0.00s) 2026-10-18T20:51:40.626831622Z --- PASS: TestLabelConstantsValues/gordon.managed (0.00s) 2026-10-18T20:51:40.626854095Z --- PASS: TestLabelConstantsValues/gordon.created (0.00s) 2026-10-18T20:51:40.626865832Z === RUN TestRegistryImageKnownGordonRegistryDomains 2026-10-18T20:51:40.626877277Z --- PASS: TestRegistryImageKnownGordonRegistryDomains (0.00s) 2026-10-18T20:51:40.626889864Z === RUN TestRegistryImageStripKnownGordonRegistry 2026-10-18T20:51:40.626903265Z === RUN TestRegistryImageStripKnownGordonRegistry/current_host_strip 2026-10-18T20:51:40.626914262Z === RUN TestRegistryImageStripKnownGordonRegistry/legacy_host_strip 2026-10-18T20:51:40.626923813Z === RUN TestRegistryImageStripKnownGordonRegistry/explicit_port_strip 2026-10-18T20:51:40.626939477Z === RUN TestRegistryImageStripKnownGordonRegistry/digest_ref_strip 2026-10-18T20:51:40.626950422Z === RUN TestRegistryImageStripKnownGordonRegistry/bare_image_pass_through 2026-10-18T20:51:40.62696515Z === RUN TestRegistryImageStripKnownGordonRegistry/external_image_preserved 2026-10-18T20:51:40.626979598Z === RUN TestRegistryImageStripKnownGordonRegistry/hostile_lookalike_preserved 2026-10-18T20:51:40.626995429Z --- PASS: TestRegistryImageStripKnownGordonRegistry (0.00s) 2026-10-18T20:51:40.627030829Z --- PASS: TestRegistryImageStripKnownGordonRegistry/current_host_strip (0.00s) 2026-10-18T20:51:40.627063292Z --- PASS: TestRegistryImageStripKnownGordonRegistry/legacy_host_strip (0.00s) 2026-10-18T20:51:40.627090028Z --- PASS: TestRegistryImageStripKnownGordonRegistry/explicit_port_strip (0.00s) 2026-10-18T20:51:40.627113498Z --- PASS: TestRegistryImageStripKnownGordonRegistry/digest_ref_strip (0.00s) 2026-10-18T20:51:40.627137907Z --- PASS: TestRegistryImageStripKnownGordonRegistry/bare_image_pass_through (0.00s) 2026-10-18T20:51:40.6271638Z --- PASS: TestRegistryImageStripKnownGordonRegistry/external_image_preserved (0.00s) 2026-10-18T20:51:40.62719244Z --- PASS: TestRegistryImageStripKnownGordonRegistry/hostile_lookalike_preserved (0.00s) 2026-10-18T20:51:40.62720957Z === RUN TestRegistryImageExtractGordonRepoName 2026-10-18T20:51:40.627223921Z === RUN TestRegistryImageExtractGordonRepoName/current_host_with_tag 2026-10-18T20:51:40.627238395Z === RUN TestRegistryImageExtractGordonRepoName/legacy_host_with_namespace 2026-10-18T20:51:40.627250037Z === RUN TestRegistryImageExtractGordonRepoName/digest_ref 2026-10-18T20:51:40.627259279Z === RUN TestRegistryImageExtractGordonRepoName/bare_image 2026-10-18T20:51:40.627268734Z === RUN TestRegistryImageExtractGordonRepoName/external_registry_retained_in_repo_name 2026-10-18T20:51:40.627278252Z === RUN TestRegistryImageExtractGordonRepoName/nested_external_path_under_gordon_registry 2026-10-18T20:51:40.627287027Z --- PASS: TestRegistryImageExtractGordonRepoName (0.00s) 2026-10-18T20:51:40.627307595Z --- PASS: TestRegistryImageExtractGordonRepoName/current_host_with_tag (0.00s) 2026-10-18T20:51:40.627340404Z --- PASS: TestRegistryImageExtractGordonRepoName/legacy_host_with_namespace (0.00s) 2026-10-18T20:51:40.627363506Z --- PASS: TestRegistryImageExtractGordonRepoName/digest_ref (0.00s) 2026-10-18T20:51:40.627386108Z --- PASS: TestRegistryImageExtractGordonRepoName/bare_image (0.00s) 2026-10-18T20:51:40.627417825Z --- PASS: TestRegistryImageExtractGordonRepoName/external_registry_retained_in_repo_name (0.00s) 2026-10-18T20:51:40.627448838Z --- PASS: TestRegistryImageExtractGordonRepoName/nested_external_path_under_gordon_registry (0.00s) 2026-10-18T20:51:40.627461131Z === RUN TestRegistryImageCanonicalizeGordonImageRef 2026-10-18T20:51:40.627470744Z === RUN TestRegistryImageCanonicalizeGordonImageRef/canonicalization 2026-10-18T20:51:40.627480562Z === RUN TestRegistryImageCanonicalizeGordonImageRef/explicit_port_canonicalization 2026-10-18T20:51:40.627493097Z === RUN TestRegistryImageCanonicalizeGordonImageRef/external_images_are_not_canonicalized 2026-10-18T20:51:40.627503732Z === RUN TestRegistryImageCanonicalizeGordonImageRef/bare_refs_are_not_canonicalized 2026-10-18T20:51:40.62751374Z === RUN TestRegistryImageCanonicalizeGordonImageRef/empty_current_domain_leaves_ref_unchanged 2026-10-18T20:51:40.627536645Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef (0.00s) 2026-10-18T20:51:40.627559506Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef/canonicalization (0.00s) 2026-10-18T20:51:40.627585176Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef/explicit_port_canonicalization (0.00s) 2026-10-18T20:51:40.627620616Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef/external_images_are_not_canonicalized (0.00s) 2026-10-18T20:51:40.627661386Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef/bare_refs_are_not_canonicalized (0.00s) 2026-10-18T20:51:40.627696774Z --- PASS: TestRegistryImageCanonicalizeGordonImageRef/empty_current_domain_leaves_ref_unchanged (0.00s) 2026-10-18T20:51:40.627714257Z === RUN TestRegistryImageIsGordonRegistryImageRef 2026-10-18T20:51:40.627728555Z === RUN TestRegistryImageIsGordonRegistryImageRef/current_host 2026-10-18T20:51:40.627743199Z === RUN TestRegistryImageIsGordonRegistryImageRef/legacy_host 2026-10-18T20:51:40.627759222Z === RUN TestRegistryImageIsGordonRegistryImageRef/legacy_host_with_explicit_port 2026-10-18T20:51:40.62776945Z === RUN TestRegistryImageIsGordonRegistryImageRef/bare_ref 2026-10-18T20:51:40.627782542Z === RUN TestRegistryImageIsGordonRegistryImageRef/external_ref 2026-10-18T20:51:40.627792836Z === RUN TestRegistryImageIsGordonRegistryImageRef/hostile_lookalike 2026-10-18T20:51:40.627803709Z --- PASS: TestRegistryImageIsGordonRegistryImageRef (0.00s) 2026-10-18T20:51:40.62782147Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/current_host (0.00s) 2026-10-18T20:51:40.627839352Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/legacy_host (0.00s) 2026-10-18T20:51:40.627861776Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/legacy_host_with_explicit_port (0.00s) 2026-10-18T20:51:40.627882203Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/bare_ref (0.00s) 2026-10-18T20:51:40.627902669Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/external_ref (0.00s) 2026-10-18T20:51:40.627926335Z --- PASS: TestRegistryImageIsGordonRegistryImageRef/hostile_lookalike (0.00s) 2026-10-18T20:51:40.627937898Z === RUN TestRuntimeGuard_NetworkModes 2026-10-18T20:51:40.627952131Z --- PASS: TestRuntimeGuard_NetworkModes (0.00s) 2026-10-18T20:51:40.627961288Z === RUN TestRuntimeGuard_VolumeNames 2026-10-18T20:51:40.627969774Z --- PASS: TestRuntimeGuard_VolumeNames (0.00s) 2026-10-18T20:51:40.62797976Z === RUN TestRuntimeGuard_ProtectedBinds 2026-10-18T20:51:40.627989029Z === RUN TestRuntimeGuard_ProtectedBinds/equal 2026-10-18T20:51:40.627997539Z === RUN TestRuntimeGuard_ProtectedBinds/under 2026-10-18T20:51:40.628008418Z === RUN TestRuntimeGuard_ProtectedBinds/ancestor 2026-10-18T20:51:40.628017349Z === RUN TestRuntimeGuard_ProtectedBinds/symlink 2026-10-18T20:51:40.628025676Z --- PASS: TestRuntimeGuard_ProtectedBinds (0.00s) 2026-10-18T20:51:40.628040564Z --- PASS: TestRuntimeGuard_ProtectedBinds/equal (0.00s) 2026-10-18T20:51:40.628057616Z --- PASS: TestRuntimeGuard_ProtectedBinds/under (0.00s) 2026-10-18T20:51:40.628076313Z --- PASS: TestRuntimeGuard_ProtectedBinds/ancestor (0.00s) 2026-10-18T20:51:40.628092372Z --- PASS: TestRuntimeGuard_ProtectedBinds/symlink (0.00s) 2026-10-18T20:51:40.628105637Z === RUN TestRuntimeGuard_OwnSecretBindException 2026-10-18T20:51:40.628114959Z === RUN TestRuntimeGuard_OwnSecretBindException/wrong_app 2026-10-18T20:51:40.628125859Z === RUN TestRuntimeGuard_OwnSecretBindException/no_app_label 2026-10-18T20:51:40.628138676Z === RUN TestRuntimeGuard_OwnSecretBindException/wrong_name 2026-10-18T20:51:40.628148469Z === RUN TestRuntimeGuard_OwnSecretBindException/extra_segment 2026-10-18T20:51:40.628157592Z === RUN TestRuntimeGuard_OwnSecretBindException/directory_bind 2026-10-18T20:51:40.628166471Z === RUN TestRuntimeGuard_OwnSecretBindException/whole_base 2026-10-18T20:51:40.628183108Z === RUN TestRuntimeGuard_OwnSecretBindException/read-write 2026-10-18T20:51:40.628194263Z === RUN TestRuntimeGuard_OwnSecretBindException/wrong_dest 2026-10-18T20:51:40.628203219Z --- PASS: TestRuntimeGuard_OwnSecretBindException (0.00s) 2026-10-18T20:51:40.628224023Z --- PASS: TestRuntimeGuard_OwnSecretBindException/wrong_app (0.00s) 2026-10-18T20:51:40.628246564Z --- PASS: TestRuntimeGuard_OwnSecretBindException/no_app_label (0.00s) 2026-10-18T20:51:40.628264275Z --- PASS: TestRuntimeGuard_OwnSecretBindException/wrong_name (0.00s) 2026-10-18T20:51:40.628283517Z --- PASS: TestRuntimeGuard_OwnSecretBindException/extra_segment (0.00s) 2026-10-18T20:51:40.628308047Z --- PASS: TestRuntimeGuard_OwnSecretBindException/directory_bind (0.00s) 2026-10-18T20:51:40.628340078Z --- PASS: TestRuntimeGuard_OwnSecretBindException/whole_base (0.00s) 2026-10-18T20:51:40.628360538Z --- PASS: TestRuntimeGuard_OwnSecretBindException/read-write (0.00s) 2026-10-18T20:51:40.62837826Z --- PASS: TestRuntimeGuard_OwnSecretBindException/wrong_dest (0.00s) 2026-10-18T20:51:40.628393749Z === RUN TestRuntimeGuard_ReadOnlyLogDirs 2026-10-18T20:51:40.628407979Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/writable_log_dir 2026-10-18T20:51:40.628427376Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/writable_log_subdir 2026-10-18T20:51:40.628452832Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/data_dir_read-only 2026-10-18T20:51:40.628476411Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/sibling_of_logs 2026-10-18T20:51:40.628501389Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/symlink_out_of_logs 2026-10-18T20:51:40.628530793Z === RUN TestRuntimeGuard_ReadOnlyLogDirs/log_dir_with_protected 2026-10-18T20:51:40.628547238Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs (0.00s) 2026-10-18T20:51:40.628578711Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/writable_log_dir (0.00s) 2026-10-18T20:51:40.62862084Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/writable_log_subdir (0.00s) 2026-10-18T20:51:40.6286636Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/data_dir_read-only (0.00s) 2026-10-18T20:51:40.628705638Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/sibling_of_logs (0.00s) 2026-10-18T20:51:40.628733994Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/symlink_out_of_logs (0.00s) 2026-10-18T20:51:40.628757463Z --- PASS: TestRuntimeGuard_ReadOnlyLogDirs/log_dir_with_protected (0.00s) 2026-10-18T20:51:40.628775779Z PASS 2026-10-18T20:51:40.628787027Z ok github.com/bnema/gordon/internal/domain 1.080s 2026-10-18T20:51:40.628796926Z ? github.com/bnema/gordon/internal/testutils [no test files] 2026-10-18T20:51:40.628808553Z ? github.com/bnema/gordon/internal/testutils/mocks [no test files] 2026-10-18T20:51:40.628824549Z === RUN TestAppService_Show_FreshDesiredOnlyApp 2026-10-18T20:51:40.628836449Z --- PASS: TestAppService_Show_FreshDesiredOnlyApp (0.00s) 2026-10-18T20:51:40.628855849Z === RUN TestAppService_Show_ConvergedAppWithRetainedResources 2026-10-18T20:51:40.628866985Z --- PASS: TestAppService_Show_ConvergedAppWithRetainedResources (0.00s) 2026-10-18T20:51:40.628878855Z === RUN TestAppService_Show_MixedRevisionsArePending 2026-10-18T20:51:40.628892805Z --- PASS: TestAppService_Show_MixedRevisionsArePending (0.00s) 2026-10-18T20:51:40.628905422Z === RUN TestAppService_Show_StoppedAppKeepsReadModel 2026-10-18T20:51:40.628918664Z --- PASS: TestAppService_Show_StoppedAppKeepsReadModel (0.00s) 2026-10-18T20:51:40.628932924Z === RUN TestAppService_Show_UnknownAppIsNotFound 2026-10-18T20:51:40.628944274Z --- PASS: TestAppService_Show_UnknownAppIsNotFound (0.00s) 2026-10-18T20:51:40.628956414Z === RUN TestAppService_List_SkipsRetiredNamesAndReportsReadModel 2026-10-18T20:51:40.628966626Z --- PASS: TestAppService_List_SkipsRetiredNamesAndReportsReadModel (0.00s) 2026-10-18T20:51:40.628976621Z === RUN TestAppServiceImpl_SecretsRoundTrip 2026-10-18T20:51:40.628985841Z --- PASS: TestAppServiceImpl_SecretsRoundTrip (0.00s) 2026-10-18T20:51:40.628994619Z === RUN TestAppServiceImpl_SetSecrets_UnappliedServiceHint 2026-10-18T20:51:40.629003369Z --- PASS: TestAppServiceImpl_SetSecrets_UnappliedServiceHint (0.00s) 2026-10-18T20:51:40.62901599Z === RUN TestAppServiceImpl_DeleteSecret_NoApplyHint 2026-10-18T20:51:40.629027847Z --- PASS: TestAppServiceImpl_DeleteSecret_NoApplyHint (0.00s) 2026-10-18T20:51:40.629042252Z === RUN TestAppServiceImpl_SetSecrets_UndeclaredSecretHint 2026-10-18T20:51:40.629057045Z --- PASS: TestAppServiceImpl_SetSecrets_UndeclaredSecretHint (0.00s) 2026-10-18T20:51:40.629066912Z === RUN TestAppServiceImpl_OperationByKey 2026-10-18T20:51:40.62907764Z --- PASS: TestAppServiceImpl_OperationByKey (0.00s) 2026-10-18T20:51:40.629095512Z === RUN TestAppServiceImpl_ListSecrets_MissingAppNotFound 2026-10-18T20:51:40.629106438Z --- PASS: TestAppServiceImpl_ListSecrets_MissingAppNotFound (0.00s) 2026-10-18T20:51:40.629117699Z === RUN TestAppServiceImpl_ListSecrets_OwnershipOnlyAppStaysLive 2026-10-18T20:51:40.629131869Z --- PASS: TestAppServiceImpl_ListSecrets_OwnershipOnlyAppStaysLive (0.00s) 2026-10-18T20:51:40.629144577Z === RUN TestAppServiceImpl_ListSecrets_WrapsLoadErrors 2026-10-18T20:51:40.629158425Z --- PASS: TestAppServiceImpl_ListSecrets_WrapsLoadErrors (0.00s) 2026-10-18T20:51:40.629172156Z === RUN TestApply_AcceptsBindsUnderAdministrativePolicy 2026-10-18T20:51:40.629188288Z --- PASS: TestApply_AcceptsBindsUnderAdministrativePolicy (0.00s) 2026-10-18T20:51:40.629201742Z === RUN TestApply_RejectsBindWithoutPolicyBeforeStoreAccess 2026-10-18T20:51:40.629213253Z --- PASS: TestApply_RejectsBindWithoutPolicyBeforeStoreAccess (0.00s) 2026-10-18T20:51:40.629221987Z === RUN TestApply_RejectsBindOutsideAllowlists 2026-10-18T20:51:40.629231339Z === RUN TestApply_RejectsBindOutsideAllowlists/app_not_allowed 2026-10-18T20:51:40.629240404Z === RUN TestApply_RejectsBindOutsideAllowlists/service_not_allowed 2026-10-18T20:51:40.629257478Z --- PASS: TestApply_RejectsBindOutsideAllowlists (0.00s) 2026-10-18T20:51:40.62927871Z --- PASS: TestApply_RejectsBindOutsideAllowlists/app_not_allowed (0.00s) 2026-10-18T20:51:40.629304862Z --- PASS: TestApply_RejectsBindOutsideAllowlists/service_not_allowed (0.00s) 2026-10-18T20:51:40.629316392Z === RUN TestApply_RejectsBindSourceOutsideRoot 2026-10-18T20:51:40.629329959Z --- PASS: TestApply_RejectsBindSourceOutsideRoot (0.00s) 2026-10-18T20:51:40.629344401Z === RUN TestApply_BindPoliciesReplaceOnReload 2026-10-18T20:51:40.629357664Z --- PASS: TestApply_BindPoliciesReplaceOnReload (0.00s) 2026-10-18T20:51:40.629370964Z === RUN TestApply_AcceptsCapabilitiesUnderAdministrativePolicy 2026-10-18T20:51:40.629386047Z --- PASS: TestApply_AcceptsCapabilitiesUnderAdministrativePolicy (0.00s) 2026-10-18T20:51:40.629404568Z === RUN TestApply_RejectsCapabilityWithoutPolicyBeforeStoreAccess 2026-10-18T20:51:40.629421492Z --- PASS: TestApply_RejectsCapabilityWithoutPolicyBeforeStoreAccess (0.00s) 2026-10-18T20:51:40.629434693Z === RUN TestApply_RejectsCapabilityOutsideAllowlists 2026-10-18T20:51:40.629444127Z === RUN TestApply_RejectsCapabilityOutsideAllowlists/app_not_allowed 2026-10-18T20:51:40.629453221Z === RUN TestApply_RejectsCapabilityOutsideAllowlists/service_not_allowed 2026-10-18T20:51:40.629466006Z --- PASS: TestApply_RejectsCapabilityOutsideAllowlists (0.00s) 2026-10-18T20:51:40.629486054Z --- PASS: TestApply_RejectsCapabilityOutsideAllowlists/app_not_allowed (0.00s) 2026-10-18T20:51:40.629520106Z --- PASS: TestApply_RejectsCapabilityOutsideAllowlists/service_not_allowed (0.00s) 2026-10-18T20:51:40.629542521Z === RUN TestApply_CapabilityPoliciesReplaceOnReload 2026-10-18T20:51:40.629558686Z --- PASS: TestApply_CapabilityPoliciesReplaceOnReload (0.00s) 2026-10-18T20:51:40.629573134Z === RUN TestApply_CapabilityDryRunRefusedWithoutMutation 2026-10-18T20:51:40.629588016Z --- PASS: TestApply_CapabilityDryRunRefusedWithoutMutation (0.00s) 2026-10-18T20:51:40.629606179Z === RUN TestAppServiceImpl_Deploy_ReturnsRunningJournalAfterPersistence 2026-10-18T20:51:40.629624396Z --- PASS: TestAppServiceImpl_Deploy_ReturnsRunningJournalAfterPersistence (0.00s) 2026-10-18T20:51:40.629638812Z === RUN TestAppServiceImpl_Deploy_RequestCancellationDoesNotCancelExecution 2026-10-18T20:51:40.629653284Z --- PASS: TestAppServiceImpl_Deploy_RequestCancellationDoesNotCancelExecution (0.05s) 2026-10-18T20:51:40.629669877Z === RUN TestAppServiceImpl_Deploy_DuplicateKeyNeverSpawnsSecondExecution 2026-10-18T20:51:40.629680233Z --- PASS: TestAppServiceImpl_Deploy_DuplicateKeyNeverSpawnsSecondExecution (0.00s) 2026-10-18T20:51:40.629689724Z === RUN TestAppServiceImpl_Deploy_TerminalFailureRemainsQueryable 2026-10-18T20:51:40.629699002Z --- PASS: TestAppServiceImpl_Deploy_TerminalFailureRemainsQueryable (0.00s) 2026-10-18T20:51:40.629709095Z === RUN TestAppServiceImpl_Deploy_ShutdownLeavesRecoverableNonTerminalJournal 2026-10-18T20:51:40.629728914Z --- PASS: TestAppServiceImpl_Deploy_ShutdownLeavesRecoverableNonTerminalJournal (0.00s) 2026-10-18T20:51:40.629743786Z === RUN TestAppServiceImpl_Deploy_RefusesAfterShutdownBeforeClaim 2026-10-18T20:51:40.629753512Z --- PASS: TestAppServiceImpl_Deploy_RefusesAfterShutdownBeforeClaim (0.00s) 2026-10-18T20:51:40.629768593Z === RUN TestAppServiceImpl_Deploy_ShutdownRacingClaimSettlesWithoutExecuting 2026-10-18T20:51:40.629779533Z --- PASS: TestAppServiceImpl_Deploy_ShutdownRacingClaimSettlesWithoutExecuting (0.05s) 2026-10-18T20:51:40.629794751Z === RUN TestApply_AcceptsDevicesUnderAdministrativePolicy 2026-10-18T20:51:40.629807892Z --- PASS: TestApply_AcceptsDevicesUnderAdministrativePolicy (0.00s) 2026-10-18T20:51:40.629821038Z === RUN TestApply_RejectsDeviceWithoutPolicyBeforeStoreAccess 2026-10-18T20:51:40.62983436Z --- PASS: TestApply_RejectsDeviceWithoutPolicyBeforeStoreAccess (0.00s) 2026-10-18T20:51:40.629847647Z === RUN TestApply_RejectsDeviceOutsideAllowlists 2026-10-18T20:51:40.629858705Z === RUN TestApply_RejectsDeviceOutsideAllowlists/app_not_allowed 2026-10-18T20:51:40.629867494Z === RUN TestApply_RejectsDeviceOutsideAllowlists/service_not_allowed 2026-10-18T20:51:40.629876672Z --- PASS: TestApply_RejectsDeviceOutsideAllowlists (0.00s) 2026-10-18T20:51:40.62989422Z --- PASS: TestApply_RejectsDeviceOutsideAllowlists/app_not_allowed (0.00s) 2026-10-18T20:51:40.629916411Z --- PASS: TestApply_RejectsDeviceOutsideAllowlists/service_not_allowed (0.00s) 2026-10-18T20:51:40.629931828Z === RUN TestApply_DevicePoliciesReplaceOnReload 2026-10-18T20:51:40.629945031Z --- PASS: TestApply_DevicePoliciesReplaceOnReload (0.00s) 2026-10-18T20:51:40.629958345Z === RUN TestApply_DeviceDryRunRefusedWithoutMutation 2026-10-18T20:51:40.629973612Z --- PASS: TestApply_DeviceDryRunRefusedWithoutMutation (0.00s) 2026-10-18T20:51:40.629986778Z === RUN TestApply_RejectsDuplicateCDIIDsAcrossDevices 2026-10-18T20:51:40.630000914Z --- PASS: TestApply_RejectsDuplicateCDIIDsAcrossDevices (0.00s) 2026-10-18T20:51:40.630015092Z === RUN TestCountManagedContainers_Lifecycle 2026-10-18T20:51:40.630028378Z --- PASS: TestCountManagedContainers_Lifecycle (0.00s) 2026-10-18T20:51:40.630043218Z === RUN TestCountManagedContainers_Error 2026-10-18T20:51:40.63005666Z --- PASS: TestCountManagedContainers_Error (0.00s) 2026-10-18T20:51:40.630070064Z === RUN TestAppServiceImpl_Deploy_MultiServiceRequiresScope 2026-10-18T20:51:40.630085208Z --- PASS: TestAppServiceImpl_Deploy_MultiServiceRequiresScope (0.00s) 2026-10-18T20:51:40.630099081Z === RUN TestAppServiceImpl_Deploy_OldRevisionWithMultipleServicesRequiresScope 2026-10-18T20:51:40.630113993Z --- PASS: TestAppServiceImpl_Deploy_OldRevisionWithMultipleServicesRequiresScope (0.00s) 2026-10-18T20:51:40.630128886Z === RUN TestAppServiceImpl_Deploy_SingleServiceNeedsNoScope 2026-10-18T20:51:40.630142769Z --- PASS: TestAppServiceImpl_Deploy_SingleServiceNeedsNoScope (0.00s) 2026-10-18T20:51:40.630158101Z === RUN TestAppServiceImpl_Deploy_AllSkipsScopeCheck 2026-10-18T20:51:40.63017182Z --- PASS: TestAppServiceImpl_Deploy_AllSkipsScopeCheck (0.00s) 2026-10-18T20:51:40.630185092Z === RUN TestAppServiceImpl_Deploy_AllAndServiceAreExclusive 2026-10-18T20:51:40.630200211Z --- PASS: TestAppServiceImpl_Deploy_AllAndServiceAreExclusive (0.00s) 2026-10-18T20:51:40.630213597Z === RUN TestAppServiceImpl_Restart_MultiServiceRequiresScope 2026-10-18T20:51:40.630227469Z --- PASS: TestAppServiceImpl_Restart_MultiServiceRequiresScope (0.00s) 2026-10-18T20:51:40.630242299Z === RUN TestAppServiceImpl_Restart_AllAndServiceAreExclusive 2026-10-18T20:51:40.630255856Z --- PASS: TestAppServiceImpl_Restart_AllAndServiceAreExclusive (0.00s) 2026-10-18T20:51:40.630271227Z === RUN TestApply_RejectsImageOutsideRegistryAllowlistBeforeStoreAccess 2026-10-18T20:51:40.630285486Z --- PASS: TestApply_RejectsImageOutsideRegistryAllowlistBeforeStoreAccess (0.00s) 2026-10-18T20:51:40.630298726Z === RUN TestApply_RequireDigestIncludesInstallationRegistry 2026-10-18T20:51:40.630313845Z --- PASS: TestApply_RequireDigestIncludesInstallationRegistry (0.00s) 2026-10-18T20:51:40.630326881Z === RUN TestApply_HoldsSharedGCLease 2026-10-18T20:51:40.630336151Z --- PASS: TestApply_HoldsSharedGCLease (0.00s) 2026-10-18T20:51:40.630341657Z === RUN TestApply_FailsClosedWhenGCBarrierRefuses 2026-10-18T20:51:40.630352043Z --- PASS: TestApply_FailsClosedWhenGCBarrierRefuses (0.00s) 2026-10-18T20:51:40.630360117Z === RUN TestApply_AcceptsAndPersists 2026-10-18T20:51:40.630368732Z --- PASS: TestApply_AcceptsAndPersists (0.00s) 2026-10-18T20:51:40.630376791Z === RUN TestApply_NoopIsIdempotent 2026-10-18T20:51:40.630391528Z --- PASS: TestApply_NoopIsIdempotent (0.00s) 2026-10-18T20:51:40.630399993Z === RUN TestApply_DryRunWritesNothing 2026-10-18T20:51:40.630416809Z --- PASS: TestApply_DryRunWritesNothing (0.00s) 2026-10-18T20:51:40.630427099Z === RUN TestApply_ImageOnlyDiffPreservesActiveNetworks 2026-10-18T20:51:40.630436513Z --- PASS: TestApply_ImageOnlyDiffPreservesActiveNetworks (0.00s) 2026-10-18T20:51:40.630447565Z === RUN TestApply_RejectsCrossAppConflict 2026-10-18T20:51:40.630457046Z --- PASS: TestApply_RejectsCrossAppConflict (0.00s) 2026-10-18T20:51:40.630465649Z === RUN TestApply_RejectsDuplicateClaimInCandidate 2026-10-18T20:51:40.630476102Z --- PASS: TestApply_RejectsDuplicateClaimInCandidate (0.00s) 2026-10-18T20:51:40.630485013Z === RUN TestApply_RejectsOverlappingWildcardClaimInCandidate 2026-10-18T20:51:40.630491141Z --- PASS: TestApply_RejectsOverlappingWildcardClaimInCandidate (0.00s) 2026-10-18T20:51:40.630499465Z === RUN TestApply_InvalidSpecFailsBeforeStore 2026-10-18T20:51:40.630510598Z --- PASS: TestApply_InvalidSpecFailsBeforeStore (0.00s) 2026-10-18T20:51:40.630521347Z === RUN TestApply_RejectsPublishMismatchBeforeStore 2026-10-18T20:51:40.63052741Z --- PASS: TestApply_RejectsPublishMismatchBeforeStore (0.00s) 2026-10-18T20:51:40.630532498Z === RUN TestApply_RejectsUnknownEntrypointBeforeStore 2026-10-18T20:51:40.630541265Z --- PASS: TestApply_RejectsUnknownEntrypointBeforeStore (0.00s) 2026-10-18T20:51:40.63055885Z === RUN TestApply_SamePortDifferentProtoCoexists 2026-10-18T20:51:40.630569545Z --- PASS: TestApply_SamePortDifferentProtoCoexists (0.00s) 2026-10-18T20:51:40.630578192Z === RUN TestReservationsFor_DelegatesToDomain 2026-10-18T20:51:40.630587376Z --- PASS: TestReservationsFor_DelegatesToDomain (0.00s) 2026-10-18T20:51:40.630596375Z === RUN TestApply_ImageOnlyDiffWithAppEnv 2026-10-18T20:51:40.630605052Z --- PASS: TestApply_ImageOnlyDiffWithAppEnv (0.00s) 2026-10-18T20:51:40.630612248Z PASS 2026-10-18T20:51:40.630620701Z ok github.com/bnema/gordon/internal/usecase/apps 1.151s 2026-10-18T20:51:40.661864499Z === RUN TestActivator_RebuildHostIndex 2026-10-18T20:51:40.661917197Z 2026-10-18T20:51:39Z INF apptraffic: host index rebuilt hosts=1 2026-10-18T20:51:40.661941128Z --- PASS: TestActivator_RebuildHostIndex (0.00s) 2026-10-18T20:51:40.661963911Z === RUN TestProject_HTTP 2026-10-18T20:51:40.661977129Z --- PASS: TestProject_HTTP (0.00s) 2026-10-18T20:51:40.661992304Z === RUN TestProject_TCPUDP 2026-10-18T20:51:40.662002728Z --- PASS: TestProject_TCPUDP (0.00s) 2026-10-18T20:51:40.662015771Z === RUN TestProject_SamePortTCPUDPResolvesDistinctBackends 2026-10-18T20:51:40.662025912Z --- PASS: TestProject_SamePortTCPUDPResolvesDistinctBackends (0.00s) 2026-10-18T20:51:40.662046479Z === RUN TestProject_TCPAsOrdinaryRCON 2026-10-18T20:51:40.662060453Z --- PASS: TestProject_TCPAsOrdinaryRCON (0.00s) 2026-10-18T20:51:40.662073017Z === RUN TestProject_RejectsPublishMismatch 2026-10-18T20:51:40.662092617Z === RUN TestProject_RejectsPublishMismatch/loopback-vs-wildcard 2026-10-18T20:51:40.662111338Z === RUN TestProject_RejectsPublishMismatch/same-host-different-port 2026-10-18T20:51:40.662126402Z === RUN TestProject_RejectsPublishMismatch/protocol-mismatch 2026-10-18T20:51:40.662138524Z --- PASS: TestProject_RejectsPublishMismatch (0.00s) 2026-10-18T20:51:40.662175417Z --- PASS: TestProject_RejectsPublishMismatch/loopback-vs-wildcard (0.00s) 2026-10-18T20:51:40.662208132Z --- PASS: TestProject_RejectsPublishMismatch/same-host-different-port (0.00s) 2026-10-18T20:51:40.66224439Z --- PASS: TestProject_RejectsPublishMismatch/protocol-mismatch (0.00s) 2026-10-18T20:51:40.66226504Z === RUN TestProject_UnknownEntrypoint 2026-10-18T20:51:40.66227894Z --- PASS: TestProject_UnknownEntrypoint (0.00s) 2026-10-18T20:51:40.66229035Z === RUN TestProject_GameExample 2026-10-18T20:51:40.662303284Z --- PASS: TestProject_GameExample (0.00s) 2026-10-18T20:51:40.662316528Z === RUN TestProject_InternalHTTPExcluded 2026-10-18T20:51:40.662334031Z --- PASS: TestProject_InternalHTTPExcluded (0.00s) 2026-10-18T20:51:40.662352333Z === RUN TestProject_MixedVisibilityProjectsOnlyPublic 2026-10-18T20:51:40.662372803Z --- PASS: TestProject_MixedVisibilityProjectsOnlyPublic (0.00s) 2026-10-18T20:51:40.66238807Z PASS 2026-10-18T20:51:40.662406612Z ok github.com/bnema/gordon/internal/usecase/apptraffic 1.013s 2026-10-18T20:51:40.784545334Z === RUN TestService_GetAuthType 2026-10-18T20:51:40.784589438Z === RUN TestService_GetAuthType/token_type 2026-10-18T20:51:40.784599768Z --- PASS: TestService_GetAuthType (0.00s) 2026-10-18T20:51:40.784657969Z --- PASS: TestService_GetAuthType/token_type (0.00s) 2026-10-18T20:51:40.784686045Z === RUN TestService_IsEnabled 2026-10-18T20:51:40.784701862Z === RUN TestService_IsEnabled/enabled 2026-10-18T20:51:40.784713412Z === RUN TestService_IsEnabled/disabled 2026-10-18T20:51:40.784724119Z --- PASS: TestService_IsEnabled (0.00s) 2026-10-18T20:51:40.784743596Z --- PASS: TestService_IsEnabled/enabled (0.00s) 2026-10-18T20:51:40.784774827Z --- PASS: TestService_IsEnabled/disabled (0.00s) 2026-10-18T20:51:40.784790232Z === RUN TestService_GenerateToken_Success 2026-10-18T20:51:40.784811404Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:51:39Z layer=usecase subject=testsubject token_id=0a6f0217-bb39-4655-a4bc-1c068a32a80a usecase=GenerateToken 2026-10-18T20:51:40.784827557Z --- PASS: TestService_GenerateToken_Success (0.00s) 2026-10-18T20:51:40.784839633Z === RUN TestService_GenerateToken_NeverExpires 2026-10-18T20:51:40.784858716Z 2026-10-18T20:51:39Z INF token generated expires_at=0001-01-01T00:00:00Z layer=usecase subject=ci-bot token_id=01379228-5860-4652-8163-42824fe0ceda usecase=GenerateToken 2026-10-18T20:51:40.784873211Z --- PASS: TestService_GenerateToken_NeverExpires (0.00s) 2026-10-18T20:51:40.784896055Z === RUN TestService_GenerateAccessToken_NoStorage 2026-10-18T20:51:40.784906383Z --- PASS: TestService_GenerateAccessToken_NoStorage (0.00s) 2026-10-18T20:51:40.784918556Z === RUN TestService_GenerateAccessToken_RejectsInvalidExpiry 2026-10-18T20:51:40.784928206Z --- PASS: TestService_GenerateAccessToken_RejectsInvalidExpiry (0.00s) 2026-10-18T20:51:40.784938137Z === RUN TestService_ValidateToken_LongLivedRequiresStore 2026-10-18T20:51:40.78495941Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testuser token_id=2dc4df44-17bd-4961-ba80-ddfa68986819 usecase=GenerateToken 2026-10-18T20:51:40.784970676Z --- PASS: TestService_ValidateToken_LongLivedRequiresStore (0.00s) 2026-10-18T20:51:40.784983544Z === RUN TestService_ValidateToken_NeverExpiringRequiresStore 2026-10-18T20:51:40.784998536Z 2026-10-18T20:51:39Z INF token generated expires_at=0001-01-01T00:00:00Z layer=usecase subject=ci-bot token_id=1826cc4a-d227-4686-b99e-c720b851ffaa usecase=GenerateToken 2026-10-18T20:51:40.78500877Z --- PASS: TestService_ValidateToken_NeverExpiringRequiresStore (0.00s) 2026-10-18T20:51:40.785017097Z === RUN TestService_ValidateToken_Success 2026-10-18T20:51:40.785031256Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testsubject token_id=03ff8044-63fb-44a5-872e-6241654a6664 usecase=GenerateToken 2026-10-18T20:51:40.785045387Z --- PASS: TestService_ValidateToken_Success (0.00s) 2026-10-18T20:51:40.785056843Z === RUN TestService_ValidateToken_Revoked 2026-10-18T20:51:40.785076088Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testsubject token_id=79caddc2-d10f-4c2b-be23-2604d7c7703f usecase=GenerateToken 2026-10-18T20:51:40.785089067Z --- PASS: TestService_ValidateToken_Revoked (0.00s) 2026-10-18T20:51:40.785099462Z === RUN TestService_ValidateToken_InvalidSignature 2026-10-18T20:51:40.785113822Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:51:39Z layer=usecase subject=testsubject token_id=d87b8f4f-c624-43fc-a43b-fcd1cfd7eec6 usecase=GenerateToken 2026-10-18T20:51:40.785128608Z --- PASS: TestService_ValidateToken_InvalidSignature (0.00s) 2026-10-18T20:51:40.785137285Z === RUN TestService_ValidateToken_Expired 2026-10-18T20:51:40.785156916Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T20:51:39Z layer=usecase subject=testsubject token_id=21c31dfa-2807-4199-8334-a9c3611574ed usecase=GenerateToken 2026-10-18T20:51:40.785170224Z --- PASS: TestService_ValidateToken_Expired (0.01s) 2026-10-18T20:51:40.785183045Z === RUN TestService_ValidateToken_MalformedToken 2026-10-18T20:51:40.785194836Z --- PASS: TestService_ValidateToken_MalformedToken (0.00s) 2026-10-18T20:51:40.785205918Z === RUN TestService_RevokeToken 2026-10-18T20:51:40.78522422Z 2026-10-18T20:51:39Z INF token revoked layer=usecase token_id=550e8400-e29b-41d4-a716-446655440000 usecase=RevokeToken 2026-10-18T20:51:40.785238473Z --- PASS: TestService_RevokeToken (0.00s) 2026-10-18T20:51:40.785249064Z === RUN TestService_RevokeAllTokens 2026-10-18T20:51:40.78530153Z === RUN TestService_RevokeAllTokens/revokes_all_active_tokens 2026-10-18T20:51:40.785325853Z 2026-10-18T20:51:39Z INF all tokens revoked count=2 layer=usecase usecase=RevokeAllTokens 2026-10-18T20:51:40.785339959Z === RUN TestService_RevokeAllTokens/returns_zero_when_no_active_tokens 2026-10-18T20:51:40.785358826Z 2026-10-18T20:51:39Z INF all tokens revoked count=0 layer=usecase usecase=RevokeAllTokens 2026-10-18T20:51:40.78537146Z === RUN TestService_RevokeAllTokens/returns_zero_when_no_tokens_exist 2026-10-18T20:51:40.785384Z 2026-10-18T20:51:39Z INF all tokens revoked count=0 layer=usecase usecase=RevokeAllTokens 2026-10-18T20:51:40.78539372Z === RUN TestService_RevokeAllTokens/returns_error_when_ListTokens_fails 2026-10-18T20:51:40.785407317Z 2026-10-18T20:51:39Z ERR failed to list tokens error="storage unavailable" layer=usecase usecase=RevokeAllTokens 2026-10-18T20:51:40.785419339Z === RUN TestService_RevokeAllTokens/continues_on_partial_revoke_failure 2026-10-18T20:51:40.785440598Z 2026-10-18T20:51:39Z WRN failed to revoke token error="revoke failed" layer=usecase token_id=token-2 usecase=RevokeAllTokens 2026-10-18T20:51:40.785458873Z 2026-10-18T20:51:39Z INF all tokens revoked count=2 layer=usecase usecase=RevokeAllTokens 2026-10-18T20:51:40.785471045Z --- PASS: TestService_RevokeAllTokens (0.00s) 2026-10-18T20:51:40.785495377Z --- PASS: TestService_RevokeAllTokens/revokes_all_active_tokens (0.00s) 2026-10-18T20:51:40.785528523Z --- PASS: TestService_RevokeAllTokens/returns_zero_when_no_active_tokens (0.00s) 2026-10-18T20:51:40.785554553Z --- PASS: TestService_RevokeAllTokens/returns_zero_when_no_tokens_exist (0.00s) 2026-10-18T20:51:40.785580191Z --- PASS: TestService_RevokeAllTokens/returns_error_when_ListTokens_fails (0.00s) 2026-10-18T20:51:40.78560441Z --- PASS: TestService_RevokeAllTokens/continues_on_partial_revoke_failure (0.00s) 2026-10-18T20:51:40.78561711Z === RUN TestService_ListTokens 2026-10-18T20:51:40.785634197Z --- PASS: TestService_ListTokens (0.00s) 2026-10-18T20:51:40.785646747Z === RUN TestService_GenerateToken_HasNbfClaim 2026-10-18T20:51:40.785666557Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:51:39Z layer=usecase subject=testsubject token_id=36f38822-abad-45e6-9dc0-2adfc608cfa9 usecase=GenerateToken 2026-10-18T20:51:40.785682832Z --- PASS: TestService_GenerateToken_HasNbfClaim (0.00s) 2026-10-18T20:51:40.785692664Z === RUN TestService_GenerateAccessToken_HasNbfClaim 2026-10-18T20:51:40.785702145Z --- PASS: TestService_GenerateAccessToken_HasNbfClaim (0.00s) 2026-10-18T20:51:40.785710787Z === RUN TestExtendTokenSlidesExpiry 2026-10-18T20:51:40.785725165Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testuser token_id=fad10cfc-a409-4649-9fc8-5080f90ba332 usecase=GenerateToken 2026-10-18T20:51:40.785734768Z --- PASS: TestExtendTokenSlidesExpiry (0.00s) 2026-10-18T20:51:40.785747757Z === RUN TestExtendTokenDebounce 2026-10-18T20:51:40.785767118Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testuser token_id=157d83fb-0813-46ec-9b51-b1783b8c67fc usecase=GenerateToken 2026-10-18T20:51:40.785779663Z --- PASS: TestExtendTokenDebounce (0.00s) 2026-10-18T20:51:40.785791454Z === RUN TestExtendTokenSkipsEphemeral 2026-10-18T20:51:40.785804625Z --- PASS: TestExtendTokenSkipsEphemeral (0.00s) 2026-10-18T20:51:40.78581666Z === RUN TestIsEphemeralAccessTokenRejectsFutureIat 2026-10-18T20:51:40.785842964Z service_test.go:934: token with future iat rejected at parse: invalid token 2026-10-18T20:51:40.785856875Z --- PASS: TestIsEphemeralAccessTokenRejectsFutureIat (0.00s) 2026-10-18T20:51:40.785868569Z === RUN TestIsEphemeralAccessTokenRequiresExplicitTokenType 2026-10-18T20:51:40.785880384Z --- PASS: TestIsEphemeralAccessTokenRequiresExplicitTokenType (0.00s) 2026-10-18T20:51:40.785970399Z === RUN TestExtendTokenSkipsServiceToken 2026-10-18T20:51:40.78600731Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-19T20:51:39Z layer=usecase subject=gordon-service token_id=71307a09-fbe9-45cc-b837-4ba584b853de usecase=GenerateToken 2026-10-18T20:51:40.786028693Z --- PASS: TestExtendTokenSkipsServiceToken (0.00s) 2026-10-18T20:51:40.786047275Z === RUN TestValidateToken_IsEphemeral_EphemeralToken 2026-10-18T20:51:40.786069982Z --- PASS: TestValidateToken_IsEphemeral_EphemeralToken (0.00s) 2026-10-18T20:51:40.786101141Z === RUN TestValidateToken_IsEphemeral_StoredToken 2026-10-18T20:51:40.786131048Z 2026-10-18T20:51:39Z INF token generated expires_at=2026-10-18T21:52:39Z layer=usecase subject=testuser token_id=9fffd67f-584c-46c3-8584-bd857e7fb45b usecase=GenerateToken 2026-10-18T20:51:40.786152938Z --- PASS: TestValidateToken_IsEphemeral_StoredToken (0.00s) 2026-10-18T20:51:40.786168273Z === RUN TestValidateToken_IsEphemeral_NeverExpiringToken 2026-10-18T20:51:40.78620718Z 2026-10-18T20:51:39Z INF token generated expires_at=0001-01-01T00:00:00Z layer=usecase subject=ci-bot token_id=b4d7ea55-e71d-4d54-b62c-5069addd21ed usecase=GenerateToken 2026-10-18T20:51:40.786234853Z --- PASS: TestValidateToken_IsEphemeral_NeverExpiringToken (0.00s) 2026-10-18T20:51:40.786259935Z PASS 2026-10-18T20:51:40.786280427Z ok github.com/bnema/gordon/internal/usecase/auth 1.046s 2026-10-18T20:51:41.639125697Z === RUN TestVolumeService_RecordsRunMetrics 2026-10-18T20:51:41.639163374Z === RUN TestVolumeService_RecordsRunMetrics/success 2026-10-18T20:51:41.639171679Z === RUN TestVolumeService_RecordsRunMetrics/export_failure 2026-10-18T20:51:41.639180773Z --- PASS: TestVolumeService_RecordsRunMetrics (0.00s) 2026-10-18T20:51:41.639251976Z --- PASS: TestVolumeService_RecordsRunMetrics/success (0.00s) 2026-10-18T20:51:41.639279655Z --- PASS: TestVolumeService_RecordsRunMetrics/export_failure (0.00s) 2026-10-18T20:51:41.639321695Z === RUN TestVolumeService_SeedMetrics 2026-10-18T20:51:41.639366087Z --- PASS: TestVolumeService_SeedMetrics (0.00s) 2026-10-18T20:51:41.639403747Z === RUN TestService_RecordsRunMetrics 2026-10-18T20:51:41.639419076Z === RUN TestService_RecordsRunMetrics/pg_dump_failure 2026-10-18T20:51:41.639425351Z === RUN TestService_RecordsRunMetrics/success 2026-10-18T20:51:41.639468735Z --- PASS: TestService_RecordsRunMetrics (0.00s) 2026-10-18T20:51:41.639524576Z --- PASS: TestService_RecordsRunMetrics/pg_dump_failure (0.00s) 2026-10-18T20:51:41.63957633Z --- PASS: TestService_RecordsRunMetrics/success (0.00s) 2026-10-18T20:51:41.639594594Z === RUN TestService_SeedMetrics 2026-10-18T20:51:41.639631592Z --- PASS: TestService_SeedMetrics (0.00s) 2026-10-18T20:51:41.639648444Z === RUN TestService_TargetsResolveFromDeclarations 2026-10-18T20:51:41.639685178Z --- PASS: TestService_TargetsResolveFromDeclarations (0.00s) 2026-10-18T20:51:41.639701891Z === RUN TestService_TargetsIgnoreUnreferencedDatabases 2026-10-18T20:51:41.639742843Z --- PASS: TestService_TargetsIgnoreUnreferencedDatabases (0.00s) 2026-10-18T20:51:41.639757854Z === RUN TestService_TargetsSkipStoppedApps 2026-10-18T20:51:41.63979765Z --- PASS: TestService_TargetsSkipStoppedApps (0.00s) 2026-10-18T20:51:41.639813017Z === RUN TestService_RunBackup_StoresUnderAppIdentity 2026-10-18T20:51:41.639819849Z --- PASS: TestService_RunBackup_StoresUnderAppIdentity (0.00s) 2026-10-18T20:51:41.639856596Z === RUN TestService_RunBackup_SelectorRules 2026-10-18T20:51:41.639871661Z --- PASS: TestService_RunBackup_SelectorRules (0.00s) 2026-10-18T20:51:41.639878333Z === RUN TestService_RunForSchedule_RunsOnlyTheDeclaredSchedule 2026-10-18T20:51:41.639914669Z --- PASS: TestService_RunForSchedule_RunsOnlyTheDeclaredSchedule (0.00s) 2026-10-18T20:51:41.639930609Z === RUN TestService_RunForSchedule_RejectsUnknownSchedule 2026-10-18T20:51:41.639981093Z --- PASS: TestService_RunForSchedule_RejectsUnknownSchedule (0.00s) 2026-10-18T20:51:41.639998767Z === RUN TestService_ListBackupsUsesAppIdentity 2026-10-18T20:51:41.64004257Z --- PASS: TestService_ListBackupsUsesAppIdentity (0.00s) 2026-10-18T20:51:41.640059185Z === RUN TestNewVolumeBackupJobIDIsShortAndUnique 2026-10-18T20:51:41.640117521Z --- PASS: TestNewVolumeBackupJobIDIsShortAndUnique (0.00s) 2026-10-18T20:51:41.640170882Z === RUN TestVolumeService_TargetsResolveFromDeclarations 2026-10-18T20:51:41.640187667Z --- PASS: TestVolumeService_TargetsResolveFromDeclarations (0.00s) 2026-10-18T20:51:41.640265141Z === RUN TestVolumeService_RunVolumeBackups_ExportsTheDeclaredVolume 2026-10-18T20:51:41.640314885Z --- PASS: TestVolumeService_RunVolumeBackups_ExportsTheDeclaredVolume (0.00s) 2026-10-18T20:51:41.640358188Z === RUN TestVolumeService_RunVolumeBackups_SelectorRules 2026-10-18T20:51:41.640385893Z --- PASS: TestVolumeService_RunVolumeBackups_SelectorRules (0.00s) 2026-10-18T20:51:41.640397793Z === RUN TestVolumeService_RunVolumeBackupsForSchedule_RunsEveryDeclaredTarget 2026-10-18T20:51:41.640409883Z --- PASS: TestVolumeService_RunVolumeBackupsForSchedule_RunsEveryDeclaredTarget (0.00s) 2026-10-18T20:51:41.640421016Z === RUN TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency 2026-10-18T20:51:41.640430707Z === RUN TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency/max_concurrency=1 2026-10-18T20:51:41.640476899Z === RUN TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency/max_concurrency=2 2026-10-18T20:51:41.640494233Z --- PASS: TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency (0.04s) 2026-10-18T20:51:41.640558739Z --- PASS: TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency/max_concurrency=1 (0.02s) 2026-10-18T20:51:41.64058956Z --- PASS: TestVolumeService_RunVolumeBackupsForSchedule_HonorsMaxConcurrency/max_concurrency=2 (0.02s) 2026-10-18T20:51:41.640637195Z === RUN TestVolumeService_DisabledDoesNothing 2026-10-18T20:51:41.640679365Z --- PASS: TestVolumeService_DisabledDoesNothing (0.00s) 2026-10-18T20:51:41.640697294Z === RUN TestVolumeService_ListVolumeBackupsWrapsStorageError 2026-10-18T20:51:41.6407045Z --- PASS: TestVolumeService_ListVolumeBackupsWrapsStorageError (0.00s) 2026-10-18T20:51:41.640791Z === RUN TestVolumeService_FailedExportReportsTheJob 2026-10-18T20:51:41.640819161Z --- PASS: TestVolumeService_FailedExportReportsTheJob (0.00s) 2026-10-18T20:51:41.640828898Z PASS 2026-10-18T20:51:41.640875221Z ok github.com/bnema/gordon/internal/usecase/backup 1.072s 2026-10-18T20:51:41.640890262Z === RUN TestService_Load 2026-10-18T20:51:41.640929939Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=5000 server_port=8080 usecase=Load 2026-10-18T20:51:41.640947687Z --- PASS: TestService_Load (0.00s) 2026-10-18T20:51:41.641013708Z === RUN TestService_LoadPrefersExplicitRegistryAddress 2026-10-18T20:51:41.641058793Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=0 usecase=Load 2026-10-18T20:51:41.641103617Z --- PASS: TestService_LoadPrefersExplicitRegistryAddress (0.00s) 2026-10-18T20:51:41.641119878Z === RUN TestService_Reload 2026-10-18T20:51:41.641188497Z === RUN TestService_Reload/success_-_picks_up_config_file_changes 2026-10-18T20:51:41.641235279Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=8080 usecase=Load 2026-10-18T20:51:41.641282683Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=9090 usecase=Load 2026-10-18T20:51:41.641326695Z === RUN TestService_Reload/error_-_config_file_not_found 2026-10-18T20:51:41.641373624Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=8080 usecase=Load 2026-10-18T20:51:41.641424904Z 2026-10-18T20:51:40Z ERR failed to read config file error="open /tmp/TestService_Reloaderror_-_config_file_not_found1089115940/001/gordon.toml: no such file or directory" layer=usecase usecase=Reload 2026-10-18T20:51:41.641443838Z === RUN TestService_Reload/error_-_invalid_config_syntax 2026-10-18T20:51:41.641484638Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=8080 usecase=Load 2026-10-18T20:51:41.641544703Z 2026-10-18T20:51:40Z ERR failed to read config file error="While parsing config: toml: expected ']' to close table name" layer=usecase usecase=Reload 2026-10-18T20:51:41.641567784Z --- PASS: TestService_Reload (0.00s) 2026-10-18T20:51:41.641620189Z --- PASS: TestService_Reload/success_-_picks_up_config_file_changes (0.00s) 2026-10-18T20:51:41.641673892Z --- PASS: TestService_Reload/error_-_config_file_not_found (0.00s) 2026-10-18T20:51:41.641723275Z --- PASS: TestService_Reload/error_-_invalid_config_syntax (0.00s) 2026-10-18T20:51:41.641744492Z === RUN TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys 2026-10-18T20:51:41.641817642Z === RUN TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys/invalid 2026-10-18T20:51:41.641868577Z === RUN TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys/duplicate_canonical 2026-10-18T20:51:41.641887044Z --- PASS: TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys (0.00s) 2026-10-18T20:51:41.641958636Z --- PASS: TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys/invalid (0.00s) 2026-10-18T20:51:41.641990746Z --- PASS: TestLoadExternalRoutes_RejectsInvalidAndDuplicateKeys/duplicate_canonical (0.00s) 2026-10-18T20:51:41.642063396Z === RUN TestService_GetExternalRoutes 2026-10-18T20:51:41.642115386Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=0 usecase=Load 2026-10-18T20:51:41.642133011Z --- PASS: TestService_GetExternalRoutes (0.00s) 2026-10-18T20:51:41.642174113Z === RUN TestService_GetExternalRoutes_Empty 2026-10-18T20:51:41.64219823Z 2026-10-18T20:51:40Z INF configuration loaded layer=usecase registry_port=0 server_port=0 usecase=Load 2026-10-18T20:51:41.642247323Z --- PASS: TestService_GetExternalRoutes_Empty (0.00s) 2026-10-18T20:51:41.642292828Z === RUN TestExtractDomainFromImageName 2026-10-18T20:51:41.642341621Z === RUN TestExtractDomainFromImageName/domain_like_image 2026-10-18T20:51:41.642388625Z === RUN TestExtractDomainFromImageName/domain_like_image_without_tag 2026-10-18T20:51:41.642396494Z === RUN TestExtractDomainFromImageName/simple_image_name 2026-10-18T20:51:41.642401899Z === RUN TestExtractDomainFromImageName/registry_path 2026-10-18T20:51:41.642438266Z === RUN TestExtractDomainFromImageName/leading_dot 2026-10-18T20:51:41.642458406Z === RUN TestExtractDomainFromImageName/trailing_dot 2026-10-18T20:51:41.642529486Z --- PASS: TestExtractDomainFromImageName (0.00s) 2026-10-18T20:51:41.642585085Z --- PASS: TestExtractDomainFromImageName/domain_like_image (0.00s) 2026-10-18T20:51:41.642642419Z --- PASS: TestExtractDomainFromImageName/domain_like_image_without_tag (0.00s) 2026-10-18T20:51:41.642703792Z --- PASS: TestExtractDomainFromImageName/simple_image_name (0.00s) 2026-10-18T20:51:41.642738105Z --- PASS: TestExtractDomainFromImageName/registry_path (0.00s) 2026-10-18T20:51:41.642790102Z --- PASS: TestExtractDomainFromImageName/leading_dot (0.00s) 2026-10-18T20:51:41.642845338Z --- PASS: TestExtractDomainFromImageName/trailing_dot (0.00s) 2026-10-18T20:51:41.642891634Z === RUN TestLoadStringMap 2026-10-18T20:51:41.642940781Z === RUN TestLoadStringMap/nil_input 2026-10-18T20:51:41.642987069Z === RUN TestLoadStringMap/valid_map 2026-10-18T20:51:41.643029726Z === RUN TestLoadStringMap/invalid_type 2026-10-18T20:51:41.643042447Z === RUN TestLoadStringMap/mixed_values 2026-10-18T20:51:41.643052511Z --- PASS: TestLoadStringMap (0.00s) 2026-10-18T20:51:41.643081148Z --- PASS: TestLoadStringMap/nil_input (0.00s) 2026-10-18T20:51:41.643104112Z --- PASS: TestLoadStringMap/valid_map (0.00s) 2026-10-18T20:51:41.643119994Z --- PASS: TestLoadStringMap/invalid_type (0.00s) 2026-10-18T20:51:41.643140385Z --- PASS: TestLoadStringMap/mixed_values (0.00s) 2026-10-18T20:51:41.643150932Z PASS 2026-10-18T20:51:41.643160914Z ok github.com/bnema/gordon/internal/usecase/config 1.018s 2026-10-18T20:51:41.680799741Z === RUN TestService_ListNetworks 2026-10-18T20:51:41.680853245Z --- PASS: TestService_ListNetworks (0.00s) 2026-10-18T20:51:41.680860375Z PASS 2026-10-18T20:51:41.680867055Z ok github.com/bnema/gordon/internal/usecase/container 1.014s 2026-10-18T20:51:41.914088305Z === RUN TestCalculateNextRunPresets 2026-10-18T20:51:41.914149973Z === RUN TestCalculateNextRunPresets/hourly 2026-10-18T20:51:41.91416483Z === RUN TestCalculateNextRunPresets/daily 2026-10-18T20:51:41.914235694Z === RUN TestCalculateNextRunPresets/weekly 2026-10-18T20:51:41.914252651Z === RUN TestCalculateNextRunPresets/monthly 2026-10-18T20:51:41.914259076Z --- PASS: TestCalculateNextRunPresets (0.00s) 2026-10-18T20:51:41.914270738Z --- PASS: TestCalculateNextRunPresets/hourly (0.00s) 2026-10-18T20:51:41.914282127Z --- PASS: TestCalculateNextRunPresets/daily (0.00s) 2026-10-18T20:51:41.914341423Z --- PASS: TestCalculateNextRunPresets/weekly (0.00s) 2026-10-18T20:51:41.914363422Z --- PASS: TestCalculateNextRunPresets/monthly (0.00s) 2026-10-18T20:51:41.914411773Z === RUN TestCalculateNextRunAtLocalTime 2026-10-18T20:51:41.91442744Z === RUN TestCalculateNextRunAtLocalTime/daily_later_today 2026-10-18T20:51:41.914434251Z === RUN TestCalculateNextRunAtLocalTime/daily_already_passed 2026-10-18T20:51:41.91448373Z === RUN TestCalculateNextRunAtLocalTime/daily_exactly_now_runs_tomorrow 2026-10-18T20:51:41.914501391Z === RUN TestCalculateNextRunAtLocalTime/daily_across_DST_end_keeps_wall_clock 2026-10-18T20:51:41.914509072Z === RUN TestCalculateNextRunAtLocalTime/weekly_next_sunday 2026-10-18T20:51:41.914557875Z === RUN TestCalculateNextRunAtLocalTime/monthly_next_first_day 2026-10-18T20:51:41.914573974Z === RUN TestCalculateNextRunAtLocalTime/hourly_uses_minute_only 2026-10-18T20:51:41.914580769Z --- PASS: TestCalculateNextRunAtLocalTime (0.01s) 2026-10-18T20:51:41.914635471Z --- PASS: TestCalculateNextRunAtLocalTime/daily_later_today (0.00s) 2026-10-18T20:51:41.914687019Z --- PASS: TestCalculateNextRunAtLocalTime/daily_already_passed (0.00s) 2026-10-18T20:51:41.914751734Z --- PASS: TestCalculateNextRunAtLocalTime/daily_exactly_now_runs_tomorrow (0.00s) 2026-10-18T20:51:41.914817032Z --- PASS: TestCalculateNextRunAtLocalTime/daily_across_DST_end_keeps_wall_clock (0.00s) 2026-10-18T20:51:41.914882101Z --- PASS: TestCalculateNextRunAtLocalTime/weekly_next_sunday (0.00s) 2026-10-18T20:51:41.914951796Z --- PASS: TestCalculateNextRunAtLocalTime/monthly_next_first_day (0.00s) 2026-10-18T20:51:41.915023599Z --- PASS: TestCalculateNextRunAtLocalTime/hourly_uses_minute_only (0.00s) 2026-10-18T20:51:41.915041058Z === RUN TestCalculateNextRunDSTGapSkipsForward 2026-10-18T20:51:41.915175476Z --- PASS: TestCalculateNextRunDSTGapSkipsForward (0.00s) 2026-10-18T20:51:41.915192375Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork 2026-10-18T20:51:41.915329516Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_gap_from_same_morning_runs_at_gap_end 2026-10-18T20:51:41.915349937Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_gap_from_previous_day_runs_at_gap_end 2026-10-18T20:51:41.915398896Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/daily_after_gap_end_runs_next_day 2026-10-18T20:51:41.91541673Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/weekly_in_gap_runs_at_gap_end 2026-10-18T20:51:41.915549177Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/hourly_in_repeated_hour,_first_pass 2026-10-18T20:51:41.915573667Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/hourly_in_repeated_hour,_second_pass 2026-10-18T20:51:41.915698321Z === RUN TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_repeated_hour_runs_next_day 2026-10-18T20:51:41.915717623Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork (0.00s) 2026-10-18T20:51:41.915790291Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_gap_from_same_morning_runs_at_gap_end (0.00s) 2026-10-18T20:51:41.915931569Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_gap_from_previous_day_runs_at_gap_end (0.00s) 2026-10-18T20:51:41.916072674Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/daily_after_gap_end_runs_next_day (0.00s) 2026-10-18T20:51:41.91622481Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/weekly_in_gap_runs_at_gap_end (0.00s) 2026-10-18T20:51:41.91628559Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/hourly_in_repeated_hour,_first_pass (0.00s) 2026-10-18T20:51:41.916428321Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/hourly_in_repeated_hour,_second_pass (0.00s) 2026-10-18T20:51:41.916538154Z --- PASS: TestCalculateNextRunDSTEdgeCasesNewYork/daily_in_repeated_hour_runs_next_day (0.00s) 2026-10-18T20:51:41.916555596Z === RUN TestCalculateNextRunRejectsMissingPreset 2026-10-18T20:51:41.916562414Z --- PASS: TestCalculateNextRunRejectsMissingPreset (0.00s) 2026-10-18T20:51:41.916683646Z === RUN TestSchedulerAddListAndRunNow 2026-10-18T20:51:41.916700213Z --- PASS: TestSchedulerAddListAndRunNow (0.00s) 2026-10-18T20:51:41.916706501Z === RUN TestSchedulerWithMaxJobsOption 2026-10-18T20:51:41.916819866Z --- PASS: TestSchedulerWithMaxJobsOption (0.00s) 2026-10-18T20:51:41.916836061Z === RUN TestSchedulerRemoveRejectsRunningJob 2026-10-18T20:51:41.916842717Z --- PASS: TestSchedulerRemoveRejectsRunningJob (0.00s) 2026-10-18T20:51:41.916969941Z === RUN TestSchedulerRunNowRejectsConcurrentRun 2026-10-18T20:51:41.916987647Z --- PASS: TestSchedulerRunNowRejectsConcurrentRun (0.00s) 2026-10-18T20:51:41.916994382Z === RUN TestSchedulerRunNowRecoversFromPanics 2026-10-18T20:51:41.917044908Z --- PASS: TestSchedulerRunNowRecoversFromPanics (0.00s) 2026-10-18T20:51:41.917060167Z === RUN TestSchedulerStartNoOpWhenStopped 2026-10-18T20:51:41.917069461Z --- PASS: TestSchedulerStartNoOpWhenStopped (0.05s) 2026-10-18T20:51:41.917350689Z === RUN TestSchedulerRunNowComputesNextRunFromJobFinishTime 2026-10-18T20:51:41.917368557Z --- PASS: TestSchedulerRunNowComputesNextRunFromJobFinishTime (0.00s) 2026-10-18T20:51:41.917380791Z === RUN TestSchedulerStartNoOpWhenContextAlreadyCanceled 2026-10-18T20:51:41.917387121Z --- PASS: TestSchedulerStartNoOpWhenContextAlreadyCanceled (0.05s) 2026-10-18T20:51:41.917391534Z PASS 2026-10-18T20:51:41.917586095Z ok github.com/bnema/gordon/internal/usecase/cron 1.128s 2026-10-18T20:52:01.79890624Z === RUN TestResolveServiceBinds_ExactTranslation 2026-10-18T20:52:01.798977435Z --- PASS: TestResolveServiceBinds_ExactTranslation (0.00s) 2026-10-18T20:52:01.798997187Z === RUN TestResolveServiceBinds_ReadOnlyNonWeakening 2026-10-18T20:52:01.799070374Z --- PASS: TestResolveServiceBinds_ReadOnlyNonWeakening (0.00s) 2026-10-18T20:52:01.799090803Z === RUN TestResolveServiceBinds_UnknownAndRevokedPolicy 2026-10-18T20:52:01.799101768Z === RUN TestResolveServiceBinds_UnknownAndRevokedPolicy/unknown_policy 2026-10-18T20:52:01.799111461Z === RUN TestResolveServiceBinds_UnknownAndRevokedPolicy/revoked_policy 2026-10-18T20:52:01.799154709Z === RUN TestResolveServiceBinds_UnknownAndRevokedPolicy/refused_policy_omits_source 2026-10-18T20:52:01.799180731Z --- PASS: TestResolveServiceBinds_UnknownAndRevokedPolicy (0.00s) 2026-10-18T20:52:01.799246033Z --- PASS: TestResolveServiceBinds_UnknownAndRevokedPolicy/unknown_policy (0.00s) 2026-10-18T20:52:01.799289242Z --- PASS: TestResolveServiceBinds_UnknownAndRevokedPolicy/revoked_policy (0.00s) 2026-10-18T20:52:01.79936003Z --- PASS: TestResolveServiceBinds_UnknownAndRevokedPolicy/refused_policy_omits_source (0.00s) 2026-10-18T20:52:01.799411556Z === RUN TestCreateAndStart_RefusesRevokedBindBeforeRuntimeMutation 2026-10-18T20:52:01.799431763Z --- PASS: TestCreateAndStart_RefusesRevokedBindBeforeRuntimeMutation (0.00s) 2026-10-18T20:52:01.799484974Z === RUN TestCreateContainer_BindBearingRuntimeErrorIsRedactedNotBindPolicy 2026-10-18T20:52:01.799539638Z --- PASS: TestCreateContainer_BindBearingRuntimeErrorIsRedactedNotBindPolicy (0.00s) 2026-10-18T20:52:01.799593556Z === RUN TestCheckImageVolumes_IncludesBindDestinations 2026-10-18T20:52:01.799648356Z === RUN TestCheckImageVolumes_IncludesBindDestinations/bind_destination_maps_image_volume 2026-10-18T20:52:01.799703094Z === RUN TestCheckImageVolumes_IncludesBindDestinations/unmapped_image_volume_still_refused 2026-10-18T20:52:01.799760207Z --- PASS: TestCheckImageVolumes_IncludesBindDestinations (0.00s) 2026-10-18T20:52:01.799834478Z --- PASS: TestCheckImageVolumes_IncludesBindDestinations/bind_destination_maps_image_volume (0.00s) 2026-10-18T20:52:01.799910768Z --- PASS: TestCheckImageVolumes_IncludesBindDestinations/unmapped_image_volume_still_refused (0.00s) 2026-10-18T20:52:01.799971684Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness 2026-10-18T20:52:01.80002713Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/stateless_public_HTTP_service_keeps_the_implicit_HTTP_probe 2026-10-18T20:52:01.800085429Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/undeclared_probe_is_not_guessed_for_internal,_mixed,_or_L4_services 2026-10-18T20:52:01.800142848Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/undeclared_probe_on_a_stateless_single_TCP_service_is_the_implicit_TCP_probe 2026-10-18T20:52:01.800201617Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/no_implicit_TCP_probe_on_stateful,_multi-port,_mixed,_or_UDP_services 2026-10-18T20:52:01.80025966Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/declared_probes_are_never_replaced_by_the_implicit_HTTP_probe 2026-10-18T20:52:01.800317682Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/an_explicit_none_on_a_probeable_service_keeps_the_implicit_HTTP_probe 2026-10-18T20:52:01.800375554Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/an_explicit_none_on_a_stateful_L4_service_stays_unchecked 2026-10-18T20:52:01.800431069Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/writable_bind_is_single-writer 2026-10-18T20:52:01.800487798Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/read-only_bind_is_also_single-writer 2026-10-18T20:52:01.800543103Z === RUN TestSingleWriterRequiredAndImplicitHTTPReadiness/volume_is_single-writer 2026-10-18T20:52:01.800574161Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness (0.00s) 2026-10-18T20:52:01.800687107Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/stateless_public_HTTP_service_keeps_the_implicit_HTTP_probe (0.00s) 2026-10-18T20:52:01.800771063Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/undeclared_probe_is_not_guessed_for_internal,_mixed,_or_L4_services (0.00s) 2026-10-18T20:52:01.800857008Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/undeclared_probe_on_a_stateless_single_TCP_service_is_the_implicit_TCP_probe (0.00s) 2026-10-18T20:52:01.800942613Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/no_implicit_TCP_probe_on_stateful,_multi-port,_mixed,_or_UDP_services (0.00s) 2026-10-18T20:52:01.801025207Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/declared_probes_are_never_replaced_by_the_implicit_HTTP_probe (0.00s) 2026-10-18T20:52:01.801109333Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/an_explicit_none_on_a_probeable_service_keeps_the_implicit_HTTP_probe (0.00s) 2026-10-18T20:52:01.801190823Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/an_explicit_none_on_a_stateful_L4_service_stays_unchecked (0.00s) 2026-10-18T20:52:01.801266411Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/writable_bind_is_single-writer (0.00s) 2026-10-18T20:52:01.801353672Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/read-only_bind_is_also_single-writer (0.00s) 2026-10-18T20:52:01.801430011Z --- PASS: TestSingleWriterRequiredAndImplicitHTTPReadiness/volume_is_single-writer (0.00s) 2026-10-18T20:52:01.801487755Z === RUN TestRestartOneService_RevokedBindFailsWithoutRuntimeMutation 2026-10-18T20:52:01.801553278Z --- PASS: TestRestartOneService_RevokedBindFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.801573862Z === RUN TestEnsureServiceRunning_RevokedBindFailsWithoutRuntimeMutation 2026-10-18T20:52:01.801655747Z --- PASS: TestEnsureServiceRunning_RevokedBindFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.80171093Z === RUN TestResolveServiceCapabilities 2026-10-18T20:52:01.801731809Z === RUN TestResolveServiceCapabilities/exact_resolution 2026-10-18T20:52:01.801815623Z === RUN TestResolveServiceCapabilities/empty_is_nil 2026-10-18T20:52:01.801835859Z === RUN TestResolveServiceCapabilities/unknown_policy 2026-10-18T20:52:01.801917238Z === RUN TestResolveServiceCapabilities/revoked_policy 2026-10-18T20:52:01.801971166Z === RUN TestResolveServiceCapabilities/refused_omits_capability_names 2026-10-18T20:52:01.802023038Z --- PASS: TestResolveServiceCapabilities (0.00s) 2026-10-18T20:52:01.802090063Z --- PASS: TestResolveServiceCapabilities/exact_resolution (0.00s) 2026-10-18T20:52:01.802159464Z --- PASS: TestResolveServiceCapabilities/empty_is_nil (0.00s) 2026-10-18T20:52:01.802221905Z --- PASS: TestResolveServiceCapabilities/unknown_policy (0.00s) 2026-10-18T20:52:01.802277717Z --- PASS: TestResolveServiceCapabilities/revoked_policy (0.00s) 2026-10-18T20:52:01.802342696Z --- PASS: TestResolveServiceCapabilities/refused_omits_capability_names (0.00s) 2026-10-18T20:52:01.802398828Z === RUN TestCreateAndStart_RefusesRevokedCapabilityBeforeRuntimeMutation 2026-10-18T20:52:01.802452857Z --- PASS: TestCreateAndStart_RefusesRevokedCapabilityBeforeRuntimeMutation (0.00s) 2026-10-18T20:52:01.802509115Z === RUN TestCreateAndStart_PassesResolvedCapabilitiesToRuntime 2026-10-18T20:52:01.802535249Z --- PASS: TestCreateAndStart_PassesResolvedCapabilitiesToRuntime (0.00s) 2026-10-18T20:52:01.802547976Z === RUN TestRestartOneService_RevokedCapabilityFailsWithoutRuntimeMutation 2026-10-18T20:52:01.802632943Z --- PASS: TestRestartOneService_RevokedCapabilityFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.802688744Z === RUN TestEnsureServiceRunning_RevokedCapabilityFailsWithoutRuntimeMutation 2026-10-18T20:52:01.80274565Z --- PASS: TestEnsureServiceRunning_RevokedCapabilityFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.802802015Z === RUN TestUnchangedRefusal_CapabilitiesNeverKeepRunningContainer 2026-10-18T20:52:01.802829906Z --- PASS: TestUnchangedRefusal_CapabilitiesNeverKeepRunningContainer (0.00s) 2026-10-18T20:52:01.802913785Z === RUN TestVerifyReusableCapabilities 2026-10-18T20:52:01.802970421Z === RUN TestVerifyReusableCapabilities/narrowed_policy_refuses_a_container_holding_a_revoked_capability 2026-10-18T20:52:01.803025973Z === RUN TestVerifyReusableCapabilities/CAP__prefixed_engine_names_compare_equal 2026-10-18T20:52:01.803081765Z === RUN TestVerifyReusableCapabilities/fewer_capabilities_than_authorized_is_allowed 2026-10-18T20:52:01.803136715Z === RUN TestVerifyReusableCapabilities/prefixed_revoked_capability_is_still_caught 2026-10-18T20:52:01.803192133Z === RUN TestVerifyReusableCapabilities/uninspectable_container_fails_closed 2026-10-18T20:52:01.803247662Z === RUN TestVerifyReusableCapabilities/missing_container_is_left_to_the_rebuild_path 2026-10-18T20:52:01.803303411Z === RUN TestVerifyReusableCapabilities/service_without_capabilities_never_inspects 2026-10-18T20:52:01.803359003Z --- PASS: TestVerifyReusableCapabilities (0.00s) 2026-10-18T20:52:01.803435767Z --- PASS: TestVerifyReusableCapabilities/narrowed_policy_refuses_a_container_holding_a_revoked_capability (0.00s) 2026-10-18T20:52:01.803508958Z --- PASS: TestVerifyReusableCapabilities/CAP__prefixed_engine_names_compare_equal (0.00s) 2026-10-18T20:52:01.803583079Z --- PASS: TestVerifyReusableCapabilities/fewer_capabilities_than_authorized_is_allowed (0.00s) 2026-10-18T20:52:01.803656995Z --- PASS: TestVerifyReusableCapabilities/prefixed_revoked_capability_is_still_caught (0.00s) 2026-10-18T20:52:01.803729205Z --- PASS: TestVerifyReusableCapabilities/uninspectable_container_fails_closed (0.00s) 2026-10-18T20:52:01.803802696Z --- PASS: TestVerifyReusableCapabilities/missing_container_is_left_to_the_rebuild_path (0.00s) 2026-10-18T20:52:01.803876344Z --- PASS: TestVerifyReusableCapabilities/service_without_capabilities_never_inspects (0.00s) 2026-10-18T20:52:01.803933408Z === RUN TestRestartOneService_NarrowedCapabilityPolicyRefusesInPlaceRestart 2026-10-18T20:52:01.803989937Z --- PASS: TestRestartOneService_NarrowedCapabilityPolicyRefusesInPlaceRestart (0.00s) 2026-10-18T20:52:01.804043659Z === RUN TestEnsureServiceRunning_NarrowedCapabilityPolicyRefusesStart 2026-10-18T20:52:01.804092825Z --- PASS: TestEnsureServiceRunning_NarrowedCapabilityPolicyRefusesStart (0.00s) 2026-10-18T20:52:01.804147994Z === RUN TestStartRecovered_NarrowedCapabilityPolicyRefusesStart 2026-10-18T20:52:01.804196068Z --- PASS: TestStartRecovered_NarrowedCapabilityPolicyRefusesStart (0.00s) 2026-10-18T20:52:01.804251529Z === RUN TestRecoverHealth_NarrowedCapabilityPolicyRefusesRestart 2026-10-18T20:52:01.804308132Z --- PASS: TestRecoverHealth_NarrowedCapabilityPolicyRefusesRestart (0.00s) 2026-10-18T20:52:01.8043629Z === RUN TestAppCoordinator_SerializesOneApp 2026-10-18T20:52:01.80438332Z --- PASS: TestAppCoordinator_SerializesOneApp (0.05s) 2026-10-18T20:52:01.804465222Z === RUN TestAppCoordinator_AllowsParallelApps 2026-10-18T20:52:01.804519446Z --- PASS: TestAppCoordinator_AllowsParallelApps (0.00s) 2026-10-18T20:52:01.804573691Z === RUN TestAppCoordinator_TryAcquireSkipsBusyApp 2026-10-18T20:52:01.804637155Z --- PASS: TestAppCoordinator_TryAcquireSkipsBusyApp (0.00s) 2026-10-18T20:52:01.804693008Z === RUN TestAppCoordinator_HonorsCancellation 2026-10-18T20:52:01.804713932Z --- PASS: TestAppCoordinator_HonorsCancellation (0.00s) 2026-10-18T20:52:01.804775219Z === RUN TestAppCoordinator_ConcurrentUseIsRaceFree 2026-10-18T20:52:01.804793198Z --- PASS: TestAppCoordinator_ConcurrentUseIsRaceFree (0.00s) 2026-10-18T20:52:01.804840437Z === RUN TestRecoveryBackoff_ThreeAttemptsThenEscalatingDelays 2026-10-18T20:52:01.804890808Z --- PASS: TestRecoveryBackoff_ThreeAttemptsThenEscalatingDelays (0.00s) 2026-10-18T20:52:01.80494318Z === RUN TestRecoveryBackoff_EscalationSurvivesWithoutStableObservation 2026-10-18T20:52:01.804992072Z --- PASS: TestRecoveryBackoff_EscalationSurvivesWithoutStableObservation (0.00s) 2026-10-18T20:52:01.805043834Z === RUN TestRecoveryBackoff_StableObservationResetsHistory 2026-10-18T20:52:01.805092265Z --- PASS: TestRecoveryBackoff_StableObservationResetsHistory (0.00s) 2026-10-18T20:52:01.805143514Z === RUN TestRecoveryBackoff_FailureClearsStability 2026-10-18T20:52:01.805194908Z --- PASS: TestRecoveryBackoff_FailureClearsStability (0.00s) 2026-10-18T20:52:01.805242396Z === RUN TestRecoveryBackoff_IsGenerationScoped 2026-10-18T20:52:01.805297084Z --- PASS: TestRecoveryBackoff_IsGenerationScoped (0.00s) 2026-10-18T20:52:01.805320701Z === RUN TestRecoveryBackoff_ForgetDropsHistory 2026-10-18T20:52:01.805335409Z --- PASS: TestRecoveryBackoff_ForgetDropsHistory (0.00s) 2026-10-18T20:52:01.805383893Z === RUN TestRecoveryBackoff_UnhealthyStreak 2026-10-18T20:52:01.805436681Z --- PASS: TestRecoveryBackoff_UnhealthyStreak (0.00s) 2026-10-18T20:52:01.805457122Z === RUN TestPublicationInhibition_MarkAndClear 2026-10-18T20:52:01.805547952Z --- PASS: TestPublicationInhibition_MarkAndClear (0.00s) 2026-10-18T20:52:01.805599136Z === RUN TestExecutionTracker_DetectsNewExecution 2026-10-18T20:52:01.805647115Z --- PASS: TestExecutionTracker_DetectsNewExecution (0.00s) 2026-10-18T20:52:01.805702993Z === RUN TestRecoveryBackoff_PendingAttemptIsCharged 2026-10-18T20:52:01.805755433Z --- PASS: TestRecoveryBackoff_PendingAttemptIsCharged (0.00s) 2026-10-18T20:52:01.805807065Z === RUN TestRecoveryBackoff_UnstableObservationInvalidatesTheWindow 2026-10-18T20:52:01.805862646Z --- PASS: TestRecoveryBackoff_UnstableObservationInvalidatesTheWindow (0.00s) 2026-10-18T20:52:01.805914241Z === RUN TestRecoveryBackoff_StableObservationNeverCreatesHistory 2026-10-18T20:52:01.805965601Z --- PASS: TestRecoveryBackoff_StableObservationNeverCreatesHistory (0.00s) 2026-10-18T20:52:01.806014093Z === RUN TestPublicationInhibition_RetainsActiveServices 2026-10-18T20:52:01.80606772Z --- PASS: TestPublicationInhibition_RetainsActiveServices (0.00s) 2026-10-18T20:52:01.806121295Z === RUN TestWaitLogReady_RejectsAnUnknownExecutionBoundary 2026-10-18T20:52:01.806174891Z --- PASS: TestWaitLogReady_RejectsAnUnknownExecutionBoundary (0.00s) 2026-10-18T20:52:01.806225801Z === RUN TestWaitLogReady_UsesTheExactContainerAndExecution 2026-10-18T20:52:01.806277131Z --- PASS: TestWaitLogReady_UsesTheExactContainerAndExecution (0.00s) 2026-10-18T20:52:01.806329862Z === RUN TestWaitLogReady_StreamFailureIsActionable 2026-10-18T20:52:01.806383133Z --- PASS: TestWaitLogReady_StreamFailureIsActionable (0.00s) 2026-10-18T20:52:01.806433781Z === RUN TestResolveServiceDevices_ExactResolution 2026-10-18T20:52:01.806484835Z --- PASS: TestResolveServiceDevices_ExactResolution (0.00s) 2026-10-18T20:52:01.806538402Z === RUN TestResolveServiceDevices_EmptyIsNil 2026-10-18T20:52:01.806565084Z --- PASS: TestResolveServiceDevices_EmptyIsNil (0.00s) 2026-10-18T20:52:01.806617818Z === RUN TestResolveServiceDevices_UnknownAndRevokedPolicy 2026-10-18T20:52:01.806643474Z === RUN TestResolveServiceDevices_UnknownAndRevokedPolicy/unknown_policy 2026-10-18T20:52:01.806727058Z === RUN TestResolveServiceDevices_UnknownAndRevokedPolicy/revoked_policy 2026-10-18T20:52:01.806750209Z === RUN TestResolveServiceDevices_UnknownAndRevokedPolicy/refused_policy_omits_device_IDs 2026-10-18T20:52:01.80683282Z --- PASS: TestResolveServiceDevices_UnknownAndRevokedPolicy (0.00s) 2026-10-18T20:52:01.806901941Z --- PASS: TestResolveServiceDevices_UnknownAndRevokedPolicy/unknown_policy (0.00s) 2026-10-18T20:52:01.806972567Z --- PASS: TestResolveServiceDevices_UnknownAndRevokedPolicy/revoked_policy (0.00s) 2026-10-18T20:52:01.807047168Z --- PASS: TestResolveServiceDevices_UnknownAndRevokedPolicy/refused_policy_omits_device_IDs (0.00s) 2026-10-18T20:52:01.807101662Z === RUN TestCreateAndStart_RefusesRevokedDeviceBeforeRuntimeMutation 2026-10-18T20:52:01.807122964Z --- PASS: TestCreateAndStart_RefusesRevokedDeviceBeforeRuntimeMutation (0.00s) 2026-10-18T20:52:01.807201076Z === RUN TestCreateAndStart_PassesResolvedCDIIDsToRuntime 2026-10-18T20:52:01.807258728Z --- PASS: TestCreateAndStart_PassesResolvedCDIIDsToRuntime (0.00s) 2026-10-18T20:52:01.807316122Z === RUN TestCreateContainer_DeviceBearingRuntimeErrorIsRedactedNotDevicePolicy 2026-10-18T20:52:01.807398957Z --- PASS: TestCreateContainer_DeviceBearingRuntimeErrorIsRedactedNotDevicePolicy (0.00s) 2026-10-18T20:52:01.807420539Z === RUN TestRestartOneService_RevokedDeviceFailsWithoutRuntimeMutation 2026-10-18T20:52:01.807496782Z --- PASS: TestRestartOneService_RevokedDeviceFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.807547218Z === RUN TestEnsureServiceRunning_RevokedDeviceFailsWithoutRuntimeMutation 2026-10-18T20:52:01.807610911Z --- PASS: TestEnsureServiceRunning_RevokedDeviceFailsWithoutRuntimeMutation (0.00s) 2026-10-18T20:52:01.807664301Z === RUN TestPreflightServices_ProbesEngineOncePerRevision 2026-10-18T20:52:01.807716687Z --- PASS: TestPreflightServices_ProbesEngineOncePerRevision (0.00s) 2026-10-18T20:52:01.807768731Z === RUN TestCreateContainer_RuntimeUnsupportedSurvivesRedaction 2026-10-18T20:52:01.807824Z --- PASS: TestCreateContainer_RuntimeUnsupportedSurvivesRedaction (0.00s) 2026-10-18T20:52:01.807843906Z === RUN TestSanitizedEngineProbeError 2026-10-18T20:52:01.80792545Z === RUN TestSanitizedEngineProbeError/cancellation_is_preserved_and_reported_as_cancellation 2026-10-18T20:52:01.80795272Z === RUN TestSanitizedEngineProbeError/deadline_is_preserved 2026-10-18T20:52:01.808039094Z === RUN TestSanitizedEngineProbeError/other_causes_collapse_to_the_unsupported_sentinel 2026-10-18T20:52:01.80805962Z --- PASS: TestSanitizedEngineProbeError (0.00s) 2026-10-18T20:52:01.8081642Z --- PASS: TestSanitizedEngineProbeError/cancellation_is_preserved_and_reported_as_cancellation (0.00s) 2026-10-18T20:52:01.808233063Z --- PASS: TestSanitizedEngineProbeError/deadline_is_preserved (0.00s) 2026-10-18T20:52:01.808306823Z --- PASS: TestSanitizedEngineProbeError/other_causes_collapse_to_the_unsupported_sentinel (0.00s) 2026-10-18T20:52:01.808328177Z === RUN TestStripImageTag 2026-10-18T20:52:01.808408955Z --- PASS: TestStripImageTag (0.00s) 2026-10-18T20:52:01.808462817Z === RUN TestValidateImageSource_RejectsPrivateRegistryDigest 2026-10-18T20:52:01.808519291Z --- PASS: TestValidateImageSource_RejectsPrivateRegistryDigest (0.00s) 2026-10-18T20:52:01.80854054Z === RUN TestPullImage_RechecksRegistryPolicyImmediatelyBeforePull 2026-10-18T20:52:01.808623298Z --- PASS: TestPullImage_RechecksRegistryPolicyImmediatelyBeforePull (0.00s) 2026-10-18T20:52:01.808644116Z === RUN TestValidateImageSource_RequireDigestAppliesToAllRegistries 2026-10-18T20:52:01.808720961Z --- PASS: TestValidateImageSource_RequireDigestAppliesToAllRegistries (0.00s) 2026-10-18T20:52:01.808741354Z === RUN TestPreflightImage_RejectsMalformedResolvedDigestBeforePull 2026-10-18T20:52:01.808823677Z --- PASS: TestPreflightImage_RejectsMalformedResolvedDigestBeforePull (0.00s) 2026-10-18T20:52:01.808877484Z === RUN TestBackendPorts_InternalHTTPIsNeverPublished 2026-10-18T20:52:01.808897858Z --- PASS: TestBackendPorts_InternalHTTPIsNeverPublished (0.00s) 2026-10-18T20:52:01.808978812Z === RUN TestInternalProbeShape 2026-10-18T20:52:01.809039644Z --- PASS: TestInternalProbeShape (0.00s) 2026-10-18T20:52:01.809059079Z === RUN TestWaitInternalReady_RetriesUntilReady 2026-10-18T20:52:01.809135394Z --- PASS: TestWaitInternalReady_RetriesUntilReady (1.00s) 2026-10-18T20:52:01.809156394Z === RUN TestWaitInternalReady_InfrastructureErrorFailsImmediately 2026-10-18T20:52:01.809242463Z --- PASS: TestWaitInternalReady_InfrastructureErrorFailsImmediately (0.00s) 2026-10-18T20:52:01.809298529Z === RUN TestRunInternalProbeAttempt_CleanupFailureIsNeverSuppressed 2026-10-18T20:52:01.809320375Z --- PASS: TestRunInternalProbeAttempt_CleanupFailureIsNeverSuppressed (0.01s) 2026-10-18T20:52:01.809373489Z === RUN TestWaitInternalReady_CombinedCleanupAndStaleErrorAbortsAfterOneAttempt 2026-10-18T20:52:01.809425353Z --- PASS: TestWaitInternalReady_CombinedCleanupAndStaleErrorAbortsAfterOneAttempt (0.00s) 2026-10-18T20:52:01.809474033Z === RUN TestWaitInternalReady_Timeout 2026-10-18T20:52:01.809528734Z --- PASS: TestWaitInternalReady_Timeout (0.50s) 2026-10-18T20:52:01.809551392Z === RUN TestWaitInternalReady_Cancellation 2026-10-18T20:52:01.809602354Z --- PASS: TestWaitInternalReady_Cancellation (0.00s) 2026-10-18T20:52:01.809680282Z === RUN TestWaitInternalReady_MissingExecutionStart 2026-10-18T20:52:01.809701192Z --- PASS: TestWaitInternalReady_MissingExecutionStart (0.00s) 2026-10-18T20:52:01.80979245Z === RUN TestWaitInternalReady_StaleGenerationIsRetried 2026-10-18T20:52:01.809823475Z --- PASS: TestWaitInternalReady_StaleGenerationIsRetried (0.50s) 2026-10-18T20:52:01.809872972Z === RUN TestWaitInternalReady_StaleGenerationUntilDeadlineTimesOut 2026-10-18T20:52:01.809892748Z --- PASS: TestWaitInternalReady_StaleGenerationUntilDeadlineTimesOut (0.50s) 2026-10-18T20:52:01.809937922Z === RUN TestWaitInternalReady_VanishedCandidateKeepsPolling 2026-10-18T20:52:01.809991649Z --- PASS: TestWaitInternalReady_VanishedCandidateKeepsPolling (1.00s) 2026-10-18T20:52:01.810012026Z === RUN TestReadinessContainerPort_PrefersSinglePublicHTTP 2026-10-18T20:52:01.810085413Z --- PASS: TestReadinessContainerPort_PrefersSinglePublicHTTP (0.00s) 2026-10-18T20:52:01.810140763Z === RUN TestWaitServiceReady_InternalUsesNetworkPath 2026-10-18T20:52:01.810161581Z --- PASS: TestWaitServiceReady_InternalUsesNetworkPath (0.00s) 2026-10-18T20:52:01.81023418Z === RUN TestWaitServiceReady_PublicKeepsLoopback 2026-10-18T20:52:01.810253696Z --- PASS: TestWaitServiceReady_PublicKeepsLoopback (0.00s) 2026-10-18T20:52:01.810334261Z === RUN TestReclaimPrivateNetworks_RemovesOwnedEmptyIncarnationNetwork 2026-10-18T20:52:01.810355334Z --- PASS: TestReclaimPrivateNetworks_RemovesOwnedEmptyIncarnationNetwork (0.00s) 2026-10-18T20:52:01.810365125Z === RUN TestReclaimPrivateNetworks_KeepsSharedNetworks 2026-10-18T20:52:01.810373416Z --- PASS: TestReclaimPrivateNetworks_KeepsSharedNetworks (0.00s) 2026-10-18T20:52:01.81038121Z === RUN TestReclaimPrivateNetworks_RefusesForeignOwnership 2026-10-18T20:52:01.810526582Z --- PASS: TestReclaimPrivateNetworks_RefusesForeignOwnership (0.00s) 2026-10-18T20:52:01.810625227Z === RUN TestReclaimPrivateNetworks_RefusesAttachedNetwork 2026-10-18T20:52:01.81065998Z --- PASS: TestReclaimPrivateNetworks_RefusesAttachedNetwork (0.00s) 2026-10-18T20:52:01.810714593Z === RUN TestReclaimPrivateNetworks_NeverTouchesAnotherIncarnationName 2026-10-18T20:52:01.810796763Z --- PASS: TestReclaimPrivateNetworks_NeverTouchesAnotherIncarnationName (0.00s) 2026-10-18T20:52:01.810820948Z === RUN TestReclaimPrivateNetworks_RuntimeFailureIsRetryable 2026-10-18T20:52:01.810913977Z --- PASS: TestReclaimPrivateNetworks_RuntimeFailureIsRetryable (0.00s) 2026-10-18T20:52:01.810938076Z === RUN TestCreateAndStart_UsesIncarnationPrivateNetworkAndLimits 2026-10-18T20:52:01.811017657Z --- PASS: TestCreateAndStart_UsesIncarnationPrivateNetworkAndLimits (0.00s) 2026-10-18T20:52:01.81104074Z === RUN TestCreateAndStart_ReusesOwnedNetwork 2026-10-18T20:52:01.811125141Z --- PASS: TestCreateAndStart_ReusesOwnedNetwork (0.00s) 2026-10-18T20:52:01.811253691Z === RUN TestCreateAndStart_RefusesForeignNetwork 2026-10-18T20:52:01.811294194Z --- PASS: TestCreateAndStart_RefusesForeignNetwork (0.00s) 2026-10-18T20:52:01.811316926Z === RUN TestCreateAndStart_JoinsDeclaredSharedNetworks 2026-10-18T20:52:01.81134267Z --- PASS: TestCreateAndStart_JoinsDeclaredSharedNetworks (0.00s) 2026-10-18T20:52:01.81137013Z === RUN TestCreateAndStart_RoutesDeclaredReadOnlyVolumeToReadOnlyMount 2026-10-18T20:52:01.811393673Z --- PASS: TestCreateAndStart_RoutesDeclaredReadOnlyVolumeToReadOnlyMount (0.00s) 2026-10-18T20:52:01.81141943Z === RUN TestCreateAndStart_DistinctAppsNeverShareNetwork 2026-10-18T20:52:01.811443545Z --- PASS: TestCreateAndStart_DistinctAppsNeverShareNetwork (0.00s) 2026-10-18T20:52:01.811469745Z === RUN TestTCPProbeOnce_RelayAcceptThenCloseIsNotReady 2026-10-18T20:52:01.811491559Z --- PASS: TestTCPProbeOnce_RelayAcceptThenCloseIsNotReady (0.00s) 2026-10-18T20:52:01.811508582Z === RUN TestTCPProbeOnce_RelayResetIsNotReady 2026-10-18T20:52:01.811527867Z --- PASS: TestTCPProbeOnce_RelayResetIsNotReady (0.00s) 2026-10-18T20:52:01.811545113Z === RUN TestTCPProbeOnce_SilentListenerIsReady 2026-10-18T20:52:01.811567401Z --- PASS: TestTCPProbeOnce_SilentListenerIsReady (0.50s) 2026-10-18T20:52:01.811586719Z === RUN TestTCPProbeOnce_BannerIsReadyImmediately 2026-10-18T20:52:01.811598897Z --- PASS: TestTCPProbeOnce_BannerIsReadyImmediately (0.00s) 2026-10-18T20:52:01.811608739Z === RUN TestTCPProbeOnce_NoListenerFails 2026-10-18T20:52:01.811626068Z --- PASS: TestTCPProbeOnce_NoListenerFails (0.00s) 2026-10-18T20:52:01.811645201Z === RUN TestTCPProbeOnce_CanceledContextWinsOverData 2026-10-18T20:52:01.811664387Z --- PASS: TestTCPProbeOnce_CanceledContextWinsOverData (0.00s) 2026-10-18T20:52:01.811682526Z === RUN TestWaitTCPReady_SettleAfterBudgetIsNotReady 2026-10-18T20:52:01.811700367Z --- PASS: TestWaitTCPReady_SettleAfterBudgetIsNotReady (0.20s) 2026-10-18T20:52:01.81171894Z === RUN TestWaitTCPReady_CallerCancelIsReturned 2026-10-18T20:52:01.811736213Z --- PASS: TestWaitTCPReady_CallerCancelIsReturned (0.00s) 2026-10-18T20:52:01.811755163Z === RUN TestTCPProbeOnce_ContextCancelStopsTheSettleWait 2026-10-18T20:52:01.811776477Z --- PASS: TestTCPProbeOnce_ContextCancelStopsTheSettleWait (0.05s) 2026-10-18T20:52:01.811795341Z === RUN TestVerifyRunningService_NotReadyWithdrawsAndClearsBinds 2026-10-18T20:52:01.811814716Z --- PASS: TestVerifyRunningService_NotReadyWithdrawsAndClearsBinds (1.00s) 2026-10-18T20:52:01.811833684Z === RUN TestVerifyRunningService_ReadyPublishesBinds 2026-10-18T20:52:01.81185661Z --- PASS: TestVerifyRunningService_ReadyPublishesBinds (0.00s) 2026-10-18T20:52:01.811879058Z === RUN TestRedactDiagnostics_RemovesSecretValues 2026-10-18T20:52:01.811904525Z --- PASS: TestRedactDiagnostics_RemovesSecretValues (0.00s) 2026-10-18T20:52:01.811926637Z === RUN TestRedactDiagnostics_DropsWhenSecretUnreadable 2026-10-18T20:52:01.811952381Z --- PASS: TestRedactDiagnostics_DropsWhenSecretUnreadable (0.00s) 2026-10-18T20:52:01.811975307Z === RUN TestStopService_StopFailureSurfaces 2026-10-18T20:52:01.81199454Z --- PASS: TestStopService_StopFailureSurfaces (0.00s) 2026-10-18T20:52:01.812011801Z === RUN TestStopService_WithdrawFailureBlocksStop 2026-10-18T20:52:01.812030479Z --- PASS: TestStopService_WithdrawFailureBlocksStop (0.00s) 2026-10-18T20:52:01.812048785Z === RUN TestWaitHTTPReady_ProbeURLKeepsLoopbackAuthority 2026-10-18T20:52:01.812068599Z --- PASS: TestWaitHTTPReady_ProbeURLKeepsLoopbackAuthority (0.00s) 2026-10-18T20:52:01.812086713Z === RUN TestWaitHTTPReady_SendsContainerPortAsHostAuthority 2026-10-18T20:52:01.812105846Z --- PASS: TestWaitHTTPReady_SendsContainerPortAsHostAuthority (0.00s) 2026-10-18T20:52:01.812124142Z === RUN TestWaitHTTPReady_HangingProbeRespectsDeadline 2026-10-18T20:52:01.812142248Z --- PASS: TestWaitHTTPReady_HangingProbeRespectsDeadline (1.00s) 2026-10-18T20:52:01.812167083Z === RUN TestReconcileRemovedServices_WithdrawsStopsAndClears 2026-10-18T20:52:01.812190886Z --- PASS: TestReconcileRemovedServices_WithdrawsStopsAndClears (0.00s) 2026-10-18T20:52:01.812211052Z === RUN TestReconcileRemovedServices_SaveFailureKeepsInhibition 2026-10-18T20:52:01.812230598Z --- PASS: TestReconcileRemovedServices_SaveFailureKeepsInhibition (0.00s) 2026-10-18T20:52:01.81225398Z === RUN TestReconcileRemovedServices_WithdrawFailureAbortsBeforeStop 2026-10-18T20:52:01.812276696Z --- PASS: TestReconcileRemovedServices_WithdrawFailureAbortsBeforeStop (0.00s) 2026-10-18T20:52:01.812301399Z === RUN TestReconcileRemovedServices_NoopWhenAllActiveServicesRemain 2026-10-18T20:52:01.812327941Z --- PASS: TestReconcileRemovedServices_NoopWhenAllActiveServicesRemain (0.00s) 2026-10-18T20:52:01.812351831Z === RUN TestRetireContainer_ForceSkipsTheGracePeriod 2026-10-18T20:52:01.812378073Z --- PASS: TestRetireContainer_ForceSkipsTheGracePeriod (0.00s) 2026-10-18T20:52:01.812401948Z === RUN TestRetireContainer_UnconfirmedRemovalKeepsClaims 2026-10-18T20:52:01.812426781Z --- PASS: TestRetireContainer_UnconfirmedRemovalKeepsClaims (0.00s) 2026-10-18T20:52:01.812451384Z === RUN TestRetireContainer_ZeroGraceUsesTheAppDefault 2026-10-18T20:52:01.812478043Z --- PASS: TestRetireContainer_ZeroGraceUsesTheAppDefault (0.00s) 2026-10-18T20:52:01.812501464Z === RUN TestCreateContainer_GuardRefuses 2026-10-18T20:52:01.812525734Z === RUN TestCreateContainer_GuardRefuses/host_network 2026-10-18T20:52:01.812544994Z === RUN TestCreateContainer_GuardRefuses/protected_bind 2026-10-18T20:52:01.812555985Z --- PASS: TestCreateContainer_GuardRefuses (0.00s) 2026-10-18T20:52:01.812584643Z --- PASS: TestCreateContainer_GuardRefuses/host_network (0.00s) 2026-10-18T20:52:01.812612747Z --- PASS: TestCreateContainer_GuardRefuses/protected_bind (0.00s) 2026-10-18T20:52:01.812629464Z === RUN TestCreateWithSecretFiles_GuardAllowsOwnSecretBind 2026-10-18T20:52:01.812644641Z --- PASS: TestCreateWithSecretFiles_GuardAllowsOwnSecretBind (0.00s) 2026-10-18T20:52:01.812658553Z === RUN TestResolveServiceBinds_GuardRefusesProtectedSource 2026-10-18T20:52:01.81267313Z --- PASS: TestResolveServiceBinds_GuardRefusesProtectedSource (0.00s) 2026-10-18T20:52:01.812686179Z === RUN TestCreateAndStart_GuardRefusesBeforeRuntimeMutation 2026-10-18T20:52:01.81270033Z --- PASS: TestCreateAndStart_GuardRefusesBeforeRuntimeMutation (0.00s) 2026-10-18T20:52:01.812715116Z === RUN TestServiceEnv_SplitsFileSecrets 2026-10-18T20:52:01.812728395Z --- PASS: TestServiceEnv_SplitsFileSecrets (0.00s) 2026-10-18T20:52:01.812740691Z === RUN TestServiceEnv_FileKeyOverlapFails 2026-10-18T20:52:01.812753373Z --- PASS: TestServiceEnv_FileKeyOverlapFails (0.00s) 2026-10-18T20:52:01.81276644Z === RUN TestCreateWithSecretFiles_MountsReadOnlyFiles 2026-10-18T20:52:01.812781334Z --- PASS: TestCreateWithSecretFiles_MountsReadOnlyFiles (0.00s) 2026-10-18T20:52:01.812795714Z === RUN TestCreateWithSecretFiles_CreateFailureRemovesFiles 2026-10-18T20:52:01.812809154Z --- PASS: TestCreateWithSecretFiles_CreateFailureRemovesFiles (0.00s) 2026-10-18T20:52:01.812823166Z === RUN TestCreateWithSecretFiles_WriteFailureSkipsCreate 2026-10-18T20:52:01.812836543Z --- PASS: TestCreateWithSecretFiles_WriteFailureSkipsCreate (0.00s) 2026-10-18T20:52:01.812850204Z === RUN TestCreateWithSecretFiles_CleanupFailureKeepsCreateError 2026-10-18T20:52:01.812866271Z --- PASS: TestCreateWithSecretFiles_CleanupFailureKeepsCreateError (0.00s) 2026-10-18T20:52:01.812879892Z === RUN TestCreateWithSecretFiles_NilStoreRefuses 2026-10-18T20:52:01.812892704Z --- PASS: TestCreateWithSecretFiles_NilStoreRefuses (0.00s) 2026-10-18T20:52:01.812905084Z === RUN TestCheckSecrets_FileSecretsNeedStore 2026-10-18T20:52:01.812917833Z --- PASS: TestCheckSecrets_FileSecretsNeedStore (0.00s) 2026-10-18T20:52:01.81293179Z === RUN TestEnvCurrent_ComparesSecretFiles 2026-10-18T20:52:01.812946628Z === RUN TestEnvCurrent_ComparesSecretFiles/same_content_kept 2026-10-18T20:52:01.812960323Z === RUN TestEnvCurrent_ComparesSecretFiles/changed_content_replaced 2026-10-18T20:52:01.812977167Z === RUN TestEnvCurrent_ComparesSecretFiles/read_error_replaced 2026-10-18T20:52:01.812991192Z === RUN TestEnvCurrent_ComparesSecretFiles/nil_store_replaced 2026-10-18T20:52:01.81300522Z --- PASS: TestEnvCurrent_ComparesSecretFiles (0.00s) 2026-10-18T20:52:01.813035043Z --- PASS: TestEnvCurrent_ComparesSecretFiles/same_content_kept (0.00s) 2026-10-18T20:52:01.813065319Z --- PASS: TestEnvCurrent_ComparesSecretFiles/changed_content_replaced (0.00s) 2026-10-18T20:52:01.813094435Z --- PASS: TestEnvCurrent_ComparesSecretFiles/read_error_replaced (0.00s) 2026-10-18T20:52:01.813129022Z --- PASS: TestEnvCurrent_ComparesSecretFiles/nil_store_replaced (0.00s) 2026-10-18T20:52:01.813142435Z === RUN TestRedactDiagnostics_RedactsFileSecrets 2026-10-18T20:52:01.813156795Z --- PASS: TestRedactDiagnostics_RedactsFileSecrets (0.00s) 2026-10-18T20:52:01.813171551Z === RUN TestSweepSecretFiles 2026-10-18T20:52:01.813184881Z === RUN TestSweepSecretFiles/app_scoped 2026-10-18T20:52:01.813198182Z === RUN TestSweepSecretFiles/all_apps 2026-10-18T20:52:01.813210783Z === RUN TestSweepSecretFiles/no_sets_skips_runtime 2026-10-18T20:52:01.813222996Z === RUN TestSweepSecretFiles/nil_store 2026-10-18T20:52:01.813237868Z === RUN TestSweepSecretFiles/runtime_list_error_removes_nothing 2026-10-18T20:52:01.813252233Z === RUN TestSweepSecretFiles/partial_remove_failure_continues 2026-10-18T20:52:01.813264347Z --- PASS: TestSweepSecretFiles (0.00s) 2026-10-18T20:52:01.813286827Z --- PASS: TestSweepSecretFiles/app_scoped (0.00s) 2026-10-18T20:52:01.813309571Z --- PASS: TestSweepSecretFiles/all_apps (0.00s) 2026-10-18T20:52:01.813335953Z --- PASS: TestSweepSecretFiles/no_sets_skips_runtime (0.00s) 2026-10-18T20:52:01.813358168Z --- PASS: TestSweepSecretFiles/nil_store (0.00s) 2026-10-18T20:52:01.813387386Z --- PASS: TestSweepSecretFiles/runtime_list_error_removes_nothing (0.00s) 2026-10-18T20:52:01.813417284Z --- PASS: TestSweepSecretFiles/partial_remove_failure_continues (0.00s) 2026-10-18T20:52:01.813430427Z === RUN TestRetireContainer_SweepsSecretFiles 2026-10-18T20:52:01.813443702Z === RUN TestRetireContainer_SweepsSecretFiles/gone_sweeps 2026-10-18T20:52:01.813458881Z === RUN TestRetireContainer_SweepsSecretFiles/sweep_failure_is_a_fixed_warning 2026-10-18T20:52:01.81347557Z === RUN TestRetireContainer_SweepsSecretFiles/not_gone_does_not_sweep 2026-10-18T20:52:01.813489572Z --- PASS: TestRetireContainer_SweepsSecretFiles (0.00s) 2026-10-18T20:52:01.813549163Z --- PASS: TestRetireContainer_SweepsSecretFiles/gone_sweeps (0.00s) 2026-10-18T20:52:01.813585311Z --- PASS: TestRetireContainer_SweepsSecretFiles/sweep_failure_is_a_fixed_warning (0.00s) 2026-10-18T20:52:01.813618059Z --- PASS: TestRetireContainer_SweepsSecretFiles/not_gone_does_not_sweep (0.00s) 2026-10-18T20:52:01.81364452Z === RUN TestServiceEnv_ServiceEnvOverridesAppEnv 2026-10-18T20:52:01.813664563Z --- PASS: TestServiceEnv_ServiceEnvOverridesAppEnv (0.00s) 2026-10-18T20:52:01.81370064Z === RUN TestServiceEnv_ServiceEnvSecretCollisionFails 2026-10-18T20:52:01.813717363Z --- PASS: TestServiceEnv_ServiceEnvSecretCollisionFails (0.00s) 2026-10-18T20:52:01.813742133Z === RUN TestDeploy_CandidateIsJournaledBeforeItStarts 2026-10-18T20:52:01.813772329Z --- PASS: TestDeploy_CandidateIsJournaledBeforeItStarts (0.02s) 2026-10-18T20:52:01.813791037Z === RUN TestBootRecovery_RemovesUnpublishedCandidateAndKeepsServingGeneration 2026-10-18T20:52:01.813819215Z --- PASS: TestBootRecovery_RemovesUnpublishedCandidateAndKeepsServingGeneration (0.01s) 2026-10-18T20:52:01.813844625Z === RUN TestDeploy_ReconcilesInterruptedPredecessorBeforeCreatingAReplacement 2026-10-18T20:52:01.813872563Z --- PASS: TestDeploy_ReconcilesInterruptedPredecessorBeforeCreatingAReplacement (0.02s) 2026-10-18T20:52:01.813891775Z === RUN TestBootRecovery_RemovesCandidateOfAnInterruptedFirstDeployment 2026-10-18T20:52:01.813909981Z --- PASS: TestBootRecovery_RemovesCandidateOfAnInterruptedFirstDeployment (0.00s) 2026-10-18T20:52:01.813929129Z === RUN TestRestart_FailedRebuildClearsTheInhibitionOfTheMissingContainer 2026-10-18T20:52:01.813961075Z --- PASS: TestRestart_FailedRebuildClearsTheInhibitionOfTheMissingContainer (1.01s) 2026-10-18T20:52:01.813981581Z === RUN TestBootRecovery_RetriesLeftoverOfATerminalFailedOperation 2026-10-18T20:52:01.814013429Z 2026-10-18T20:51:52Z INF deployment: stopped intent enforced on a revived container app=blog container=c-old service=web 2026-10-18T20:52:01.814037445Z --- PASS: TestBootRecovery_RetriesLeftoverOfATerminalFailedOperation (0.00s) 2026-10-18T20:52:01.814057587Z === RUN TestBootRecovery_InterruptionAfterTheLastStepIsASuccess 2026-10-18T20:52:01.814084925Z --- PASS: TestBootRecovery_InterruptionAfterTheLastStepIsASuccess (0.01s) 2026-10-18T20:52:01.814105044Z === RUN TestBootRecovery_FailsClosedWhenCandidateCannotBeRemoved 2026-10-18T20:52:01.814131735Z --- PASS: TestBootRecovery_FailsClosedWhenCandidateCannotBeRemoved (0.01s) 2026-10-18T20:52:01.814155105Z === RUN TestBootRecovery_ClearsReplacementInhibitionAndRebuildsFromActive 2026-10-18T20:52:01.814181343Z --- PASS: TestBootRecovery_ClearsReplacementInhibitionAndRebuildsFromActive (0.02s) 2026-10-18T20:52:01.814199319Z === RUN TestRestart_RebuildsMissingActiveContainer 2026-10-18T20:52:01.814215421Z --- PASS: TestRestart_RebuildsMissingActiveContainer (0.01s) 2026-10-18T20:52:01.814235526Z === RUN TestDeploy_PreflightFailureReturnsJournaledOperation 2026-10-18T20:52:01.814251479Z --- PASS: TestDeploy_PreflightFailureReturnsJournaledOperation (0.00s) 2026-10-18T20:52:01.814269055Z === RUN TestDeploy_Mockery_PullsPinnedImageWithRegistryAuth 2026-10-18T20:52:01.814287302Z --- PASS: TestDeploy_Mockery_PullsPinnedImageWithRegistryAuth (0.00s) 2026-10-18T20:52:01.814307586Z === RUN TestDeploy_Mockery_HTTPSuccessRecordsLoopbackBinds 2026-10-18T20:52:01.814326386Z --- PASS: TestDeploy_Mockery_HTTPSuccessRecordsLoopbackBinds (0.00s) 2026-10-18T20:52:01.814349937Z === RUN TestDeploy_Mockery_HTTPOverlapPublishesBeforeRetiringOldGeneration 2026-10-18T20:52:01.814369239Z --- PASS: TestDeploy_Mockery_HTTPOverlapPublishesBeforeRetiringOldGeneration (0.01s) 2026-10-18T20:52:01.814388371Z === RUN TestDeploy_Mockery_HTTPSequentialWhenServiceHasVolume 2026-10-18T20:52:01.814411022Z --- PASS: TestDeploy_Mockery_HTTPSequentialWhenServiceHasVolume (0.01s) 2026-10-18T20:52:01.814431149Z === RUN TestDeploy_Mockery_HTTPReadinessFailureKeepsOldGenerationServing 2026-10-18T20:52:01.814453851Z --- PASS: TestDeploy_Mockery_HTTPReadinessFailureKeepsOldGenerationServing (1.00s) 2026-10-18T20:52:01.81447425Z === RUN TestDeploy_Mockery_VolumeReplacementMarksUnsafe 2026-10-18T20:52:01.814495951Z --- PASS: TestDeploy_Mockery_VolumeReplacementMarksUnsafe (0.01s) 2026-10-18T20:52:01.814515731Z === RUN TestDeploy_Mockery_MixedTCPUDPPublishesBothLoopbacks 2026-10-18T20:52:01.814540825Z --- PASS: TestDeploy_Mockery_MixedTCPUDPPublishesBothLoopbacks (0.00s) 2026-10-18T20:52:01.814561213Z === RUN TestDeploy_Mockery_InjectsAppEnvAndSecrets 2026-10-18T20:52:01.814582413Z --- PASS: TestDeploy_Mockery_InjectsAppEnvAndSecrets (0.01s) 2026-10-18T20:52:01.814646269Z === RUN TestStart_RunningContainerRefreshesShiftedBinds 2026-10-18T20:52:01.814667619Z --- PASS: TestStart_RunningContainerRefreshesShiftedBinds (0.00s) 2026-10-18T20:52:01.814696419Z === RUN TestStart_BindVerificationFailureFailsClosed 2026-10-18T20:52:01.814716873Z --- PASS: TestStart_BindVerificationFailureFailsClosed (0.00s) 2026-10-18T20:52:01.814740095Z === RUN TestRestart_MixedServiceRefreshesBothProtocols 2026-10-18T20:52:01.81475938Z --- PASS: TestRestart_MixedServiceRefreshesBothProtocols (0.00s) 2026-10-18T20:52:01.814778548Z === RUN TestDeploy_SkipsServiceAlreadyRunningTheSameImage 2026-10-18T20:52:01.814801743Z --- PASS: TestDeploy_SkipsServiceAlreadyRunningTheSameImage (0.01s) 2026-10-18T20:52:01.814834169Z === RUN TestDeploy_KeepsContainerOnBackupOnlyChange 2026-10-18T20:52:01.81485633Z --- PASS: TestDeploy_KeepsContainerOnBackupOnlyChange (0.01s) 2026-10-18T20:52:01.814874237Z === RUN TestDeploy_ReplacesWhenRuntimeSettingsChangeAlongsideBackup 2026-10-18T20:52:01.814894286Z --- PASS: TestDeploy_ReplacesWhenRuntimeSettingsChangeAlongsideBackup (0.01s) 2026-10-18T20:52:01.814928708Z === RUN TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing 2026-10-18T20:52:01.814941813Z === RUN TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/withdrawn_binds 2026-10-18T20:52:01.814953249Z === RUN TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/recovery_inhibited 2026-10-18T20:52:01.814963746Z === RUN TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/app_env_changed 2026-10-18T20:52:01.81497392Z --- PASS: TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing (0.04s) 2026-10-18T20:52:01.814995375Z --- PASS: TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/withdrawn_binds (0.02s) 2026-10-18T20:52:01.815027731Z --- PASS: TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/recovery_inhibited (0.01s) 2026-10-18T20:52:01.815060224Z --- PASS: TestDeploy_ReplacesSameDigestWhenTheServiceIsNotServing/app_env_changed (0.01s) 2026-10-18T20:52:01.815072285Z === RUN TestDeploy_ReplacesWhenTheRunningContainerIsNotRunning 2026-10-18T20:52:01.815082713Z --- PASS: TestDeploy_ReplacesWhenTheRunningContainerIsNotRunning (0.01s) 2026-10-18T20:52:01.815093399Z === RUN TestDeploy_ReplacesWhenTheDigestChanged 2026-10-18T20:52:01.815103962Z --- PASS: TestDeploy_ReplacesWhenTheDigestChanged (0.01s) 2026-10-18T20:52:01.815114043Z === RUN TestDeploy_RecreatesWhenASecretValueChanged 2026-10-18T20:52:01.815124108Z === RUN TestDeploy_RecreatesWhenASecretValueChanged/secret_changed 2026-10-18T20:52:01.815134678Z === RUN TestDeploy_RecreatesWhenASecretValueChanged/secret_current 2026-10-18T20:52:01.815144684Z --- PASS: TestDeploy_RecreatesWhenASecretValueChanged (0.02s) 2026-10-18T20:52:01.815163949Z --- PASS: TestDeploy_RecreatesWhenASecretValueChanged/secret_changed (0.01s) 2026-10-18T20:52:01.815182938Z --- PASS: TestDeploy_RecreatesWhenASecretValueChanged/secret_current (0.01s) 2026-10-18T20:52:01.81519342Z === RUN TestRemove_ConcurrentSameKeyExecutesOnce 2026-10-18T20:52:01.815203368Z --- PASS: TestRemove_ConcurrentSameKeyExecutesOnce (0.01s) 2026-10-18T20:52:01.815218566Z === RUN TestRemove_UnknownAppCreatesNoState 2026-10-18T20:52:01.815227836Z --- PASS: TestRemove_UnknownAppCreatesNoState (0.00s) 2026-10-18T20:52:01.815235618Z === RUN TestDeploy_ClaimPersistsRequestIdentity 2026-10-18T20:52:01.815243217Z --- PASS: TestDeploy_ClaimPersistsRequestIdentity (0.00s) 2026-10-18T20:52:01.81525097Z === RUN TestDeploy_TerminalKeyReplayExecutesNoEffect 2026-10-18T20:52:01.815260926Z --- PASS: TestDeploy_TerminalKeyReplayExecutesNoEffect (0.00s) 2026-10-18T20:52:01.815269815Z === RUN TestDeploy_FailedTerminalKeyReplayConflicts 2026-10-18T20:52:01.815277619Z === RUN TestDeploy_FailedTerminalKeyReplayConflicts/failed 2026-10-18T20:52:01.815287833Z === RUN TestDeploy_FailedTerminalKeyReplayConflicts/partial 2026-10-18T20:52:01.815298162Z --- PASS: TestDeploy_FailedTerminalKeyReplayConflicts (0.00s) 2026-10-18T20:52:01.81531631Z --- PASS: TestDeploy_FailedTerminalKeyReplayConflicts/failed (0.00s) 2026-10-18T20:52:01.815334673Z --- PASS: TestDeploy_FailedTerminalKeyReplayConflicts/partial (0.00s) 2026-10-18T20:52:01.815344556Z === RUN TestDeploy_PendingKeyReplayConflicts 2026-10-18T20:52:01.815354268Z --- PASS: TestDeploy_PendingKeyReplayConflicts (0.00s) 2026-10-18T20:52:01.815364031Z === RUN TestDeploy_MismatchedKeyIsRejected 2026-10-18T20:52:01.815373579Z --- PASS: TestDeploy_MismatchedKeyIsRejected (0.00s) 2026-10-18T20:52:01.815383129Z === RUN TestDeploy_UnknownAppIsNotFound 2026-10-18T20:52:01.815392876Z --- PASS: TestDeploy_UnknownAppIsNotFound (0.00s) 2026-10-18T20:52:01.815402492Z === RUN TestDeploy_UnknownExplicitRevisionOnKnownApp 2026-10-18T20:52:01.81541227Z --- PASS: TestDeploy_UnknownExplicitRevisionOnKnownApp (0.00s) 2026-10-18T20:52:01.815422359Z === RUN TestRemove_TerminalKeyReplaySkipsRuntime 2026-10-18T20:52:01.815432299Z --- PASS: TestRemove_TerminalKeyReplaySkipsRuntime (0.00s) 2026-10-18T20:52:01.815442407Z === RUN TestStop_PendingKeyReplayConflicts 2026-10-18T20:52:01.815451673Z --- PASS: TestStop_PendingKeyReplayConflicts (0.00s) 2026-10-18T20:52:01.815461261Z === RUN TestRestart_ClaimCarriesServiceIdentity 2026-10-18T20:52:01.815470976Z --- PASS: TestRestart_ClaimCarriesServiceIdentity (0.00s) 2026-10-18T20:52:01.815480942Z === RUN TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder 2026-10-18T20:52:01.81549111Z === RUN TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/volume 2026-10-18T20:52:01.815501539Z === RUN TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/bind 2026-10-18T20:52:01.815511628Z === RUN TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/device 2026-10-18T20:52:01.815521617Z === RUN TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/udp 2026-10-18T20:52:01.815532064Z --- PASS: TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder (0.02s) 2026-10-18T20:52:01.815552044Z --- PASS: TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/volume (0.00s) 2026-10-18T20:52:01.815571631Z --- PASS: TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/bind (0.01s) 2026-10-18T20:52:01.815591455Z --- PASS: TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/device (0.00s) 2026-10-18T20:52:01.815610858Z --- PASS: TestDeploy_NonOverlapEligibleServicesKeepSequentialOrder/udp (0.00s) 2026-10-18T20:52:01.815626509Z === RUN TestDeploy_OverlapPublicationFailureKeepsOldContainer 2026-10-18T20:52:01.815642719Z --- PASS: TestDeploy_OverlapPublicationFailureKeepsOldContainer (0.00s) 2026-10-18T20:52:01.815658659Z === RUN TestDeploy_OverlapSwitchIsNotErasedByAPendingWithdrawal 2026-10-18T20:52:01.815673206Z --- PASS: TestDeploy_OverlapSwitchIsNotErasedByAPendingWithdrawal (0.01s) 2026-10-18T20:52:01.815689599Z === RUN TestDeploy_OverlapRetirementSurvivesANewerOperation 2026-10-18T20:52:01.815702551Z --- PASS: TestDeploy_OverlapRetirementSurvivesANewerOperation (0.01s) 2026-10-18T20:52:01.815713591Z === RUN TestReconcileRunning_RetiresSupersededOnlyAfterSuccessorIsVerified 2026-10-18T20:52:01.815724537Z --- PASS: TestReconcileRunning_RetiresSupersededOnlyAfterSuccessorIsVerified (0.01s) 2026-10-18T20:52:01.815735097Z === RUN TestReconcileRunning_NeverRetiresAPendingContainerThatActiveNamesAgain 2026-10-18T20:52:01.815745508Z --- PASS: TestReconcileRunning_NeverRetiresAPendingContainerThatActiveNamesAgain (0.01s) 2026-10-18T20:52:01.815756102Z === RUN TestBootRecovery_DoesNotRepublishUnverifiedBindsOfAPublishedCandidate 2026-10-18T20:52:01.815766485Z --- PASS: TestBootRecovery_DoesNotRepublishUnverifiedBindsOfAPublishedCandidate (0.01s) 2026-10-18T20:52:01.815776865Z === RUN TestDeploy_OverlapTrafficFailureIsRecoveredByThePeriodicPass 2026-10-18T20:52:01.815786962Z --- PASS: TestDeploy_OverlapTrafficFailureIsRecoveredByThePeriodicPass (0.01s) 2026-10-18T20:52:01.815796861Z === RUN TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps 2026-10-18T20:52:01.815806905Z === RUN TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps/volume 2026-10-18T20:52:01.815817013Z === RUN TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps/udp 2026-10-18T20:52:01.81582729Z --- PASS: TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps (0.01s) 2026-10-18T20:52:01.815846598Z --- PASS: TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps/volume (0.00s) 2026-10-18T20:52:01.815865274Z --- PASS: TestDeploy_PredecessorWithOwnedResourcesNeverOverlaps/udp (0.00s) 2026-10-18T20:52:01.815875594Z === RUN TestReconcileRunning_DoesNotRetireWhenSuccessorIsNotVerifiedByThisPass 2026-10-18T20:52:01.815886165Z --- PASS: TestReconcileRunning_DoesNotRetireWhenSuccessorIsNotVerifiedByThisPass (0.01s) 2026-10-18T20:52:01.815896818Z === RUN TestReconcileRunning_DoesNotRetireWhenSuccessorRestartedAfterVerification 2026-10-18T20:52:01.815907713Z --- PASS: TestReconcileRunning_DoesNotRetireWhenSuccessorRestartedAfterVerification (0.00s) 2026-10-18T20:52:01.815918207Z === RUN TestReconcileRunning_RetiresStackedPredecessors 2026-10-18T20:52:01.815927938Z --- PASS: TestReconcileRunning_RetiresStackedPredecessors (0.01s) 2026-10-18T20:52:01.815937796Z === RUN TestReconcileRunning_KeepsMarkerUntilBackendClaimsAreReleased 2026-10-18T20:52:01.815947873Z --- PASS: TestReconcileRunning_KeepsMarkerUntilBackendClaimsAreReleased (0.01s) 2026-10-18T20:52:01.815958171Z === RUN TestStop_RetiresPendingSupersededContainers 2026-10-18T20:52:01.815967806Z --- PASS: TestStop_RetiresPendingSupersededContainers (0.01s) 2026-10-18T20:52:01.815979054Z === RUN TestRemove_FailsAndKeepsStateWhenAPendingPredecessorCannotBeRetired 2026-10-18T20:52:01.815989788Z --- PASS: TestRemove_FailsAndKeepsStateWhenAPendingPredecessorCannotBeRetired (0.00s) 2026-10-18T20:52:01.815999893Z === RUN TestStop_PendingRetirementLoadFailureIsAJournaledFailure 2026-10-18T20:52:01.816009815Z --- PASS: TestStop_PendingRetirementLoadFailureIsAJournaledFailure (0.01s) 2026-10-18T20:52:01.816020584Z === RUN TestReconcileRunning_DoesNotWithdrawAFreshlyDeployedGeneration 2026-10-18T20:52:01.816030824Z --- PASS: TestReconcileRunning_DoesNotWithdrawAFreshlyDeployedGeneration (0.01s) 2026-10-18T20:52:01.816041154Z === RUN TestReconcileRunning_TreatsARestartedExecutionAfterDeployAsFresh 2026-10-18T20:52:01.816051404Z --- PASS: TestReconcileRunning_TreatsARestartedExecutionAfterDeployAsFresh (0.01s) 2026-10-18T20:52:01.816061236Z === RUN TestReconcileRunning_DoesNotWithdrawARestartedGeneration 2026-10-18T20:52:01.816071623Z --- PASS: TestReconcileRunning_DoesNotWithdrawARestartedGeneration (0.01s) 2026-10-18T20:52:01.816081943Z === RUN TestReconcileRunning_RestoresARebuiltGenerationWhoseTrafficWasRejected 2026-10-18T20:52:01.816092368Z --- PASS: TestReconcileRunning_RestoresARebuiltGenerationWhoseTrafficWasRejected (0.01s) 2026-10-18T20:52:01.816102174Z === RUN TestDeploy_MissingRequiredSecretFailsClosed 2026-10-18T20:52:01.816112015Z --- PASS: TestDeploy_MissingRequiredSecretFailsClosed (0.00s) 2026-10-18T20:52:01.816348019Z === RUN TestDeploy_EnvSecretCollisionFailsClosed 2026-10-18T20:52:01.816399815Z --- PASS: TestDeploy_EnvSecretCollisionFailsClosed (0.00s) 2026-10-18T20:52:01.816442459Z === RUN TestDeploy_UnmanagedImageVolumeRejected 2026-10-18T20:52:01.816465024Z --- PASS: TestDeploy_UnmanagedImageVolumeRejected (0.00s) 2026-10-18T20:52:01.816512627Z === RUN TestDeploy_RefusesUnownedExistingVolume 2026-10-18T20:52:01.816533951Z --- PASS: TestDeploy_RefusesUnownedExistingVolume (0.00s) 2026-10-18T20:52:01.81654317Z === RUN TestStartDeploy_TargetedDiffPolicy 2026-10-18T20:52:01.816551734Z === RUN TestStartDeploy_TargetedDiffPolicy/requested_service_image 2026-10-18T20:52:01.816609687Z === RUN TestStartDeploy_TargetedDiffPolicy/identical_spec 2026-10-18T20:52:01.816665686Z === RUN TestStartDeploy_TargetedDiffPolicy/other_service 2026-10-18T20:52:01.816713871Z === RUN TestStartDeploy_TargetedDiffPolicy/environment 2026-10-18T20:52:01.816768172Z === RUN TestStartDeploy_TargetedDiffPolicy/network 2026-10-18T20:52:01.816817259Z === RUN TestStartDeploy_TargetedDiffPolicy/service_added 2026-10-18T20:52:01.816872089Z === RUN TestStartDeploy_TargetedDiffPolicy/service_removed 2026-10-18T20:52:01.816925346Z --- PASS: TestStartDeploy_TargetedDiffPolicy (0.00s) 2026-10-18T20:52:01.816992531Z --- PASS: TestStartDeploy_TargetedDiffPolicy/requested_service_image (0.00s) 2026-10-18T20:52:01.817059595Z --- PASS: TestStartDeploy_TargetedDiffPolicy/identical_spec (0.00s) 2026-10-18T20:52:01.817127289Z --- PASS: TestStartDeploy_TargetedDiffPolicy/other_service (0.00s) 2026-10-18T20:52:01.817195211Z --- PASS: TestStartDeploy_TargetedDiffPolicy/environment (0.00s) 2026-10-18T20:52:01.817259036Z --- PASS: TestStartDeploy_TargetedDiffPolicy/network (0.00s) 2026-10-18T20:52:01.817323955Z --- PASS: TestStartDeploy_TargetedDiffPolicy/service_added (0.00s) 2026-10-18T20:52:01.81738912Z --- PASS: TestStartDeploy_TargetedDiffPolicy/service_removed (0.00s) 2026-10-18T20:52:01.817442994Z === RUN TestDeploy_HoldsSharedGCBarrierAcrossResourceSelection 2026-10-18T20:52:01.817496555Z --- PASS: TestDeploy_HoldsSharedGCBarrierAcrossResourceSelection (0.00s) 2026-10-18T20:52:01.81756295Z === RUN TestDeploy_UnsupportedEngineFailsBeforeMutation 2026-10-18T20:52:01.817615395Z --- PASS: TestDeploy_UnsupportedEngineFailsBeforeMutation (0.00s) 2026-10-18T20:52:01.817663869Z === RUN TestStartDeploy_TargetedImageChangeWithUnchangedAppEnv 2026-10-18T20:52:01.817717477Z --- PASS: TestStartDeploy_TargetedImageChangeWithUnchangedAppEnv (0.00s) 2026-10-18T20:52:01.817766797Z === RUN TestReconcileRunning_EmptyActiveTakesNoRuntimeAction 2026-10-18T20:52:01.817816552Z --- PASS: TestReconcileRunning_EmptyActiveTakesNoRuntimeAction (0.00s) 2026-10-18T20:52:01.817872099Z === RUN TestReconcileRunning_StoppedIntentStopsRevivedExactIDWithoutRemoval 2026-10-18T20:52:01.81793529Z 2026-10-18T20:51:53Z INF deployment: stopped intent enforced on a revived container app=blog container=c-1 service=web 2026-10-18T20:52:01.818009915Z --- PASS: TestReconcileRunning_StoppedIntentStopsRevivedExactIDWithoutRemoval (0.00s) 2026-10-18T20:52:01.818064934Z === RUN TestReconcileRunning_AbstainsWhenStoppedContainerAlreadyDown 2026-10-18T20:52:01.81809682Z --- PASS: TestReconcileRunning_AbstainsWhenStoppedContainerAlreadyDown (0.00s) 2026-10-18T20:52:01.818115071Z === RUN TestReconcileRunning_StartsExitedExactIDThenVerifiesAndPublishes 2026-10-18T20:52:01.818136905Z 2026-10-18T20:51:53Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.818155714Z --- PASS: TestReconcileRunning_StartsExitedExactIDThenVerifiesAndPublishes (0.00s) 2026-10-18T20:52:01.818172894Z === RUN TestReconcileRunning_ConfirmedMissingWithdrawsWithoutReconstruction 2026-10-18T20:52:01.818222433Z --- PASS: TestReconcileRunning_ConfirmedMissingWithdrawsWithoutReconstruction (0.00s) 2026-10-18T20:52:01.818253624Z === RUN TestReconcileRunning_TransientInspectErrorTakesNoAction 2026-10-18T20:52:01.818306349Z --- PASS: TestReconcileRunning_TransientInspectErrorTakesNoAction (0.00s) 2026-10-18T20:52:01.818350988Z === RUN TestReconcileRunning_InhibitedGenerationIsNeverStarted 2026-10-18T20:52:01.81840535Z --- PASS: TestReconcileRunning_InhibitedGenerationIsNeverStarted (0.00s) 2026-10-18T20:52:01.818458223Z === RUN TestReconcileRunning_NativeRestartRaceIsNotCharged 2026-10-18T20:52:01.818516037Z 2026-10-18T20:51:53Z INF deployment: native restart won the race, no recovery charged app=blog container=c-1 service=web 2026-10-18T20:52:01.818571906Z --- PASS: TestReconcileRunning_NativeRestartRaceIsNotCharged (0.00s) 2026-10-18T20:52:01.818623002Z === RUN TestReconcileRunning_NativeRestartRefreshesChangedBinds 2026-10-18T20:52:01.818671885Z --- PASS: TestReconcileRunning_NativeRestartRefreshesChangedBinds (0.00s) 2026-10-18T20:52:01.818723768Z === RUN TestReconcileRunning_RestartingObservesAndRetries 2026-10-18T20:52:01.81877263Z --- PASS: TestReconcileRunning_RestartingObservesAndRetries (0.00s) 2026-10-18T20:52:01.818819252Z === RUN TestReconcileRunning_PausedRefusesNonDestructiveRecovery 2026-10-18T20:52:01.818875234Z --- PASS: TestReconcileRunning_PausedRefusesNonDestructiveRecovery (0.00s) 2026-10-18T20:52:01.8189313Z === RUN TestReconcileRunning_OneFailureDoesNotBlockLaterApps 2026-10-18T20:52:01.818954783Z --- PASS: TestReconcileRunning_OneFailureDoesNotBlockLaterApps (0.00s) 2026-10-18T20:52:01.819035585Z === RUN TestReconcileRunning_WithdrawalFailureBlocksRuntimeRecovery 2026-10-18T20:52:01.819091333Z --- PASS: TestReconcileRunning_WithdrawalFailureBlocksRuntimeRecovery (0.00s) 2026-10-18T20:52:01.819144808Z === RUN TestReconcileRunning_RetriesWithdrawalBeforeAnyLaterPublication 2026-10-18T20:52:01.819196124Z 2026-10-18T20:51:53Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.819251108Z --- PASS: TestReconcileRunning_RetriesWithdrawalBeforeAnyLaterPublication (0.00s) 2026-10-18T20:52:01.819304959Z === RUN TestReconcileRunning_RebuildFailureDoesNotRestartHealthyContainer 2026-10-18T20:52:01.819360476Z --- PASS: TestReconcileRunning_RebuildFailureDoesNotRestartHealthyContainer (0.00s) 2026-10-18T20:52:01.819414891Z === RUN TestReconcileRunning_UnhealthyRestartsOnlyAfterConsecutiveObservations 2026-10-18T20:52:01.819467586Z 2026-10-18T20:51:53Z INF deployment: restarted an unhealthy container app=blog container=c-1 service=web 2026-10-18T20:52:01.819526143Z --- PASS: TestReconcileRunning_UnhealthyRestartsOnlyAfterConsecutiveObservations (0.00s) 2026-10-18T20:52:01.819546804Z === RUN TestReconcileRunning_HealthStartingWaits 2026-10-18T20:52:01.819629207Z --- PASS: TestReconcileRunning_HealthStartingWaits (0.00s) 2026-10-18T20:52:01.819685176Z === RUN TestReconcileRunning_NoHealthcheckNeverRestartsOnReadiness 2026-10-18T20:52:01.819740874Z --- PASS: TestReconcileRunning_NoHealthcheckNeverRestartsOnReadiness (1.00s) 2026-10-18T20:52:01.819797031Z === RUN TestReconcileRunning_StaleGenerationIsNeverPublished 2026-10-18T20:52:01.819851336Z --- PASS: TestReconcileRunning_StaleGenerationIsNeverPublished (0.00s) 2026-10-18T20:52:01.819906111Z === RUN TestReconcileRunning_LogReadinessUsesTheExactExecutionScope 2026-10-18T20:52:01.819965595Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.82002108Z --- PASS: TestReconcileRunning_LogReadinessUsesTheExactExecutionScope (0.00s) 2026-10-18T20:52:01.820076185Z === RUN TestReconcileRunning_OldExecutionMarkerCannotSatisfyReadiness 2026-10-18T20:52:01.820135897Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820192804Z --- PASS: TestReconcileRunning_OldExecutionMarkerCannotSatisfyReadiness (0.02s) 2026-10-18T20:52:01.820248174Z === RUN TestReconcileRunning_CrashLoopIsChargedEvenWhenStartsSucceed 2026-10-18T20:52:01.82030808Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820368596Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820428593Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820484314Z --- PASS: TestReconcileRunning_CrashLoopIsChargedEvenWhenStartsSucceed (0.00s) 2026-10-18T20:52:01.820540535Z === RUN TestReconcileRunning_StaleExecutionAfterReadinessNeverPublishes 2026-10-18T20:52:01.820599662Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820656368Z --- PASS: TestReconcileRunning_StaleExecutionAfterReadinessNeverPublishes (0.00s) 2026-10-18T20:52:01.820709533Z === RUN TestReconcileRunning_FailedReadinessPersistsNoBinds 2026-10-18T20:52:01.820760575Z 2026-10-18T20:51:54Z INF deployment: recovery started the exact active container app=blog container=c-1 service=web 2026-10-18T20:52:01.820817552Z --- PASS: TestReconcileRunning_FailedReadinessPersistsNoBinds (1.00s) 2026-10-18T20:52:01.820871771Z === RUN TestRecoveryInhibition_RefusesInhibitedGenerationAfterReboot 2026-10-18T20:52:01.820928102Z --- PASS: TestRecoveryInhibition_RefusesInhibitedGenerationAfterReboot (0.00s) 2026-10-18T20:52:01.820984609Z === RUN TestVolumeReplacementFailureLeavesOldGenerationInhibited 2026-10-18T20:52:01.821034686Z --- PASS: TestVolumeReplacementFailureLeavesOldGenerationInhibited (0.01s) 2026-10-18T20:52:01.821083209Z === RUN TestRemove_InhibitsBeforeRuntimeWithdrawal 2026-10-18T20:52:01.821136259Z --- PASS: TestRemove_InhibitsBeforeRuntimeWithdrawal (0.00s) 2026-10-18T20:52:01.821185413Z === RUN TestBootStoppedConvergenceStopsRevivedContainer 2026-10-18T20:52:01.821241338Z 2026-10-18T20:51:55Z INF deployment: stopped intent enforced on a revived container app=blog container=c-1 service=web 2026-10-18T20:52:01.821302361Z --- PASS: TestBootStoppedConvergenceStopsRevivedContainer (0.00s) 2026-10-18T20:52:01.821354301Z === RUN TestBootRefusesInhibitedGenerationBeforeAnyRuntimeEffect 2026-10-18T20:52:01.821409621Z --- PASS: TestBootRefusesInhibitedGenerationBeforeAnyRuntimeEffect (0.00s) 2026-10-18T20:52:01.821435821Z === RUN TestWorkloadMutationsSerializePerApp 2026-10-18T20:52:01.8215235Z --- PASS: TestWorkloadMutationsSerializePerApp (0.00s) 2026-10-18T20:52:01.821577043Z === RUN TestRestart_RefusesInhibitedGeneration 2026-10-18T20:52:01.821625444Z --- PASS: TestRestart_RefusesInhibitedGeneration (0.00s) 2026-10-18T20:52:01.821679797Z === RUN TestRemove_KeepsStateWhenAContainerCannotBeRemoved 2026-10-18T20:52:01.821709809Z --- PASS: TestRemove_KeepsStateWhenAContainerCannotBeRemoved (0.00s) 2026-10-18T20:52:01.821756474Z === RUN TestRemovalOfMissingContainerIsIdempotent 2026-10-18T20:52:01.821804951Z --- PASS: TestRemovalOfMissingContainerIsIdempotent (0.00s) 2026-10-18T20:52:01.821857073Z === RUN TestRestart_InPlaceWithdrawsRestartsVerifiesAndRepublishes 2026-10-18T20:52:01.821906517Z --- PASS: TestRestart_InPlaceWithdrawsRestartsVerifiesAndRepublishes (0.00s) 2026-10-18T20:52:01.821955998Z === RUN TestRestart_ReadinessFailureLeavesTheRestartedContainerWithdrawn 2026-10-18T20:52:01.822011413Z --- PASS: TestRestart_ReadinessFailureLeavesTheRestartedContainerWithdrawn (1.00s) 2026-10-18T20:52:01.822061712Z === RUN TestLifecycleVerbsPassTheEffectiveStopGrace 2026-10-18T20:52:01.822110036Z === RUN TestLifecycleVerbsPassTheEffectiveStopGrace/stop 2026-10-18T20:52:01.822164597Z === RUN TestLifecycleVerbsPassTheEffectiveStopGrace/restart 2026-10-18T20:52:01.822215775Z === RUN TestLifecycleVerbsPassTheEffectiveStopGrace/remove 2026-10-18T20:52:01.822264363Z --- PASS: TestLifecycleVerbsPassTheEffectiveStopGrace (0.00s) 2026-10-18T20:52:01.822328069Z --- PASS: TestLifecycleVerbsPassTheEffectiveStopGrace/stop (0.00s) 2026-10-18T20:52:01.822392788Z --- PASS: TestLifecycleVerbsPassTheEffectiveStopGrace/restart (0.00s) 2026-10-18T20:52:01.822459909Z --- PASS: TestLifecycleVerbsPassTheEffectiveStopGrace/remove (0.00s) 2026-10-18T20:52:01.822510841Z === RUN TestStopWithoutDeclaredGraceUsesTheAppDefault 2026-10-18T20:52:01.822559548Z --- PASS: TestStopWithoutDeclaredGraceUsesTheAppDefault (0.00s) 2026-10-18T20:52:01.822607827Z === RUN TestRemove_FailedRetirementKeepsClaimsAndActiveState 2026-10-18T20:52:01.822660372Z --- PASS: TestRemove_FailedRetirementKeepsClaimsAndActiveState (0.00s) 2026-10-18T20:52:01.822710031Z === RUN TestDeploy_RetirementFailureBlocksReplacement 2026-10-18T20:52:01.822760806Z --- PASS: TestDeploy_RetirementFailureBlocksReplacement (0.00s) 2026-10-18T20:52:01.822814761Z === RUN TestDeploy_StatelessReplacementOverlapsAndSwitchesBeforeRetiring 2026-10-18T20:52:01.822869081Z --- PASS: TestDeploy_StatelessReplacementOverlapsAndSwitchesBeforeRetiring (0.00s) 2026-10-18T20:52:01.822920603Z === RUN TestDeploy_OverlapRetiresOldGenerationWithItsOwnStopGrace 2026-10-18T20:52:01.822969915Z --- PASS: TestDeploy_OverlapRetiresOldGenerationWithItsOwnStopGrace (0.01s) 2026-10-18T20:52:01.823018633Z === RUN TestDeploy_OverlapOldRetirementFailureIsACleanupWarning 2026-10-18T20:52:01.823070894Z --- PASS: TestDeploy_OverlapOldRetirementFailureIsACleanupWarning (0.01s) 2026-10-18T20:52:01.823120088Z === RUN TestDeploy_PreflightFailureLeavesTheWorkloadUntouched 2026-10-18T20:52:01.823168703Z --- PASS: TestDeploy_PreflightFailureLeavesTheWorkloadUntouched (0.00s) 2026-10-18T20:52:01.823222869Z === RUN TestDeploy_WithdrawalFailureBlocksMutation 2026-10-18T20:52:01.823271808Z --- PASS: TestDeploy_WithdrawalFailureBlocksMutation (0.00s) 2026-10-18T20:52:01.823323972Z === RUN TestDeploy_FirstDeploymentRetiresNothing 2026-10-18T20:52:01.823372371Z --- PASS: TestDeploy_FirstDeploymentRetiresNothing (0.01s) 2026-10-18T20:52:01.823427869Z === RUN TestDeploy_ReadinessFailureJournalsFailureAndRemovesCandidate 2026-10-18T20:52:01.823482676Z --- PASS: TestDeploy_ReadinessFailureJournalsFailureAndRemovesCandidate (1.00s) 2026-10-18T20:52:01.823533521Z === RUN TestDeploy_CandidateCleanupFailureStaysVisible 2026-10-18T20:52:01.823586837Z --- PASS: TestDeploy_CandidateCleanupFailureStaysVisible (1.00s) 2026-10-18T20:52:01.823641317Z === RUN TestDeploy_CancellationDuringReadinessIsNotReportedAsSuccess 2026-10-18T20:52:01.823699689Z --- PASS: TestDeploy_CancellationDuringReadinessIsNotReportedAsSuccess (0.00s) 2026-10-18T20:52:01.823754041Z === RUN TestDeploy_MultiServiceStopsAtFirstFailure 2026-10-18T20:52:01.823776858Z --- PASS: TestDeploy_MultiServiceStopsAtFirstFailure (1.01s) 2026-10-18T20:52:01.823786593Z === RUN TestDeploy_VolumeReplacementPreventsOverlappingWriters 2026-10-18T20:52:01.823833826Z --- PASS: TestDeploy_VolumeReplacementPreventsOverlappingWriters (1.01s) 2026-10-18T20:52:01.823852492Z === RUN TestComputeOutcome_TerminalResults 2026-10-18T20:52:01.823930568Z --- PASS: TestComputeOutcome_TerminalResults (0.00s) 2026-10-18T20:52:01.823979807Z === RUN TestReconcileBoot_ContinuesAfterAppFailure 2026-10-18T20:52:01.824026085Z --- PASS: TestReconcileBoot_ContinuesAfterAppFailure (0.00s) 2026-10-18T20:52:01.82407367Z === RUN TestDeploy_TrafficFailureRecordsFailedServiceStep 2026-10-18T20:52:01.82412427Z --- PASS: TestDeploy_TrafficFailureRecordsFailedServiceStep (0.00s) 2026-10-18T20:52:01.824177425Z === RUN TestStop_TrafficFailureRecordsTerminalFailure 2026-10-18T20:52:01.824228664Z --- PASS: TestStop_TrafficFailureRecordsTerminalFailure (0.00s) 2026-10-18T20:52:01.824278143Z === RUN TestStartDeploy_PersistsClaimBeforeAnyExecution 2026-10-18T20:52:01.824305435Z === RUN TestStartDeploy_PersistsClaimBeforeAnyExecution/keyed 2026-10-18T20:52:01.824316242Z === RUN TestStartDeploy_PersistsClaimBeforeAnyExecution/unkeyed 2026-10-18T20:52:01.824359817Z --- PASS: TestStartDeploy_PersistsClaimBeforeAnyExecution (0.00s) 2026-10-18T20:52:01.824451786Z --- PASS: TestStartDeploy_PersistsClaimBeforeAnyExecution/keyed (0.00s) 2026-10-18T20:52:01.824523453Z --- PASS: TestStartDeploy_PersistsClaimBeforeAnyExecution/unkeyed (0.00s) 2026-10-18T20:52:01.824541405Z === RUN TestStartDeploy_SameKeyHandsOneOwner 2026-10-18T20:52:01.824580316Z --- PASS: TestStartDeploy_SameKeyHandsOneOwner (0.00s) 2026-10-18T20:52:01.824598422Z === RUN TestExecuteDeploy_RecordsTerminalOutcome 2026-10-18T20:52:01.8246749Z --- PASS: TestExecuteDeploy_RecordsTerminalOutcome (0.00s) 2026-10-18T20:52:01.824690755Z === RUN TestExecuteDeploy_RecordsTerminalFailure 2026-10-18T20:52:01.824770378Z --- PASS: TestExecuteDeploy_RecordsTerminalFailure (0.00s) 2026-10-18T20:52:01.824821699Z === RUN TestExecuteDeploy_TerminalStoreRecordBeatsStaleClaim 2026-10-18T20:52:01.824875749Z --- PASS: TestExecuteDeploy_TerminalStoreRecordBeatsStaleClaim (0.00s) 2026-10-18T20:52:01.824929123Z === RUN TestExecuteDeploy_CancellationLeavesRecoverableClaim 2026-10-18T20:52:01.824982875Z --- PASS: TestExecuteDeploy_CancellationLeavesRecoverableClaim (0.01s) 2026-10-18T20:52:01.825033286Z === RUN TestDeploy_IsStartDeployThenExecuteDeploy 2026-10-18T20:52:01.825085518Z --- PASS: TestDeploy_IsStartDeployThenExecuteDeploy (0.00s) 2026-10-18T20:52:01.82511688Z === RUN TestStartDeploy_LiveClaimSurvivesForegroundReconciliation 2026-10-18T20:52:01.825168133Z --- PASS: TestStartDeploy_LiveClaimSurvivesForegroundReconciliation (0.01s) 2026-10-18T20:52:01.825221834Z === RUN TestAbandonDeploy_SettlesClaimWithoutStarting 2026-10-18T20:52:01.825278877Z --- PASS: TestAbandonDeploy_SettlesClaimWithoutStarting (0.01s) 2026-10-18T20:52:01.825330338Z PASS 2026-10-18T20:52:01.825382585Z ok github.com/bnema/gordon/internal/usecase/deployment 17.090s 2026-10-18T20:52:01.8254312Z === RUN TestService_CheckAllRoutes_Healthy 2026-10-18T20:52:01.825486178Z --- PASS: TestService_CheckAllRoutes_Healthy (0.00s) 2026-10-18T20:52:01.825557645Z === RUN TestService_CheckAllRoutes_ContainerNotRunning 2026-10-18T20:52:01.825580259Z --- PASS: TestService_CheckAllRoutes_ContainerNotRunning (0.00s) 2026-10-18T20:52:01.825627287Z === RUN TestService_CheckAllRoutes_ProbeFailure 2026-10-18T20:52:01.825647801Z --- PASS: TestService_CheckAllRoutes_ProbeFailure (0.00s) 2026-10-18T20:52:01.82572962Z === RUN TestService_CheckAllRoutes_StoppedIntentSkipped 2026-10-18T20:52:01.825784512Z --- PASS: TestService_CheckAllRoutes_StoppedIntentSkipped (0.00s) 2026-10-18T20:52:01.825834638Z === RUN TestService_CheckAllRoutes_NoApps 2026-10-18T20:52:01.82588812Z --- PASS: TestService_CheckAllRoutes_NoApps (0.00s) 2026-10-18T20:52:01.825908757Z PASS 2026-10-18T20:52:01.825967377Z ok github.com/bnema/gordon/internal/usecase/health 1.019s 2026-10-18T20:52:01.826011026Z === RUN TestPrune_SnapshotGapFailsClosed 2026-10-18T20:52:01.826029198Z --- PASS: TestPrune_SnapshotGapFailsClosed (0.00s) 2026-10-18T20:52:01.826078339Z === RUN TestPrune_MovedTagKeepsActiveDigestClosure 2026-10-18T20:52:01.82612904Z --- PASS: TestPrune_MovedTagKeepsActiveDigestClosure (0.00s) 2026-10-18T20:52:01.826150058Z === RUN TestPrune_SubjectClosureProtectsManifestConfigAndLayers 2026-10-18T20:52:01.826169904Z --- PASS: TestPrune_SubjectClosureProtectsManifestConfigAndLayers (0.00s) 2026-10-18T20:52:01.826185335Z === RUN TestPrune_MissingSubjectFailsClosed 2026-10-18T20:52:01.826200963Z --- PASS: TestPrune_MissingSubjectFailsClosed (0.00s) 2026-10-18T20:52:01.826211417Z === RUN TestPrune_SubjectCycleTerminatesAndProtectsClosure 2026-10-18T20:52:01.826220677Z --- PASS: TestPrune_SubjectCycleTerminatesAndProtectsClosure (0.00s) 2026-10-18T20:52:01.826230169Z === RUN TestPrune_ExternalRepositoryDigestRootDoesNotDisablePruning 2026-10-18T20:52:01.826253534Z --- PASS: TestPrune_ExternalRepositoryDigestRootDoesNotDisablePruning (0.00s) 2026-10-18T20:52:01.826271669Z === RUN TestPrune_UnresolvedDigestRootFailsClosed 2026-10-18T20:52:01.826281985Z --- PASS: TestPrune_UnresolvedDigestRootFailsClosed (0.00s) 2026-10-18T20:52:01.826292458Z === RUN TestPrune_BlobClaimedByDigestRootSurvives 2026-10-18T20:52:01.826301484Z --- PASS: TestPrune_BlobClaimedByDigestRootSurvives (0.00s) 2026-10-18T20:52:01.82631459Z === RUN TestPrune_BlobWithoutModTimeStaysUnknown 2026-10-18T20:52:01.826324269Z --- PASS: TestPrune_BlobWithoutModTimeStaysUnknown (0.00s) 2026-10-18T20:52:01.826333308Z === RUN TestPrune_MalformedTagFailsClosed 2026-10-18T20:52:01.826342125Z --- PASS: TestPrune_MalformedTagFailsClosed (0.00s) 2026-10-18T20:52:01.826355726Z === RUN TestPrune_SecondExecutionIsIdempotent 2026-10-18T20:52:01.826365402Z --- PASS: TestPrune_SecondExecutionIsIdempotent (0.00s) 2026-10-18T20:52:01.826374672Z === RUN TestPrune_RuntimeDeletionRunsOutsideRegistryLock 2026-10-18T20:52:01.826384181Z --- PASS: TestPrune_RuntimeDeletionRunsOutsideRegistryLock (0.00s) 2026-10-18T20:52:01.826395702Z === RUN TestPrune_SelectiveMixedBatch 2026-10-18T20:52:01.826408703Z --- PASS: TestPrune_SelectiveMixedBatch (0.00s) 2026-10-18T20:52:01.826420195Z === RUN TestPrune_DryRunPlansWithoutDeleting 2026-10-18T20:52:01.826431629Z --- PASS: TestPrune_DryRunPlansWithoutDeleting (0.00s) 2026-10-18T20:52:01.826442443Z === RUN TestPrune_ZeroEligibleSucceeds 2026-10-18T20:52:01.826455156Z --- PASS: TestPrune_ZeroEligibleSucceeds (0.00s) 2026-10-18T20:52:01.82647323Z === RUN TestPrune_MissingChildManifestMakesUnreferencedBlobsUnknown 2026-10-18T20:52:01.826486803Z --- PASS: TestPrune_MissingChildManifestMakesUnreferencedBlobsUnknown (0.00s) 2026-10-18T20:52:01.826498443Z === RUN TestPrune_SharedBlobStaysProtectedThroughClosure 2026-10-18T20:52:01.826512144Z --- PASS: TestPrune_SharedBlobStaysProtectedThroughClosure (0.00s) 2026-10-18T20:52:01.826521524Z === RUN TestPrune_RegistryDeletionFailureIsIsolated 2026-10-18T20:52:01.826531416Z --- PASS: TestPrune_RegistryDeletionFailureIsIsolated (0.00s) 2026-10-18T20:52:01.826541927Z === RUN TestPrune_RuntimeDeletionFailureIsIsolated 2026-10-18T20:52:01.826553888Z --- PASS: TestPrune_RuntimeDeletionFailureIsIsolated (0.00s) 2026-10-18T20:52:01.826562428Z === RUN TestPrune_KeepLastZeroSkipsRegistry 2026-10-18T20:52:01.826572818Z --- PASS: TestPrune_KeepLastZeroSkipsRegistry (0.00s) 2026-10-18T20:52:01.826582862Z === RUN TestPrune_RegistryOnlySkipsRuntime 2026-10-18T20:52:01.826595019Z --- PASS: TestPrune_RegistryOnlySkipsRuntime (0.00s) 2026-10-18T20:52:01.826605439Z === RUN TestPrune_RequiresProtectionStore 2026-10-18T20:52:01.826614271Z --- PASS: TestPrune_RequiresProtectionStore (0.00s) 2026-10-18T20:52:01.826623271Z === RUN TestPrune_ProtectionSnapshotFailureFailsClosed 2026-10-18T20:52:01.826640782Z --- PASS: TestPrune_ProtectionSnapshotFailureFailsClosed (0.00s) 2026-10-18T20:52:01.82665426Z === RUN TestPrune_RuntimeInventoryGapMakesCandidatesUnknown 2026-10-18T20:52:01.826666421Z --- PASS: TestPrune_RuntimeInventoryGapMakesCandidatesUnknown (0.00s) 2026-10-18T20:52:01.826681416Z === RUN TestService_ListImages_ReturnsAllImages 2026-10-18T20:52:01.826695824Z --- PASS: TestService_ListImages_ReturnsAllImages (0.00s) 2026-10-18T20:52:01.826708045Z === RUN TestService_ListImages_EmptyWhenNoImages 2026-10-18T20:52:01.826723116Z --- PASS: TestService_ListImages_EmptyWhenNoImages (0.00s) 2026-10-18T20:52:01.826735799Z === RUN TestService_ListImages_SkipsPlaceholderTagsInMixedImage 2026-10-18T20:52:01.826749562Z --- PASS: TestService_ListImages_SkipsPlaceholderTagsInMixedImage (0.00s) 2026-10-18T20:52:01.826761747Z === RUN TestService_ListImages_ReturnsErrorWhenRuntimeFails 2026-10-18T20:52:01.826774644Z --- PASS: TestService_ListImages_ReturnsErrorWhenRuntimeFails (0.00s) 2026-10-18T20:52:01.826785436Z === RUN TestService_ListImages_IncludesRegistryTagsNotPresentInRuntime 2026-10-18T20:52:01.826795166Z --- PASS: TestService_ListImages_IncludesRegistryTagsNotPresentInRuntime (0.00s) 2026-10-18T20:52:01.826808133Z === RUN TestSplitRepoTag 2026-10-18T20:52:01.826820344Z === RUN TestSplitRepoTag/repository_and_tag 2026-10-18T20:52:01.82683189Z === RUN TestSplitRepoTag/sha-like_tag_stays_a_tag 2026-10-18T20:52:01.826846329Z === RUN TestSplitRepoTag/registry_port_and_tag 2026-10-18T20:52:01.826857353Z === RUN TestSplitRepoTag/registry_port_without_tag 2026-10-18T20:52:01.826867307Z === RUN TestSplitRepoTag/digest_reference_not_split_as_tag 2026-10-18T20:52:01.826877001Z === RUN TestSplitRepoTag/missing_tag 2026-10-18T20:52:01.826888896Z === RUN TestSplitRepoTag/trailing_colon 2026-10-18T20:52:01.826898385Z --- PASS: TestSplitRepoTag (0.00s) 2026-10-18T20:52:01.826915395Z --- PASS: TestSplitRepoTag/repository_and_tag (0.00s) 2026-10-18T20:52:01.826941827Z --- PASS: TestSplitRepoTag/sha-like_tag_stays_a_tag (0.00s) 2026-10-18T20:52:01.826959192Z --- PASS: TestSplitRepoTag/registry_port_and_tag (0.00s) 2026-10-18T20:52:01.826985702Z --- PASS: TestSplitRepoTag/registry_port_without_tag (0.00s) 2026-10-18T20:52:01.827009242Z --- PASS: TestSplitRepoTag/digest_reference_not_split_as_tag (0.00s) 2026-10-18T20:52:01.827029829Z --- PASS: TestSplitRepoTag/missing_tag (0.00s) 2026-10-18T20:52:01.82704874Z --- PASS: TestSplitRepoTag/trailing_colon (0.00s) 2026-10-18T20:52:01.827063126Z PASS 2026-10-18T20:52:01.827075875Z ok github.com/bnema/gordon/internal/usecase/images 1.025s 2026-10-18T20:52:01.82708777Z === RUN TestAccessLogExporter_AttributesOwnedHostToAppService 2026-10-18T20:52:01.827101343Z --- PASS: TestAccessLogExporter_AttributesOwnedHostToAppService (0.00s) 2026-10-18T20:52:01.827112169Z === RUN TestAccessLogExporter_UnownedHostIsGordon 2026-10-18T20:52:01.827121341Z --- PASS: TestAccessLogExporter_UnownedHostIsGordon (0.00s) 2026-10-18T20:52:01.827130071Z === RUN TestAccessLogExporter_ReturnsLocalSinkError 2026-10-18T20:52:01.8271407Z --- PASS: TestAccessLogExporter_ReturnsLocalSinkError (0.00s) 2026-10-18T20:52:01.827149207Z === RUN TestAccessLogExporter_DropsQueryAttribute 2026-10-18T20:52:01.827159533Z --- PASS: TestAccessLogExporter_DropsQueryAttribute (0.00s) 2026-10-18T20:52:01.82716818Z === RUN TestAccessLogExporter_SanitizesInvalidUTF8 2026-10-18T20:52:01.827178277Z --- PASS: TestAccessLogExporter_SanitizesInvalidUTF8 (0.00s) 2026-10-18T20:52:01.827187352Z === RUN TestCollector_FollowsOnlyExportableContainers 2026-10-18T20:52:01.827197522Z --- PASS: TestCollector_FollowsOnlyExportableContainers (0.00s) 2026-10-18T20:52:01.827212618Z === RUN TestCollector_StopsFollowerWhenServiceOptsOut 2026-10-18T20:52:01.827225865Z --- PASS: TestCollector_StopsFollowerWhenServiceOptsOut (0.00s) 2026-10-18T20:52:01.827238833Z === RUN TestCollector_ExportsLinesWithSourceIdentity 2026-10-18T20:52:01.827250141Z --- PASS: TestCollector_ExportsLinesWithSourceIdentity (0.00s) 2026-10-18T20:52:01.827259475Z === RUN TestCollector_ResumesAfterLastLineOnReconnect 2026-10-18T20:52:01.827270425Z --- PASS: TestCollector_ResumesAfterLastLineOnReconnect (0.00s) 2026-10-18T20:52:01.827283544Z === RUN TestCollector_ReconcileWrapsStateErrors 2026-10-18T20:52:01.82729452Z --- PASS: TestCollector_ReconcileWrapsStateErrors (0.00s) 2026-10-18T20:52:01.827303408Z === RUN TestCollector_RecreatedFollowResumesFromSavedCursor 2026-10-18T20:52:01.82731237Z --- PASS: TestCollector_RecreatedFollowResumesFromSavedCursor (0.00s) 2026-10-18T20:52:01.827326652Z === RUN TestCollector_RetiresCursorWhenIDLeavesActive 2026-10-18T20:52:01.827337167Z --- PASS: TestCollector_RetiresCursorWhenIDLeavesActive (0.00s) 2026-10-18T20:52:01.82734484Z PASS 2026-10-18T20:52:01.827353772Z ok github.com/bnema/gordon/internal/usecase/logexport 1.025s 2026-10-18T20:52:01.82736863Z === RUN TestService_GetProcessLogs 2026-10-18T20:52:01.827383003Z === RUN TestService_GetProcessLogs/returns_lines_from_log_file 2026-10-18T20:52:01.827393064Z === RUN TestService_GetProcessLogs/returns_empty_slice_for_non-existent_file 2026-10-18T20:52:01.827409799Z === RUN TestService_GetProcessLogs/returns_error_when_log_file_path_not_configured 2026-10-18T20:52:01.827425524Z === RUN TestService_GetProcessLogs/returns_all_lines_when_fewer_than_requested 2026-10-18T20:52:01.827439946Z === RUN TestService_GetProcessLogs/falls_back_to_journalctl_when_file_logging_disabled 2026-10-18T20:52:01.827451307Z --- PASS: TestService_GetProcessLogs (0.01s) 2026-10-18T20:52:01.82746949Z --- PASS: TestService_GetProcessLogs/returns_lines_from_log_file (0.00s) 2026-10-18T20:52:01.82749657Z --- PASS: TestService_GetProcessLogs/returns_empty_slice_for_non-existent_file (0.00s) 2026-10-18T20:52:01.827523282Z --- PASS: TestService_GetProcessLogs/returns_error_when_log_file_path_not_configured (0.00s) 2026-10-18T20:52:01.827548159Z --- PASS: TestService_GetProcessLogs/returns_all_lines_when_fewer_than_requested (0.00s) 2026-10-18T20:52:01.827572797Z --- PASS: TestService_GetProcessLogs/falls_back_to_journalctl_when_file_logging_disabled (0.01s) 2026-10-18T20:52:01.827584645Z === RUN TestService_FollowProcessLogs 2026-10-18T20:52:01.827596465Z === RUN TestService_FollowProcessLogs/streams_lines_and_respects_context_cancellation 2026-10-18T20:52:01.82760513Z --- PASS: TestService_FollowProcessLogs (0.10s) 2026-10-18T20:52:01.827625759Z --- PASS: TestService_FollowProcessLogs/streams_lines_and_respects_context_cancellation (0.10s) 2026-10-18T20:52:01.827634548Z === RUN TestService_GetContainerLogs 2026-10-18T20:52:01.827643585Z === RUN TestService_GetContainerLogs/returns_error_when_container_not_found 2026-10-18T20:52:01.82765314Z === RUN TestService_GetContainerLogs/rejects_raw_Docker_ID_without_calling_the_runtime 2026-10-18T20:52:01.827663024Z === RUN TestService_GetContainerLogs/rejects_foreign_container_ID_without_calling_the_runtime 2026-10-18T20:52:01.82767448Z === RUN TestService_GetContainerLogs/rejects_stale_container_ID_without_calling_the_runtime 2026-10-18T20:52:01.827691353Z === RUN TestService_GetContainerLogs/calls_runtime_with_correct_container_ID 2026-10-18T20:52:01.827703134Z --- PASS: TestService_GetContainerLogs (0.00s) 2026-10-18T20:52:01.827728Z --- PASS: TestService_GetContainerLogs/returns_error_when_container_not_found (0.00s) 2026-10-18T20:52:01.827755508Z --- PASS: TestService_GetContainerLogs/rejects_raw_Docker_ID_without_calling_the_runtime (0.00s) 2026-10-18T20:52:01.827782988Z --- PASS: TestService_GetContainerLogs/rejects_foreign_container_ID_without_calling_the_runtime (0.00s) 2026-10-18T20:52:01.827809885Z --- PASS: TestService_GetContainerLogs/rejects_stale_container_ID_without_calling_the_runtime (0.00s) 2026-10-18T20:52:01.827835792Z --- PASS: TestService_GetContainerLogs/calls_runtime_with_correct_container_ID (0.00s) 2026-10-18T20:52:01.827847215Z === RUN TestService_FollowContainerLogs 2026-10-18T20:52:01.82785934Z === RUN TestService_FollowContainerLogs/returns_error_when_container_not_found 2026-10-18T20:52:01.827873624Z === RUN TestService_FollowContainerLogs/rejects_raw_container_ID_without_calling_the_runtime 2026-10-18T20:52:01.827894553Z --- PASS: TestService_FollowContainerLogs (0.00s) 2026-10-18T20:52:01.827916144Z --- PASS: TestService_FollowContainerLogs/returns_error_when_container_not_found (0.00s) 2026-10-18T20:52:01.827952167Z --- PASS: TestService_FollowContainerLogs/rejects_raw_container_ID_without_calling_the_runtime (0.00s) 2026-10-18T20:52:01.827971101Z === RUN TestTailLines 2026-10-18T20:52:01.827985615Z === RUN TestTailLines/returns_correct_last_N_lines 2026-10-18T20:52:01.828001841Z === RUN TestTailLines/returns_all_lines_when_n_exceeds_line_count 2026-10-18T20:52:01.828031564Z === RUN TestTailLines/returns_empty_slice_for_empty_file 2026-10-18T20:52:01.828049934Z === RUN TestTailLines/returns_empty_slice_when_n_is_zero 2026-10-18T20:52:01.828063527Z --- PASS: TestTailLines (0.00s) 2026-10-18T20:52:01.828085451Z --- PASS: TestTailLines/returns_correct_last_N_lines (0.00s) 2026-10-18T20:52:01.828108245Z --- PASS: TestTailLines/returns_all_lines_when_n_exceeds_line_count (0.00s) 2026-10-18T20:52:01.828130502Z --- PASS: TestTailLines/returns_empty_slice_for_empty_file (0.00s) 2026-10-18T20:52:01.828152014Z --- PASS: TestTailLines/returns_empty_slice_when_n_is_zero (0.00s) 2026-10-18T20:52:01.828163747Z PASS 2026-10-18T20:52:01.828176707Z ok github.com/bnema/gordon/internal/usecase/logs 1.126s 2026-10-18T20:52:01.828188012Z === RUN TestService_GetCertificate_KnownDomain 2026-10-18T20:52:01.828212533Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828236716Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.82825086Z --- PASS: TestService_GetCertificate_KnownDomain (0.00s) 2026-10-18T20:52:01.82826541Z === RUN TestService_GetCertificate_AdditionalDomain 2026-10-18T20:52:01.828282742Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828299765Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828320307Z --- PASS: TestService_GetCertificate_AdditionalDomain (0.00s) 2026-10-18T20:52:01.828343764Z === RUN TestService_SetAdditionalDomains_ReplacesAuthorization 2026-10-18T20:52:01.828362742Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.82837647Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828391103Z --- PASS: TestService_SetAdditionalDomains_ReplacesAuthorization (0.00s) 2026-10-18T20:52:01.828402789Z === RUN TestService_SetAdditionalDomains_RevokesConcurrentIssuance 2026-10-18T20:52:01.828413877Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828426053Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828436095Z --- PASS: TestService_SetAdditionalDomains_RevokesConcurrentIssuance (0.02s) 2026-10-18T20:52:01.828444865Z === RUN TestService_GetCertificate_WrapsIssuanceError 2026-10-18T20:52:01.828459844Z 2026-10-18T20:51:45Z ERR failed to issue leaf certificate error="issuer unavailable" domain=broken.example.com layer=usecase usecase=IssueCertificate 2026-10-18T20:52:01.828479908Z --- PASS: TestService_GetCertificate_WrapsIssuanceError (0.00s) 2026-10-18T20:52:01.828492052Z === RUN TestService_GetCertificate_NeverTLSHostDenied 2026-10-18T20:52:01.828503053Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828519772Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828532635Z --- PASS: TestService_GetCertificate_NeverTLSHostDenied (0.00s) 2026-10-18T20:52:01.828541787Z === RUN TestService_GetCertificate_UnknownDomain 2026-10-18T20:52:01.82855239Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828574411Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828590054Z --- PASS: TestService_GetCertificate_UnknownDomain (0.00s) 2026-10-18T20:52:01.828601561Z === RUN TestService_GetCertificate_Caching 2026-10-18T20:52:01.828618659Z 2026-10-18T20:51:45Z INF generated new root CA cn="Gordon Internal CA - 2026 ECC Root" 2026-10-18T20:52:01.828636455Z 2026-10-18T20:51:45Z INF generated new intermediate CA cn="Gordon Internal CA - ECC Intermediate" expires=2026-10-25T20:51:45Z 2026-10-18T20:52:01.828648263Z --- PASS: TestService_GetCertificate_Caching (0.00s) 2026-10-18T20:52:01.828657818Z PASS 2026-10-18T20:52:01.828667129Z ok github.com/bnema/gordon/internal/usecase/pki 1.057s 2026-10-18T20:52:01.828675733Z === RUN TestService_GetTarget_FromCache 2026-10-18T20:52:01.828684483Z --- PASS: TestService_GetTarget_FromCache (0.00s) 2026-10-18T20:52:01.82869315Z === RUN TestService_GetTarget_CanonicalizesHostForLookup 2026-10-18T20:52:01.828701989Z --- PASS: TestService_GetTarget_CanonicalizesHostForLookup (0.00s) 2026-10-18T20:52:01.828713238Z === RUN TestService_GetTarget_RejectsInvalidHostAuthority 2026-10-18T20:52:01.828726837Z --- PASS: TestService_GetTarget_RejectsInvalidHostAuthority (0.00s) 2026-10-18T20:52:01.828737838Z === RUN TestService_GetTarget_AppBackend 2026-10-18T20:52:01.828746964Z --- PASS: TestService_GetTarget_AppBackend (0.00s) 2026-10-18T20:52:01.828755883Z === RUN TestService_GetTarget_AppBackendUnresolved 2026-10-18T20:52:01.828771815Z --- PASS: TestService_GetTarget_AppBackendUnresolved (0.00s) 2026-10-18T20:52:01.828785404Z === RUN TestService_GetTarget_NoProvider 2026-10-18T20:52:01.828796837Z --- PASS: TestService_GetTarget_NoProvider (0.00s) 2026-10-18T20:52:01.828810454Z === RUN TestService_GetTarget_NoStaleAppBackendAfterReplacement 2026-10-18T20:52:01.828822424Z --- PASS: TestService_GetTarget_NoStaleAppBackendAfterReplacement (0.00s) 2026-10-18T20:52:01.828830586Z === RUN TestService_GetTarget_ExternalRoute 2026-10-18T20:52:01.828847447Z --- PASS: TestService_GetTarget_ExternalRoute (0.00s) 2026-10-18T20:52:01.828860297Z === RUN TestService_GetTarget_ExternalRoute_Cached 2026-10-18T20:52:01.828872139Z --- PASS: TestService_GetTarget_ExternalRoute_Cached (0.00s) 2026-10-18T20:52:01.828885607Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked 2026-10-18T20:52:01.828897079Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/localhost 2026-10-18T20:52:01.828924221Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=localhost layer=usecase usecase=GetTarget 2026-10-18T20:52:01.828937261Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/loopback_IP 2026-10-18T20:52:01.828962259Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=127.0.0.1 layer=usecase usecase=GetTarget 2026-10-18T20:52:01.828976054Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_10.x 2026-10-18T20:52:01.828995249Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=10.0.0.1 layer=usecase usecase=GetTarget 2026-10-18T20:52:01.82901458Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_172.x 2026-10-18T20:52:01.829041203Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=172.16.0.1 layer=usecase usecase=GetTarget 2026-10-18T20:52:01.829059573Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_192.168.x 2026-10-18T20:52:01.829080575Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=192.168.1.1 layer=usecase usecase=GetTarget 2026-10-18T20:52:01.829095715Z === RUN TestService_GetTarget_ExternalRoute_SSRFBlocked/AWS_metadata 2026-10-18T20:52:01.829112267Z 2026-10-18T20:51:45Z WRN SSRF protection: blocked external route to internal network error="request to internal/blocked network not allowed" domain=ssrf.example.com host=169.254.169.254 layer=usecase usecase=GetTarget 2026-10-18T20:52:01.82912446Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked (0.00s) 2026-10-18T20:52:01.829147344Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/localhost (0.00s) 2026-10-18T20:52:01.829168145Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/loopback_IP (0.00s) 2026-10-18T20:52:01.829194414Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_10.x (0.00s) 2026-10-18T20:52:01.829217476Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_172.x (0.00s) 2026-10-18T20:52:01.829240963Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/private_network_192.168.x (0.00s) 2026-10-18T20:52:01.829262796Z --- PASS: TestService_GetTarget_ExternalRoute_SSRFBlocked/AWS_metadata (0.00s) 2026-10-18T20:52:01.829274044Z === RUN TestService_GetTarget_ExternalRoute_InvalidTarget 2026-10-18T20:52:01.82929017Z 2026-10-18T20:51:45Z ERR invalid external route target error="address not-valid-format: missing port in address" domain=invalid.example.com layer=usecase target=not-valid-format usecase=GetTarget 2026-10-18T20:52:01.829300229Z --- PASS: TestService_GetTarget_ExternalRoute_InvalidTarget (0.00s) 2026-10-18T20:52:01.829319569Z === RUN TestService_GetTarget_ExternalRoute_InvalidPort 2026-10-18T20:52:01.829333156Z === RUN TestService_GetTarget_ExternalRoute_InvalidPort/not_a_number 2026-10-18T20:52:01.829355357Z 2026-10-18T20:51:45Z ERR invalid port in external route error="strconv.Atoi: parsing \"abc\": invalid syntax" domain=invalid.example.com layer=usecase target=localhost:abc usecase=GetTarget 2026-10-18T20:52:01.829368391Z === RUN TestService_GetTarget_ExternalRoute_InvalidPort/zero 2026-10-18T20:52:01.829378287Z === RUN TestService_GetTarget_ExternalRoute_InvalidPort/too_high 2026-10-18T20:52:01.829394059Z --- PASS: TestService_GetTarget_ExternalRoute_InvalidPort (0.00s) 2026-10-18T20:52:01.829420635Z --- PASS: TestService_GetTarget_ExternalRoute_InvalidPort/not_a_number (0.00s) 2026-10-18T20:52:01.829440362Z --- PASS: TestService_GetTarget_ExternalRoute_InvalidPort/zero (0.00s) 2026-10-18T20:52:01.829463084Z --- PASS: TestService_GetTarget_ExternalRoute_InvalidPort/too_high (0.00s) 2026-10-18T20:52:01.82947283Z === RUN TestService_RegisterTarget 2026-10-18T20:52:01.829484839Z --- PASS: TestService_RegisterTarget (0.00s) 2026-10-18T20:52:01.829498686Z === RUN TestService_UnregisterTarget 2026-10-18T20:52:01.829516634Z --- PASS: TestService_UnregisterTarget (0.00s) 2026-10-18T20:52:01.829526592Z === RUN TestService_RefreshTargets 2026-10-18T20:52:01.82953932Z --- PASS: TestService_RefreshTargets (0.00s) 2026-10-18T20:52:01.829552833Z === RUN TestService_UpdateConfig 2026-10-18T20:52:01.829561654Z --- PASS: TestService_UpdateConfig (0.00s) 2026-10-18T20:52:01.829569964Z === RUN TestService_InvalidateTarget 2026-10-18T20:52:01.829578247Z --- PASS: TestService_InvalidateTarget (0.00s) 2026-10-18T20:52:01.829589822Z === RUN TestService_IsKnownHost_AppBackend 2026-10-18T20:52:01.829603565Z --- PASS: TestService_IsKnownHost_AppBackend (0.00s) 2026-10-18T20:52:01.829615116Z === RUN TestRegistryInFlightTracking 2026-10-18T20:52:01.8296265Z --- PASS: TestRegistryInFlightTracking (0.00s) 2026-10-18T20:52:01.829639524Z === RUN TestDrainRegistryInFlight 2026-10-18T20:52:01.829649564Z --- PASS: TestDrainRegistryInFlight (0.01s) 2026-10-18T20:52:01.829658797Z === RUN TestDrainRegistryInFlightTimeout 2026-10-18T20:52:01.829668771Z --- PASS: TestDrainRegistryInFlightTimeout (0.03s) 2026-10-18T20:52:01.829680994Z === RUN TestService_ProxyConfig_ReflectsUpdates 2026-10-18T20:52:01.82969264Z --- PASS: TestService_ProxyConfig_ReflectsUpdates (0.00s) 2026-10-18T20:52:01.829705927Z === RUN TestService_IsRegistryDomain 2026-10-18T20:52:01.829719143Z --- PASS: TestService_IsRegistryDomain (0.00s) 2026-10-18T20:52:01.829730583Z === RUN TestService_IsRegistryDomain_EmptyConfig 2026-10-18T20:52:01.829743782Z --- PASS: TestService_IsRegistryDomain_EmptyConfig (0.00s) 2026-10-18T20:52:01.829751282Z === RUN TestService_TrackInFlight 2026-10-18T20:52:01.829758316Z --- PASS: TestService_TrackInFlight (0.00s) 2026-10-18T20:52:01.82976664Z === RUN TestService_TrackRegistryRequest 2026-10-18T20:52:01.829774987Z --- PASS: TestService_TrackRegistryRequest (0.00s) 2026-10-18T20:52:01.829782979Z === RUN TestIsBlockedTarget_IPAddresses 2026-10-18T20:52:01.829795731Z === RUN TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.0.0.1 2026-10-18T20:52:01.82980667Z === RUN TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.0.0.2 2026-10-18T20:52:01.829815938Z === RUN TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.255.255.255 2026-10-18T20:52:01.829833872Z === RUN TestIsBlockedTarget_IPAddresses/10.0.0.0/8_network 2026-10-18T20:52:01.829867253Z === RUN TestIsBlockedTarget_IPAddresses/10.0.0.0/8_network_edge 2026-10-18T20:52:01.829892797Z === RUN TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_start 2026-10-18T20:52:01.829915363Z === RUN TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_middle 2026-10-18T20:52:01.829941107Z === RUN TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_end 2026-10-18T20:52:01.829964284Z === RUN TestIsBlockedTarget_IPAddresses/192.168.0.0/16_network 2026-10-18T20:52:01.829990257Z === RUN TestIsBlockedTarget_IPAddresses/192.168.0.0/16_network_edge 2026-10-18T20:52:01.830014073Z === RUN TestIsBlockedTarget_IPAddresses/AWS_metadata_endpoint 2026-10-18T20:52:01.830039612Z === RUN TestIsBlockedTarget_IPAddresses/Link-local_address 2026-10-18T20:52:01.830063214Z === RUN TestIsBlockedTarget_IPAddresses/IPv6_loopback 2026-10-18T20:52:01.830088889Z === RUN TestIsBlockedTarget_IPAddresses/IPv6_unique_local_fc00 2026-10-18T20:52:01.830111365Z === RUN TestIsBlockedTarget_IPAddresses/IPv6_unique_local_fd00 2026-10-18T20:52:01.830139445Z === RUN TestIsBlockedTarget_IPAddresses/IPv6_link-local 2026-10-18T20:52:01.830161983Z === RUN TestIsBlockedTarget_IPAddresses/Google_DNS 2026-10-18T20:52:01.830186894Z === RUN TestIsBlockedTarget_IPAddresses/Cloudflare_DNS 2026-10-18T20:52:01.83020914Z === RUN TestIsBlockedTarget_IPAddresses/Public_IP 2026-10-18T20:52:01.830233638Z === RUN TestIsBlockedTarget_IPAddresses/Public_IPv6 2026-10-18T20:52:01.830262256Z === RUN TestIsBlockedTarget_IPAddresses/Just_outside_172.16.0.0/12 2026-10-18T20:52:01.830288961Z === RUN TestIsBlockedTarget_IPAddresses/Just_outside_172.16.0.0/12_upper 2026-10-18T20:52:01.830313265Z --- PASS: TestIsBlockedTarget_IPAddresses (0.00s) 2026-10-18T20:52:01.830355402Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.0.0.1 (0.00s) 2026-10-18T20:52:01.830397322Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.0.0.2 (0.00s) 2026-10-18T20:52:01.830439993Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv4_loopback_127.255.255.255 (0.00s) 2026-10-18T20:52:01.830483489Z --- PASS: TestIsBlockedTarget_IPAddresses/10.0.0.0/8_network (0.00s) 2026-10-18T20:52:01.830529974Z --- PASS: TestIsBlockedTarget_IPAddresses/10.0.0.0/8_network_edge (0.00s) 2026-10-18T20:52:01.830574031Z --- PASS: TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_start (0.00s) 2026-10-18T20:52:01.830622973Z --- PASS: TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_middle (0.00s) 2026-10-18T20:52:01.830666983Z --- PASS: TestIsBlockedTarget_IPAddresses/172.16.0.0/12_network_end (0.00s) 2026-10-18T20:52:01.830706444Z --- PASS: TestIsBlockedTarget_IPAddresses/192.168.0.0/16_network (0.00s) 2026-10-18T20:52:01.830745783Z --- PASS: TestIsBlockedTarget_IPAddresses/192.168.0.0/16_network_edge (0.00s) 2026-10-18T20:52:01.830789957Z --- PASS: TestIsBlockedTarget_IPAddresses/AWS_metadata_endpoint (0.00s) 2026-10-18T20:52:01.830832287Z --- PASS: TestIsBlockedTarget_IPAddresses/Link-local_address (0.00s) 2026-10-18T20:52:01.830872758Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv6_loopback (0.00s) 2026-10-18T20:52:01.830916716Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv6_unique_local_fc00 (0.00s) 2026-10-18T20:52:01.830955293Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv6_unique_local_fd00 (0.00s) 2026-10-18T20:52:01.830990128Z --- PASS: TestIsBlockedTarget_IPAddresses/IPv6_link-local (0.00s) 2026-10-18T20:52:01.831025877Z --- PASS: TestIsBlockedTarget_IPAddresses/Google_DNS (0.00s) 2026-10-18T20:52:01.831063594Z --- PASS: TestIsBlockedTarget_IPAddresses/Cloudflare_DNS (0.00s) 2026-10-18T20:52:01.831108558Z --- PASS: TestIsBlockedTarget_IPAddresses/Public_IP (0.00s) 2026-10-18T20:52:01.831150255Z --- PASS: TestIsBlockedTarget_IPAddresses/Public_IPv6 (0.00s) 2026-10-18T20:52:01.831195781Z --- PASS: TestIsBlockedTarget_IPAddresses/Just_outside_172.16.0.0/12 (0.00s) 2026-10-18T20:52:01.831244899Z --- PASS: TestIsBlockedTarget_IPAddresses/Just_outside_172.16.0.0/12_upper (0.00s) 2026-10-18T20:52:01.831268845Z === RUN TestIsBlockedTarget_Hostnames 2026-10-18T20:52:01.831306853Z === RUN TestIsBlockedTarget_Hostnames/localhost 2026-10-18T20:52:01.831331441Z === RUN TestIsBlockedTarget_Hostnames/google.com 2026-10-18T20:52:01.831357082Z === RUN TestIsBlockedTarget_Hostnames/non-existent_domain 2026-10-18T20:52:01.831375681Z --- PASS: TestIsBlockedTarget_Hostnames (0.04s) 2026-10-18T20:52:01.831405794Z --- PASS: TestIsBlockedTarget_Hostnames/localhost (0.00s) 2026-10-18T20:52:01.831441535Z --- PASS: TestIsBlockedTarget_Hostnames/google.com (0.02s) 2026-10-18T20:52:01.831479475Z --- PASS: TestIsBlockedTarget_Hostnames/non-existent_domain (0.03s) 2026-10-18T20:52:01.83149936Z === RUN TestValidateExternalRouteTarget 2026-10-18T20:52:01.831518481Z === RUN TestValidateExternalRouteTarget/loopback_IP 2026-10-18T20:52:01.831541211Z === RUN TestValidateExternalRouteTarget/private_network 2026-10-18T20:52:01.831557838Z === RUN TestValidateExternalRouteTarget/AWS_metadata 2026-10-18T20:52:01.831573929Z === RUN TestValidateExternalRouteTarget/localhost 2026-10-18T20:52:01.831592404Z === RUN TestValidateExternalRouteTarget/public_IP 2026-10-18T20:52:01.83161234Z --- PASS: TestValidateExternalRouteTarget (0.00s) 2026-10-18T20:52:01.831647218Z --- PASS: TestValidateExternalRouteTarget/loopback_IP (0.00s) 2026-10-18T20:52:01.831683901Z --- PASS: TestValidateExternalRouteTarget/private_network (0.00s) 2026-10-18T20:52:01.831719041Z --- PASS: TestValidateExternalRouteTarget/AWS_metadata (0.00s) 2026-10-18T20:52:01.831761743Z --- PASS: TestValidateExternalRouteTarget/localhost (0.00s) 2026-10-18T20:52:01.831794335Z --- PASS: TestValidateExternalRouteTarget/public_IP (0.00s) 2026-10-18T20:52:01.831814107Z === RUN TestResolveAndValidateHost_IPAddresses 2026-10-18T20:52:01.831833575Z === RUN TestResolveAndValidateHost_IPAddresses/public_IP_returned_as-is 2026-10-18T20:52:01.831861038Z === RUN TestResolveAndValidateHost_IPAddresses/blocked_loopback_IP 2026-10-18T20:52:01.831881491Z === RUN TestResolveAndValidateHost_IPAddresses/blocked_private_IP 2026-10-18T20:52:01.831904788Z === RUN TestResolveAndValidateHost_IPAddresses/blocked_metadata_IP 2026-10-18T20:52:01.831923049Z --- PASS: TestResolveAndValidateHost_IPAddresses (0.00s) 2026-10-18T20:52:01.831961819Z --- PASS: TestResolveAndValidateHost_IPAddresses/public_IP_returned_as-is (0.00s) 2026-10-18T20:52:01.832006512Z --- PASS: TestResolveAndValidateHost_IPAddresses/blocked_loopback_IP (0.00s) 2026-10-18T20:52:01.832049522Z --- PASS: TestResolveAndValidateHost_IPAddresses/blocked_private_IP (0.00s) 2026-10-18T20:52:01.832093388Z --- PASS: TestResolveAndValidateHost_IPAddresses/blocked_metadata_IP (0.00s) 2026-10-18T20:52:01.832117753Z === RUN TestResolveAndValidateHost_Hostname 2026-10-18T20:52:01.832144168Z --- PASS: TestResolveAndValidateHost_Hostname (0.01s) 2026-10-18T20:52:01.832160649Z === RUN TestIsBlockedIP 2026-10-18T20:52:01.832177016Z === RUN TestIsBlockedIP/127.0.0.1 2026-10-18T20:52:01.832194867Z === RUN TestIsBlockedIP/10.0.0.1 2026-10-18T20:52:01.832213375Z === RUN TestIsBlockedIP/172.16.0.1 2026-10-18T20:52:01.832231713Z === RUN TestIsBlockedIP/192.168.1.1 2026-10-18T20:52:01.832254687Z === RUN TestIsBlockedIP/169.254.169.254 2026-10-18T20:52:01.832273586Z === RUN TestIsBlockedIP/0.0.0.0 2026-10-18T20:52:01.832290012Z === RUN TestIsBlockedIP/8.8.8.8 2026-10-18T20:52:01.83230973Z === RUN TestIsBlockedIP/1.1.1.1 2026-10-18T20:52:01.83232889Z === RUN TestIsBlockedIP/203.0.113.1 2026-10-18T20:52:01.832347108Z --- PASS: TestIsBlockedIP (0.00s) 2026-10-18T20:52:01.83237763Z --- PASS: TestIsBlockedIP/127.0.0.1 (0.00s) 2026-10-18T20:52:01.832403903Z --- PASS: TestIsBlockedIP/10.0.0.1 (0.00s) 2026-10-18T20:52:01.832435135Z --- PASS: TestIsBlockedIP/172.16.0.1 (0.00s) 2026-10-18T20:52:01.83246918Z --- PASS: TestIsBlockedIP/192.168.1.1 (0.00s) 2026-10-18T20:52:01.832505809Z --- PASS: TestIsBlockedIP/169.254.169.254 (0.00s) 2026-10-18T20:52:01.832536065Z --- PASS: TestIsBlockedIP/0.0.0.0 (0.00s) 2026-10-18T20:52:01.832564114Z --- PASS: TestIsBlockedIP/8.8.8.8 (0.00s) 2026-10-18T20:52:01.832594868Z --- PASS: TestIsBlockedIP/1.1.1.1 (0.00s) 2026-10-18T20:52:01.832626875Z --- PASS: TestIsBlockedIP/203.0.113.1 (0.00s) 2026-10-18T20:52:01.832647471Z PASS 2026-10-18T20:52:01.832668416Z ok github.com/bnema/gordon/internal/usecase/proxy 1.123s 2026-10-18T20:52:01.832696404Z === RUN TestClassifyResource 2026-10-18T20:52:01.832714976Z === RUN TestClassifyResource/nil 2026-10-18T20:52:01.832731896Z === RUN TestClassifyResource/foreign 2026-10-18T20:52:01.832753271Z === RUN TestClassifyResource/managed_only 2026-10-18T20:52:01.832771061Z === RUN TestClassifyResource/managed_false 2026-10-18T20:52:01.83278909Z === RUN TestClassifyResource/service 2026-10-18T20:52:01.832809432Z === RUN TestClassifyResource/service_name 2026-10-18T20:52:01.832834537Z === RUN TestClassifyResource/app_wins_over_service 2026-10-18T20:52:01.83285809Z --- PASS: TestClassifyResource (0.00s) 2026-10-18T20:52:01.832892147Z --- PASS: TestClassifyResource/nil (0.00s) 2026-10-18T20:52:01.832926457Z --- PASS: TestClassifyResource/foreign (0.00s) 2026-10-18T20:52:01.832963937Z --- PASS: TestClassifyResource/managed_only (0.00s) 2026-10-18T20:52:01.832996305Z --- PASS: TestClassifyResource/managed_false (0.00s) 2026-10-18T20:52:01.833052151Z --- PASS: TestClassifyResource/service (0.00s) 2026-10-18T20:52:01.833084321Z --- PASS: TestClassifyResource/service_name (0.00s) 2026-10-18T20:52:01.833119319Z --- PASS: TestClassifyResource/app_wins_over_service (0.00s) 2026-10-18T20:52:01.833140635Z === RUN TestPlanRegistryTagsRetentionWindow 2026-10-18T20:52:01.833165966Z --- PASS: TestPlanRegistryTagsRetentionWindow (0.00s) 2026-10-18T20:52:01.833183601Z === RUN TestPlanRegistryTagsLatestCountsSeparately 2026-10-18T20:52:01.833200662Z --- PASS: TestPlanRegistryTagsLatestCountsSeparately (0.00s) 2026-10-18T20:52:01.833218854Z === RUN TestPlanRegistryTagsEqualTimestampsAreDeterministic 2026-10-18T20:52:01.833239597Z --- PASS: TestPlanRegistryTagsEqualTimestampsAreDeterministic (0.00s) 2026-10-18T20:52:01.833259219Z === RUN TestPlanRegistryTagsProtectedRootsSurviveRetention 2026-10-18T20:52:01.833281998Z --- PASS: TestPlanRegistryTagsProtectedRootsSurviveRetention (0.00s) 2026-10-18T20:52:01.833299698Z === RUN TestPlanRegistryTagsFailClosed 2026-10-18T20:52:01.833317051Z --- PASS: TestPlanRegistryTagsFailClosed (0.00s) 2026-10-18T20:52:01.833344137Z === RUN TestPlanRegistryTagsKeepLastZeroSkips 2026-10-18T20:52:01.833369702Z --- PASS: TestPlanRegistryTagsKeepLastZeroSkips (0.00s) 2026-10-18T20:52:01.833392944Z === RUN TestPlanRegistryTagsRejectsInvalidIdentity 2026-10-18T20:52:01.833418503Z --- PASS: TestPlanRegistryTagsRejectsInvalidIdentity (0.00s) 2026-10-18T20:52:01.833435425Z === RUN TestPlanRuntimeImagesMixedBatch 2026-10-18T20:52:01.833453267Z --- PASS: TestPlanRuntimeImagesMixedBatch (0.00s) 2026-10-18T20:52:01.833471926Z === RUN TestPlanRuntimeImagesForgedLabelsNeverAuthorizeDeletion 2026-10-18T20:52:01.833494121Z --- PASS: TestPlanRuntimeImagesForgedLabelsNeverAuthorizeDeletion (0.00s) 2026-10-18T20:52:01.833527893Z === RUN TestPlanRuntimeImagesAnyMatchingClaimProtects 2026-10-18T20:52:01.833555429Z --- PASS: TestPlanRuntimeImagesAnyMatchingClaimProtects (0.00s) 2026-10-18T20:52:01.833581918Z === RUN TestPlanRuntimeImagesReleasedClaimIsEligible 2026-10-18T20:52:01.833604406Z --- PASS: TestPlanRuntimeImagesReleasedClaimIsEligible (0.00s) 2026-10-18T20:52:01.833623297Z === RUN TestPlanRuntimeImagesAttachedClaimProtects 2026-10-18T20:52:01.833645486Z --- PASS: TestPlanRuntimeImagesAttachedClaimProtects (0.00s) 2026-10-18T20:52:01.833662515Z === RUN TestPlanRuntimeImagesProtectionRootsAndUnknowns 2026-10-18T20:52:01.833681302Z --- PASS: TestPlanRuntimeImagesProtectionRootsAndUnknowns (0.00s) 2026-10-18T20:52:01.833701666Z === RUN TestPlanRuntimeImagesProtectsUnknownIdentity 2026-10-18T20:52:01.833720947Z --- PASS: TestPlanRuntimeImagesProtectsUnknownIdentity (0.00s) 2026-10-18T20:52:01.833744795Z === RUN TestPlanVolumesProtectsEverythingExceptReleased 2026-10-18T20:52:01.83376497Z --- PASS: TestPlanVolumesProtectsEverythingExceptReleased (0.00s) 2026-10-18T20:52:01.833783389Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels 2026-10-18T20:52:01.833806565Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/labels_agree_by_name 2026-10-18T20:52:01.833825748Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/labels_agree_by_uuid 2026-10-18T20:52:01.833841374Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/missing_managed_marker 2026-10-18T20:52:01.833855519Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/missing_app_label 2026-10-18T20:52:01.833887614Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/contradicting_app 2026-10-18T20:52:01.833912691Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/contradicting_service 2026-10-18T20:52:01.833938401Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/no_labels 2026-10-18T20:52:01.833967572Z === RUN TestPlanVolumesReleasedRequiresAgreeingLabels/missing_incarnation_stamp 2026-10-18T20:52:01.833990393Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels (0.00s) 2026-10-18T20:52:01.834032588Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/labels_agree_by_name (0.00s) 2026-10-18T20:52:01.834077684Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/labels_agree_by_uuid (0.00s) 2026-10-18T20:52:01.834123367Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/missing_managed_marker (0.00s) 2026-10-18T20:52:01.834167527Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/missing_app_label (0.00s) 2026-10-18T20:52:01.834211574Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/contradicting_app (0.00s) 2026-10-18T20:52:01.834256536Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/contradicting_service (0.00s) 2026-10-18T20:52:01.834295882Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/no_labels (0.00s) 2026-10-18T20:52:01.83433747Z --- PASS: TestPlanVolumesReleasedRequiresAgreeingLabels/missing_incarnation_stamp (0.00s) 2026-10-18T20:52:01.834354346Z === RUN TestPlanVolumesFailClosedOnIncompleteOwnership 2026-10-18T20:52:01.834376151Z --- PASS: TestPlanVolumesFailClosedOnIncompleteOwnership (0.00s) 2026-10-18T20:52:01.83440934Z === RUN TestPlanVolumesZeroDeletionIsSuccess 2026-10-18T20:52:01.834430725Z --- PASS: TestPlanVolumesZeroDeletionIsSuccess (0.00s) 2026-10-18T20:52:01.834449614Z === RUN TestPlanVolumesOrderIsDeterministic 2026-10-18T20:52:01.834477226Z --- PASS: TestPlanVolumesOrderIsDeterministic (0.00s) 2026-10-18T20:52:01.834513876Z === RUN TestPlansProduceValidPlanEntries 2026-10-18T20:52:01.834533588Z --- PASS: TestPlansProduceValidPlanEntries (0.00s) 2026-10-18T20:52:01.834551539Z PASS 2026-10-18T20:52:01.83457126Z ok github.com/bnema/gordon/internal/usecase/pruneguard 1.014s 2026-10-18T20:52:01.834594005Z === RUN TestResolveEffectiveChallenge 2026-10-18T20:52:01.834623621Z === RUN TestResolveEffectiveChallenge/disabled_returns_auto_mode_with_none_source 2026-10-18T20:52:01.834652378Z === RUN TestResolveEffectiveChallenge/disabled_preserves_configured_challenge_in_ConfiguredMode 2026-10-18T20:52:01.834675115Z === RUN TestResolveEffectiveChallenge/disabled_preserves_cloudflare-dns-01_in_ConfiguredMode 2026-10-18T20:52:01.83470169Z === RUN TestResolveEffectiveChallenge/disabled_with_unparseable_challenge_defaults_ConfiguredMode_to_auto 2026-10-18T20:52:01.834722955Z === RUN TestResolveEffectiveChallenge/enabled_requires_non-empty_email 2026-10-18T20:52:01.834747647Z === RUN TestResolveEffectiveChallenge/enabled_requires_valid_tls_port_in_1..65535 2026-10-18T20:52:01.834772458Z === RUN TestResolveEffectiveChallenge/auto_with_cloudflare_token_returns_dns-01 2026-10-18T20:52:01.834796434Z === RUN TestResolveEffectiveChallenge/auto_without_token_returns_http-01 2026-10-18T20:52:01.834816762Z === RUN TestResolveEffectiveChallenge/forced_cloudflare-dns-01_requires_token 2026-10-18T20:52:01.834846636Z === RUN TestResolveEffectiveChallenge/http-01_requires_valid_http_port_in_1..65535 2026-10-18T20:52:01.834867861Z === RUN TestResolveEffectiveChallenge/cloudflare-dns-01_preserves_resolver_errors 2026-10-18T20:52:01.834886542Z === RUN TestResolveEffectiveChallenge/nil_resolver_in_auto_mode_returns_http-01 2026-10-18T20:52:01.83490663Z === RUN TestResolveEffectiveChallenge/forced_cloudflare-dns-01_with_nil_resolver_returns_missing_token 2026-10-18T20:52:01.834942591Z --- PASS: TestResolveEffectiveChallenge (0.00s) 2026-10-18T20:52:01.834983956Z --- PASS: TestResolveEffectiveChallenge/disabled_returns_auto_mode_with_none_source (0.00s) 2026-10-18T20:52:01.83502472Z --- PASS: TestResolveEffectiveChallenge/disabled_preserves_configured_challenge_in_ConfiguredMode (0.00s) 2026-10-18T20:52:01.835074684Z --- PASS: TestResolveEffectiveChallenge/disabled_preserves_cloudflare-dns-01_in_ConfiguredMode (0.00s) 2026-10-18T20:52:01.835127172Z --- PASS: TestResolveEffectiveChallenge/disabled_with_unparseable_challenge_defaults_ConfiguredMode_to_auto (0.00s) 2026-10-18T20:52:01.835169143Z --- PASS: TestResolveEffectiveChallenge/enabled_requires_non-empty_email (0.00s) 2026-10-18T20:52:01.835213321Z --- PASS: TestResolveEffectiveChallenge/enabled_requires_valid_tls_port_in_1..65535 (0.00s) 2026-10-18T20:52:01.835255423Z --- PASS: TestResolveEffectiveChallenge/auto_with_cloudflare_token_returns_dns-01 (0.00s) 2026-10-18T20:52:01.835304315Z --- PASS: TestResolveEffectiveChallenge/auto_without_token_returns_http-01 (0.00s) 2026-10-18T20:52:01.835348225Z --- PASS: TestResolveEffectiveChallenge/forced_cloudflare-dns-01_requires_token (0.00s) 2026-10-18T20:52:01.835397523Z --- PASS: TestResolveEffectiveChallenge/http-01_requires_valid_http_port_in_1..65535 (0.00s) 2026-10-18T20:52:01.835444405Z --- PASS: TestResolveEffectiveChallenge/cloudflare-dns-01_preserves_resolver_errors (0.00s) 2026-10-18T20:52:01.835487269Z --- PASS: TestResolveEffectiveChallenge/nil_resolver_in_auto_mode_returns_http-01 (0.00s) 2026-10-18T20:52:01.835542157Z --- PASS: TestResolveEffectiveChallenge/forced_cloudflare-dns-01_with_nil_resolver_returns_missing_token (0.00s) 2026-10-18T20:52:01.835563777Z === RUN TestDefaultDNSConfig 2026-10-18T20:52:01.835581531Z --- PASS: TestDefaultDNSConfig (0.00s) 2026-10-18T20:52:01.835604474Z === RUN TestDNSConfigValidateNormalizesResolvers 2026-10-18T20:52:01.835624836Z --- PASS: TestDNSConfigValidateNormalizesResolvers (0.00s) 2026-10-18T20:52:01.835643101Z === RUN TestDNSConfigValidate 2026-10-18T20:52:01.835664774Z === RUN TestDNSConfigValidate/valid 2026-10-18T20:52:01.835681333Z === RUN TestDNSConfigValidate/empty_resolvers 2026-10-18T20:52:01.835699021Z === RUN TestDNSConfigValidate/resolver_missing_port 2026-10-18T20:52:01.835720261Z === RUN TestDNSConfigValidate/whitespace-only_resolver 2026-10-18T20:52:01.835744957Z === RUN TestDNSConfigValidate/malformed_resolver_port 2026-10-18T20:52:01.835767908Z === RUN TestDNSConfigValidate/zero_timeout 2026-10-18T20:52:01.835793211Z === RUN TestDNSConfigValidate/zero_polling_interval 2026-10-18T20:52:01.835812808Z === RUN TestDNSConfigValidate/polling_interval_equals_timeout 2026-10-18T20:52:01.835830403Z --- PASS: TestDNSConfigValidate (0.00s) 2026-10-18T20:52:01.83586335Z --- PASS: TestDNSConfigValidate/valid (0.00s) 2026-10-18T20:52:01.835898781Z --- PASS: TestDNSConfigValidate/empty_resolvers (0.00s) 2026-10-18T20:52:01.835933512Z --- PASS: TestDNSConfigValidate/resolver_missing_port (0.00s) 2026-10-18T20:52:01.835976348Z --- PASS: TestDNSConfigValidate/whitespace-only_resolver (0.00s) 2026-10-18T20:52:01.83601413Z --- PASS: TestDNSConfigValidate/malformed_resolver_port (0.00s) 2026-10-18T20:52:01.83604499Z --- PASS: TestDNSConfigValidate/zero_timeout (0.00s) 2026-10-18T20:52:01.836078575Z --- PASS: TestDNSConfigValidate/zero_polling_interval (0.00s) 2026-10-18T20:52:01.836114148Z --- PASS: TestDNSConfigValidate/polling_interval_equals_timeout (0.00s) 2026-10-18T20:52:01.83614081Z === RUN TestHTTP01Challenges 2026-10-18T20:52:01.836162106Z === RUN TestHTTP01Challenges/full_lifecycle 2026-10-18T20:52:01.836182907Z === RUN TestHTTP01Challenges/concurrent_access_is_correct 2026-10-18T20:52:01.836201188Z --- PASS: TestHTTP01Challenges (0.00s) 2026-10-18T20:52:01.836231863Z --- PASS: TestHTTP01Challenges/full_lifecycle (0.00s) 2026-10-18T20:52:01.836264653Z --- PASS: TestHTTP01Challenges/concurrent_access_is_correct (0.00s) 2026-10-18T20:52:01.836280035Z === RUN TestHTTP01ChallengesRejectUnsafeToken 2026-10-18T20:52:01.836299522Z === RUN TestHTTP01ChallengesRejectUnsafeToken/path_traversal_token_../secret_is_rejected 2026-10-18T20:52:01.836322465Z === RUN TestHTTP01ChallengesRejectUnsafeToken/token_with_slash_is_rejected 2026-10-18T20:52:01.836346535Z === RUN TestHTTP01ChallengesRejectUnsafeToken/token_with_backslash_is_rejected 2026-10-18T20:52:01.836369409Z === RUN TestHTTP01ChallengesRejectUnsafeToken/empty_token_is_rejected 2026-10-18T20:52:01.83638279Z === RUN TestHTTP01ChallengesRejectUnsafeToken/'..'_token_is_rejected 2026-10-18T20:52:01.836393484Z === RUN TestHTTP01ChallengesRejectUnsafeToken/empty_keyAuth_is_silently_ignored 2026-10-18T20:52:01.836408579Z === RUN TestHTTP01ChallengesRejectUnsafeToken/valid_tokens_are_accepted_and_retrievable 2026-10-18T20:52:01.836422697Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken (0.00s) 2026-10-18T20:52:01.836451098Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/path_traversal_token_../secret_is_rejected (0.00s) 2026-10-18T20:52:01.836473745Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/token_with_slash_is_rejected (0.00s) 2026-10-18T20:52:01.836494636Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/token_with_backslash_is_rejected (0.00s) 2026-10-18T20:52:01.836515868Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/empty_token_is_rejected (0.00s) 2026-10-18T20:52:01.836536318Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/'..'_token_is_rejected (0.00s) 2026-10-18T20:52:01.836560977Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/empty_keyAuth_is_silently_ignored (0.00s) 2026-10-18T20:52:01.836586676Z --- PASS: TestHTTP01ChallengesRejectUnsafeToken/valid_tokens_are_accepted_and_retrievable (0.00s) 2026-10-18T20:52:01.836599126Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup 2026-10-18T20:52:01.836615903Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_app_example_com 2026-10-18T20:52:01.836639281Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_api_prod_example_com 2026-10-18T20:52:01.836656765Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_example_com 2026-10-18T20:52:01.836673342Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_management_host 2026-10-18T20:52:01.836689423Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_nil_for_unknown_wildcard_sibling 2026-10-18T20:52:01.836707333Z === RUN TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_nil_for_unrelated_host 2026-10-18T20:52:01.83672939Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup (0.42s) 2026-10-18T20:52:01.83676608Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_app_example_com (0.00s) 2026-10-18T20:52:01.836796527Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_api_prod_example_com (0.00s) 2026-10-18T20:52:01.836830382Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_example_com (0.00s) 2026-10-18T20:52:01.836860163Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_cert_for_management_host (0.00s) 2026-10-18T20:52:01.836891522Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_nil_for_unknown_wildcard_sibling (0.00s) 2026-10-18T20:52:01.836920977Z --- PASS: TestPublicTLSIntegration_DNS01WildcardStatusAndCertificateLookup/GetCertificate_returns_nil_for_unrelated_host (0.00s) 2026-10-18T20:52:01.836935993Z === RUN TestPublicTLSIntegration_HTTP01PerRouteChallengeFlow 2026-10-18T20:52:01.836946416Z --- PASS: TestPublicTLSIntegration_HTTP01PerRouteChallengeFlow (0.13s) 2026-10-18T20:52:01.836956099Z === RUN TestPublicTLSIntegration_MissingRequiredCertReportsCoverageError 2026-10-18T20:52:01.836967304Z --- PASS: TestPublicTLSIntegration_MissingRequiredCertReportsCoverageError (0.00s) 2026-10-18T20:52:01.836979203Z === RUN TestShouldRenew 2026-10-18T20:52:01.836990178Z === RUN TestShouldRenew/cert_with_NotAfter_45_days_from_now_should_not_renew 2026-10-18T20:52:01.837001594Z === RUN TestShouldRenew/cert_with_NotAfter_10_days_from_now_should_renew 2026-10-18T20:52:01.837020621Z === RUN TestShouldRenew/expired_cert_should_renew 2026-10-18T20:52:01.837032091Z === RUN TestShouldRenew/cert_with_zero_NotAfter_should_renew 2026-10-18T20:52:01.837041069Z --- PASS: TestShouldRenew (0.00s) 2026-10-18T20:52:01.837063388Z --- PASS: TestShouldRenew/cert_with_NotAfter_45_days_from_now_should_not_renew (0.00s) 2026-10-18T20:52:01.837087809Z --- PASS: TestShouldRenew/cert_with_NotAfter_10_days_from_now_should_renew (0.00s) 2026-10-18T20:52:01.837108359Z --- PASS: TestShouldRenew/expired_cert_should_renew (0.00s) 2026-10-18T20:52:01.837130615Z --- PASS: TestShouldRenew/cert_with_zero_NotAfter_should_renew (0.00s) 2026-10-18T20:52:01.837142382Z === RUN TestRenewDueCertificatesRequiresDependencies 2026-10-18T20:52:01.837155863Z --- PASS: TestRenewDueCertificatesRequiresDependencies (0.00s) 2026-10-18T20:52:01.837166961Z === RUN TestRenewalLoopStops 2026-10-18T20:52:01.837176796Z --- PASS: TestRenewalLoopStops (0.01s) 2026-10-18T20:52:01.837188363Z === RUN TestRenewalLoop_ReconcilesMissingCertificatesOnTick 2026-10-18T20:52:01.837206555Z --- PASS: TestRenewalLoop_ReconcilesMissingCertificatesOnTick (0.14s) 2026-10-18T20:52:01.837219542Z === RUN TestRenewDueCertificatesSavesAndUpdatesCache 2026-10-18T20:52:01.837231321Z --- PASS: TestRenewDueCertificatesSavesAndUpdatesCache (0.18s) 2026-10-18T20:52:01.837243471Z === RUN TestServiceReconcileLimitsMissingObtainsPerRun 2026-10-18T20:52:01.837254684Z --- PASS: TestServiceReconcileLimitsMissingObtainsPerRun (0.43s) 2026-10-18T20:52:01.837264629Z === RUN TestServiceSetAdditionalHosts_ImmediatelyRevokesRemovedManagementDomain 2026-10-18T20:52:01.837276717Z --- PASS: TestServiceSetAdditionalHosts_ImmediatelyRevokesRemovedManagementDomain (0.06s) 2026-10-18T20:52:01.837291226Z === RUN TestServiceSetAdditionalHosts_ReconcileReplacesManagementDomain 2026-10-18T20:52:01.837301531Z --- PASS: TestServiceSetAdditionalHosts_ReconcileReplacesManagementDomain (0.23s) 2026-10-18T20:52:01.837310784Z === RUN TestServiceReconcileRotatesBatchAfterFailedObtain 2026-10-18T20:52:01.837321952Z --- PASS: TestServiceReconcileRotatesBatchAfterFailedObtain (0.21s) 2026-10-18T20:52:01.837338782Z === RUN TestServiceLoadUsesZeroCursorWhenLoadStateFails 2026-10-18T20:52:01.837352874Z 2026-10-18T20:51:48Z WRN failed to load certificate store state; using in-memory ACME obtain cursor error="state unreadable" 2026-10-18T20:52:01.837363483Z --- PASS: TestServiceLoadUsesZeroCursorWhenLoadStateFails (0.13s) 2026-10-18T20:52:01.837374224Z === RUN TestServiceReconcileUsesInMemoryCursorWhenPersistFails 2026-10-18T20:52:01.837386737Z --- PASS: TestServiceReconcileUsesInMemoryCursorWhenPersistFails (0.18s) 2026-10-18T20:52:01.837398296Z === RUN TestServiceReconcilePersistsBatchCursorAcrossRestart 2026-10-18T20:52:01.837407745Z --- PASS: TestServiceReconcilePersistsBatchCursorAcrossRestart (0.20s) 2026-10-18T20:52:01.837418652Z === RUN TestServiceReconcileObtainsMissingHTTP01Cert 2026-10-18T20:52:01.837429998Z --- PASS: TestServiceReconcileObtainsMissingHTTP01Cert (0.04s) 2026-10-18T20:52:01.837440596Z === RUN TestServiceReconcile_SerializesConcurrentRuns 2026-10-18T20:52:01.837450212Z --- PASS: TestServiceReconcile_SerializesConcurrentRuns (0.18s) 2026-10-18T20:52:01.837459117Z === RUN TestServiceReconcileResolvesMissingEffectiveChallenge 2026-10-18T20:52:01.837472107Z --- PASS: TestServiceReconcileResolvesMissingEffectiveChallenge (0.00s) 2026-10-18T20:52:01.837486Z === RUN TestServiceStatusReportsCoverage 2026-10-18T20:52:01.837497754Z --- PASS: TestServiceStatusReportsCoverage (0.05s) 2026-10-18T20:52:01.837519647Z === RUN TestServiceGetCertificateReturnsErrTLSRouteNotCovered 2026-10-18T20:52:01.837537596Z --- PASS: TestServiceGetCertificateReturnsErrTLSRouteNotCovered (0.00s) 2026-10-18T20:52:01.837550382Z === RUN TestServiceReconcileDNS01BrokenResolverReturnsErrTLSRouteNotCovered 2026-10-18T20:52:01.837562834Z --- PASS: TestServiceReconcileDNS01BrokenResolverReturnsErrTLSRouteNotCovered (0.00s) 2026-10-18T20:52:01.837574289Z === RUN TestServiceLoadParsesPEMIntoTLSCertificate 2026-10-18T20:52:01.837583501Z --- PASS: TestServiceLoadParsesPEMIntoTLSCertificate (0.05s) 2026-10-18T20:52:01.837592382Z === RUN TestServiceStatusReportsRouteErrorAfterObtainFailure 2026-10-18T20:52:01.837601341Z --- PASS: TestServiceStatusReportsRouteErrorAfterObtainFailure (0.00s) 2026-10-18T20:52:01.837610528Z === RUN TestServiceStatusCoverageUsesServingCertDespiteTransientError 2026-10-18T20:52:01.837625042Z --- PASS: TestServiceStatusCoverageUsesServingCertDespiteTransientError (0.14s) 2026-10-18T20:52:01.837639497Z === RUN TestServiceStatusRedactsSensitiveStrings 2026-10-18T20:52:01.837673279Z service_test.go:1118: sanitized LastError: "failed to obtain: token=redacted provider said invalid" 2026-10-18T20:52:01.837685608Z --- PASS: TestServiceStatusRedactsSensitiveStrings (0.04s) 2026-10-18T20:52:01.837694333Z === RUN TestSanitizeError_Empty 2026-10-18T20:52:01.837704329Z --- PASS: TestSanitizeError_Empty (0.00s) 2026-10-18T20:52:01.837712766Z === RUN TestSanitizeError_NoSensitiveData 2026-10-18T20:52:01.837721562Z --- PASS: TestSanitizeError_NoSensitiveData (0.00s) 2026-10-18T20:52:01.837729702Z === RUN TestSanitizeError_KeyEqValue 2026-10-18T20:52:01.8377381Z --- PASS: TestSanitizeError_KeyEqValue (0.00s) 2026-10-18T20:52:01.837754074Z === RUN TestSanitizeError_KeyEqQuotedValue 2026-10-18T20:52:01.837765262Z --- PASS: TestSanitizeError_KeyEqQuotedValue (0.00s) 2026-10-18T20:52:01.837775787Z === RUN TestSanitizeError_KeyEqSingleQuotedValue 2026-10-18T20:52:01.837793047Z --- PASS: TestSanitizeError_KeyEqSingleQuotedValue (0.00s) 2026-10-18T20:52:01.837803301Z === RUN TestSanitizeError_JSONKeyValue 2026-10-18T20:52:01.837812237Z --- PASS: TestSanitizeError_JSONKeyValue (0.00s) 2026-10-18T20:52:01.837820513Z === RUN TestSanitizeError_YAMLKeyValue 2026-10-18T20:52:01.837832924Z --- PASS: TestSanitizeError_YAMLKeyValue (0.00s) 2026-10-18T20:52:01.837843835Z === RUN TestSanitizeError_CaseInsensitive 2026-10-18T20:52:01.837852956Z --- PASS: TestSanitizeError_CaseInsensitive (0.00s) 2026-10-18T20:52:01.837863113Z === RUN TestSanitizeError_MixedFormats 2026-10-18T20:52:01.837877362Z --- PASS: TestSanitizeError_MixedFormats (0.00s) 2026-10-18T20:52:01.837886656Z === RUN TestSanitizeError_PreservesSafeContext 2026-10-18T20:52:01.837897314Z --- PASS: TestSanitizeError_PreservesSafeContext (0.00s) 2026-10-18T20:52:01.837908673Z === RUN TestDeriveTargets_HTTP01PerRoute 2026-10-18T20:52:01.837925108Z --- PASS: TestDeriveTargets_HTTP01PerRoute (0.00s) 2026-10-18T20:52:01.837935774Z === RUN TestDeriveTargets_DNS01WildcardBases 2026-10-18T20:52:01.837954255Z --- PASS: TestDeriveTargets_DNS01WildcardBases (0.00s) 2026-10-18T20:52:01.837965509Z === RUN TestDeriveTargets_IncludesAdditionalHosts 2026-10-18T20:52:01.837974146Z --- PASS: TestDeriveTargets_IncludesAdditionalHosts (0.00s) 2026-10-18T20:52:01.837986697Z === RUN TestDeriveTargets_IncludesExternalRoutes 2026-10-18T20:52:01.837998731Z --- PASS: TestDeriveTargets_IncludesExternalRoutes (0.00s) 2026-10-18T20:52:01.838014153Z === RUN TestDeriveTargets_SkipsNeverTLSHosts 2026-10-18T20:52:01.838024762Z --- PASS: TestDeriveTargets_SkipsNeverTLSHosts (0.00s) 2026-10-18T20:52:01.838034087Z === RUN TestDeriveTargets_DNS01NilResolver_ReturnsError 2026-10-18T20:52:01.838043179Z --- PASS: TestDeriveTargets_DNS01NilResolver_ReturnsError (0.00s) 2026-10-18T20:52:01.838056177Z === RUN TestDeriveTargets_DNS01MismatchedZone_ReturnsError 2026-10-18T20:52:01.838067565Z --- PASS: TestDeriveTargets_DNS01MismatchedZone_ReturnsError (0.00s) 2026-10-18T20:52:01.838076853Z === RUN TestDeriveTargets_DuplicateCanonicalization 2026-10-18T20:52:01.838085716Z --- PASS: TestDeriveTargets_DuplicateCanonicalization (0.00s) 2026-10-18T20:52:01.838094614Z PASS 2026-10-18T20:52:01.83810653Z ok github.com/bnema/gordon/internal/usecase/publictls 3.852s 2026-10-18T20:52:01.838119324Z === RUN TestService_GetManifest_Success 2026-10-18T20:52:01.838130963Z --- PASS: TestService_GetManifest_Success (0.00s) 2026-10-18T20:52:01.838144229Z === RUN TestService_GetManifest_NotFound 2026-10-18T20:52:01.838164162Z 2026-10-18T20:51:46Z ERR failed to get manifest error="manifest not found" layer=usecase name=myapp reference=notexists usecase=GetManifest 2026-10-18T20:52:01.838180072Z --- PASS: TestService_GetManifest_NotFound (0.00s) 2026-10-18T20:52:01.838191553Z === RUN TestService_PutManifest_Success 2026-10-18T20:52:01.838208431Z 2026-10-18T20:51:46Z INF manifest stored digest=sha256:c5d902c53b4afcf32ad746fd9d696431650d3fbe8f7b10ca10519543fefd772c layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838228811Z --- PASS: TestService_PutManifest_Success (0.00s) 2026-10-18T20:52:01.838242444Z === RUN TestService_PutManifest_RecordsPushMetrics 2026-10-18T20:52:01.838261934Z 2026-10-18T20:51:46Z INF manifest stored digest=sha256:c5d902c53b4afcf32ad746fd9d696431650d3fbe8f7b10ca10519543fefd772c layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838276232Z --- PASS: TestService_PutManifest_RecordsPushMetrics (0.00s) 2026-10-18T20:52:01.838287336Z === RUN TestService_PutManifest_RejectsUnownedBlob 2026-10-18T20:52:01.838306296Z 2026-10-18T20:51:46Z ERR manifest references unowned content error="manifest references a blob the repository does not own: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" layer=usecase name=attacker reference=latest usecase=PutManifest 2026-10-18T20:52:01.838327515Z --- PASS: TestService_PutManifest_RejectsUnownedBlob (0.00s) 2026-10-18T20:52:01.838338425Z === RUN TestService_PutManifest_RejectsUnknownChildManifest 2026-10-18T20:52:01.838358952Z 2026-10-18T20:51:46Z ERR manifest references unowned content error="manifest references a blob the repository does not own: sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" layer=usecase name=index reference=latest usecase=PutManifest 2026-10-18T20:52:01.838375394Z --- PASS: TestService_PutManifest_RejectsUnknownChildManifest (0.00s) 2026-10-18T20:52:01.838385604Z === RUN TestService_PutManifest_RejectsMalformedChildDigest 2026-10-18T20:52:01.838402974Z 2026-10-18T20:51:46Z ERR manifest references unowned content error="manifest references a blob the repository does not own: digest contains path traversal sequence" layer=usecase name=index reference=latest usecase=PutManifest 2026-10-18T20:52:01.838415462Z --- PASS: TestService_PutManifest_RejectsMalformedChildDigest (0.00s) 2026-10-18T20:52:01.83842495Z === RUN TestService_PutManifest_SHA512DigestDoesNotPublishEvent 2026-10-18T20:52:01.838447026Z 2026-10-18T20:51:46Z INF manifest stored digest=sha512:cfd0db72176a365d8b6d1b633dfc6d5c842fa936a2b777d81422fa9a72a64dab07889db3054394dd7d850b0e5028c8044fa7edf79f53b30cd1855f28747144ac layer=usecase name=myapp reference=sha512:cfd0db72176a365d8b6d1b633dfc6d5c842fa936a2b777d81422fa9a72a64dab07889db3054394dd7d850b0e5028c8044fa7edf79f53b30cd1855f28747144ac usecase=PutManifest 2026-10-18T20:52:01.838463016Z --- PASS: TestService_PutManifest_SHA512DigestDoesNotPublishEvent (0.00s) 2026-10-18T20:52:01.838476441Z === RUN TestService_PutManifest_RejectsDigestMismatch 2026-10-18T20:52:01.838487323Z --- PASS: TestService_PutManifest_RejectsDigestMismatch (0.00s) 2026-10-18T20:52:01.83849958Z === RUN TestService_GetBlobPath_RequiresRepositoryOwnership 2026-10-18T20:52:01.838511605Z --- PASS: TestService_GetBlobPath_RequiresRepositoryOwnership (0.00s) 2026-10-18T20:52:01.838524754Z === RUN TestService_GetBlobPath_IgnoresManifestReferences 2026-10-18T20:52:01.838536411Z --- PASS: TestService_GetBlobPath_IgnoresManifestReferences (0.00s) 2026-10-18T20:52:01.838549244Z === RUN TestService_GetBlobPath_OwnershipLookupError 2026-10-18T20:52:01.838565427Z 2026-10-18T20:51:46Z ERR failed to verify blob ownership error="ownership lookup failed" digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase name=busy usecase=GetBlobPath 2026-10-18T20:52:01.838580486Z --- PASS: TestService_GetBlobPath_OwnershipLookupError (0.00s) 2026-10-18T20:52:01.838592627Z === RUN TestService_PutManifest_StorageError 2026-10-18T20:52:01.838611949Z 2026-10-18T20:51:46Z ERR failed to store manifest error="storage full" layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838624471Z --- PASS: TestService_PutManifest_StorageError (0.00s) 2026-10-18T20:52:01.838638968Z === RUN TestService_PutManifest_EventPublishError 2026-10-18T20:52:01.838653608Z 2026-10-18T20:51:46Z WRN failed to publish image pushed event error="event bus error" layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838672412Z 2026-10-18T20:51:46Z INF manifest stored digest=sha256:c5d902c53b4afcf32ad746fd9d696431650d3fbe8f7b10ca10519543fefd772c layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838685126Z --- PASS: TestService_PutManifest_EventPublishError (0.00s) 2026-10-18T20:52:01.838693895Z === RUN TestService_PutManifest_NilEventBus 2026-10-18T20:52:01.838710571Z 2026-10-18T20:51:46Z INF manifest stored digest=sha256:c5d902c53b4afcf32ad746fd9d696431650d3fbe8f7b10ca10519543fefd772c layer=usecase name=myapp reference=latest usecase=PutManifest 2026-10-18T20:52:01.838727646Z --- PASS: TestService_PutManifest_NilEventBus (0.00s) 2026-10-18T20:52:01.838737863Z === RUN TestService_DeleteManifest_Success 2026-10-18T20:52:01.838750473Z 2026-10-18T20:51:46Z INF manifest deleted layer=usecase name=myapp reference=latest usecase=DeleteManifest 2026-10-18T20:52:01.8387631Z --- PASS: TestService_DeleteManifest_Success (0.00s) 2026-10-18T20:52:01.838773385Z === RUN TestService_DeleteManifest_Error 2026-10-18T20:52:01.838801529Z 2026-10-18T20:51:46Z ERR failed to delete manifest error="manifest not found" layer=usecase name=myapp reference=latest usecase=DeleteManifest 2026-10-18T20:52:01.838832131Z --- PASS: TestService_DeleteManifest_Error (0.00s) 2026-10-18T20:52:01.838850625Z === RUN TestService_GetBlob_Success 2026-10-18T20:52:01.838864432Z --- PASS: TestService_GetBlob_Success (0.00s) 2026-10-18T20:52:01.838873243Z === RUN TestService_GetBlob_NotFound 2026-10-18T20:52:01.838887609Z 2026-10-18T20:51:47Z ERR failed to get blob error="blob not found" digest=sha256:notexists layer=usecase usecase=GetBlob 2026-10-18T20:52:01.83889701Z --- PASS: TestService_GetBlob_NotFound (0.00s) 2026-10-18T20:52:01.838909356Z === RUN TestService_PutBlob_Success 2026-10-18T20:52:01.838925317Z 2026-10-18T20:51:47Z INF blob stored digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase size_bytes=12 usecase=PutBlob 2026-10-18T20:52:01.838935078Z --- PASS: TestService_PutBlob_Success (0.00s) 2026-10-18T20:52:01.838947738Z === RUN TestService_PutBlob_Error 2026-10-18T20:52:01.838965448Z 2026-10-18T20:51:47Z ERR failed to store blob error="storage full" digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase size_bytes=12 usecase=PutBlob 2026-10-18T20:52:01.838975329Z --- PASS: TestService_PutBlob_Error (0.00s) 2026-10-18T20:52:01.83898381Z === RUN TestService_BlobExists 2026-10-18T20:52:01.838993745Z --- PASS: TestService_BlobExists (0.00s) 2026-10-18T20:52:01.839002149Z === RUN TestService_StartUpload_Success 2026-10-18T20:52:01.839018705Z 2026-10-18T20:51:47Z INF blob upload started layer=usecase name=myapp usecase=StartUpload uuid=1234567890-myapp 2026-10-18T20:52:01.839028576Z --- PASS: TestService_StartUpload_Success (0.00s) 2026-10-18T20:52:01.839037086Z === RUN TestService_StartUpload_Error 2026-10-18T20:52:01.839051875Z 2026-10-18T20:51:47Z ERR failed to start blob upload error="cannot create upload" layer=usecase name=myapp usecase=StartUpload 2026-10-18T20:52:01.839067392Z --- PASS: TestService_StartUpload_Error (0.00s) 2026-10-18T20:52:01.83907705Z === RUN TestService_AppendBlobChunk_PassesMaxBlobSize 2026-10-18T20:52:01.839086483Z --- PASS: TestService_AppendBlobChunk_PassesMaxBlobSize (0.00s) 2026-10-18T20:52:01.839096064Z === RUN TestService_AppendBlobChunk_MaxBlobSizeExceeded 2026-10-18T20:52:01.839125114Z 2026-10-18T20:51:47Z ERR failed to append blob chunk error="blob size exceeds maximum" layer=usecase name=myapp usecase=AppendBlobChunk uuid=upload-id 2026-10-18T20:52:01.839137029Z --- PASS: TestService_AppendBlobChunk_MaxBlobSizeExceeded (0.00s) 2026-10-18T20:52:01.839147826Z === RUN TestService_FinishUpload_Success 2026-10-18T20:52:01.839176168Z 2026-10-18T20:51:47Z INF blob upload finished digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase name=myapp usecase=FinishUpload uuid=1234567890-myapp 2026-10-18T20:52:01.839206421Z --- PASS: TestService_FinishUpload_Success (0.00s) 2026-10-18T20:52:01.839223366Z === RUN TestService_FinishUploadMarksBlobPending 2026-10-18T20:52:01.839242143Z 2026-10-18T20:51:47Z INF blob upload finished digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase name=myapp usecase=FinishUpload uuid=1234567890-myapp 2026-10-18T20:52:01.839260142Z --- PASS: TestService_FinishUploadMarksBlobPending (0.00s) 2026-10-18T20:52:01.839272593Z === RUN TestService_FinishUploadBlocksRegistryPruning 2026-10-18T20:52:01.839292785Z 2026-10-18T20:51:47Z INF blob upload finished digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase name=myapp usecase=FinishUpload uuid=1234567890-myapp 2026-10-18T20:52:01.83930604Z --- PASS: TestService_FinishUploadBlocksRegistryPruning (0.10s) 2026-10-18T20:52:01.839316961Z === RUN TestService_FinishUpload_Error 2026-10-18T20:52:01.839335828Z 2026-10-18T20:51:47Z ERR failed to finish blob upload error="digest mismatch" digest=sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4 layer=usecase name=myapp usecase=FinishUpload uuid=1234567890-myapp 2026-10-18T20:52:01.839348097Z --- PASS: TestService_FinishUpload_Error (0.00s) 2026-10-18T20:52:01.839357427Z === RUN TestService_CancelUpload_Success 2026-10-18T20:52:01.8393701Z 2026-10-18T20:51:47Z INF blob upload cancelled layer=usecase name=myapp usecase=CancelUpload uuid=1234567890-myapp 2026-10-18T20:52:01.839379756Z --- PASS: TestService_CancelUpload_Success (0.00s) 2026-10-18T20:52:01.839387828Z === RUN TestService_CancelUpload_Error 2026-10-18T20:52:01.839401727Z 2026-10-18T20:51:47Z ERR failed to cancel blob upload error="upload not found" layer=usecase name=myapp usecase=CancelUpload uuid=1234567890-myapp 2026-10-18T20:52:01.83941097Z --- PASS: TestService_CancelUpload_Error (0.00s) 2026-10-18T20:52:01.839423953Z === RUN TestService_ListTags_Success 2026-10-18T20:52:01.839434413Z --- PASS: TestService_ListTags_Success (0.00s) 2026-10-18T20:52:01.839442679Z === RUN TestService_ListTags_Error 2026-10-18T20:52:01.839458523Z 2026-10-18T20:51:47Z ERR failed to list tags error="repository not found" layer=usecase name=myapp usecase=ListTags 2026-10-18T20:52:01.839470743Z --- PASS: TestService_ListTags_Error (0.00s) 2026-10-18T20:52:01.839479556Z === RUN TestService_ListRepositories_Success 2026-10-18T20:52:01.839490186Z --- PASS: TestService_ListRepositories_Success (0.00s) 2026-10-18T20:52:01.839500216Z === RUN TestService_ListRepositories_Error 2026-10-18T20:52:01.839518142Z 2026-10-18T20:51:47Z ERR failed to list repositories error="storage error" layer=usecase usecase=ListRepositories 2026-10-18T20:52:01.839528572Z --- PASS: TestService_ListRepositories_Error (0.00s) 2026-10-18T20:52:01.839537372Z === RUN TestPutManifest_PublishesEventForTagReference 2026-10-18T20:52:01.839547726Z --- PASS: TestPutManifest_PublishesEventForTagReference (0.00s) 2026-10-18T20:52:01.839560236Z PASS 2026-10-18T20:52:01.839570269Z ok github.com/bnema/gordon/internal/usecase/registry 1.133s 2026-10-18T20:52:01.839579561Z === RUN TestStateTracksPublishesAndExpiresPendingBlobs 2026-10-18T20:52:01.839590215Z --- PASS: TestStateTracksPublishesAndExpiresPendingBlobs (0.00s) 2026-10-18T20:52:01.839600677Z PASS 2026-10-18T20:52:01.83961036Z ok github.com/bnema/gordon/internal/usecase/registrystate 1.008s 2026-10-18T20:52:01.839619296Z === RUN TestToDomainRejectsDuplicateServiceNames 2026-10-18T20:52:01.839631772Z --- PASS: TestToDomainRejectsDuplicateServiceNames (0.00s) 2026-10-18T20:52:01.839650674Z === RUN TestToDomainRejectsServiceNamesWithDuplicateRuntimeIdentifier 2026-10-18T20:52:01.839664972Z --- PASS: TestToDomainRejectsServiceNamesWithDuplicateRuntimeIdentifier (0.00s) 2026-10-18T20:52:01.839677257Z === RUN TestConfigToDomainRejectsNonPositiveReadinessTimeout 2026-10-18T20:52:01.839686959Z === RUN TestConfigToDomainRejectsNonPositiveReadinessTimeout/0s 2026-10-18T20:52:01.839697633Z === RUN TestConfigToDomainRejectsNonPositiveReadinessTimeout/-1s 2026-10-18T20:52:01.83970696Z --- PASS: TestConfigToDomainRejectsNonPositiveReadinessTimeout (0.00s) 2026-10-18T20:52:01.839733263Z --- PASS: TestConfigToDomainRejectsNonPositiveReadinessTimeout/0s (0.00s) 2026-10-18T20:52:01.839757257Z --- PASS: TestConfigToDomainRejectsNonPositiveReadinessTimeout/-1s (0.00s) 2026-10-18T20:52:01.839773229Z === RUN TestConfigToDomainRejectsExplicitNoCleanupAction 2026-10-18T20:52:01.839783033Z --- PASS: TestConfigToDomainRejectsExplicitNoCleanupAction (0.00s) 2026-10-18T20:52:01.839794298Z === RUN TestConfigToDomainMapsExplicitPublicPorts 2026-10-18T20:52:01.839811195Z --- PASS: TestConfigToDomainMapsExplicitPublicPorts (0.00s) 2026-10-18T20:52:01.839825725Z === RUN TestResolveVolumeMountsUsesExplicitVolumesAsIs 2026-10-18T20:52:01.839836652Z --- PASS: TestResolveVolumeMountsUsesExplicitVolumesAsIs (0.00s) 2026-10-18T20:52:01.839849254Z === RUN TestResolveVolumeMountsUsesImageDiscoveredVolumesWhenExplicitOmitted 2026-10-18T20:52:01.839861561Z --- PASS: TestResolveVolumeMountsUsesImageDiscoveredVolumesWhenExplicitOmitted (0.00s) 2026-10-18T20:52:01.839873685Z === RUN TestResolveVolumeMountsReturnsEmptyForStatelessImage 2026-10-18T20:52:01.839886027Z --- PASS: TestResolveVolumeMountsReturnsEmptyForStatelessImage (0.00s) 2026-10-18T20:52:01.839900896Z === RUN TestManagedServiceVolumeNameIsDeterministicAndGordonCompatible 2026-10-18T20:52:01.839913405Z --- PASS: TestManagedServiceVolumeNameIsDeterministicAndGordonCompatible (0.00s) 2026-10-18T20:52:01.839923626Z PASS 2026-10-18T20:52:01.839938567Z ok github.com/bnema/gordon/internal/usecase/services 1.013s 2026-10-18T20:52:01.839948205Z === RUN TestBuildSmartTCPRoutesDefaultToEdge 2026-10-18T20:52:01.839957246Z --- PASS: TestBuildSmartTCPRoutesDefaultToEdge (0.00s) 2026-10-18T20:52:01.839966178Z === RUN TestBuildManagedRoutesUseOnlyCustomSmartTCPEntrypoint 2026-10-18T20:52:01.839976873Z --- PASS: TestBuildManagedRoutesUseOnlyCustomSmartTCPEntrypoint (0.00s) 2026-10-18T20:52:01.840000905Z === RUN TestBuildRouteEntrypointPrefersEdge 2026-10-18T20:52:01.840011498Z --- PASS: TestBuildRouteEntrypointPrefersEdge (0.00s) 2026-10-18T20:52:01.840020437Z === RUN TestBuildRoutesRejectAmbiguousRouteEntrypoints 2026-10-18T20:52:01.840029416Z --- PASS: TestBuildRoutesRejectAmbiguousRouteEntrypoints (0.00s) 2026-10-18T20:52:01.84004293Z === RUN TestBuildExternalRoutesUseResolvedRouteEntryPoint 2026-10-18T20:52:01.840056785Z --- PASS: TestBuildExternalRoutesUseResolvedRouteEntryPoint (0.00s) 2026-10-18T20:52:01.840066374Z === RUN TestBuildRawFallbackConfigMapsToEntryPoint 2026-10-18T20:52:01.840076787Z --- PASS: TestBuildRawFallbackConfigMapsToEntryPoint (0.00s) 2026-10-18T20:52:01.840088747Z === RUN TestBuildSmartTCPRoutesRequireCompatibleEdge 2026-10-18T20:52:01.840099888Z --- PASS: TestBuildSmartTCPRoutesRequireCompatibleEdge (0.00s) 2026-10-18T20:52:01.840108302Z === RUN TestBuildDefaultsAndHTTPRoutes 2026-10-18T20:52:01.84011871Z --- PASS: TestBuildDefaultsAndHTTPRoutes (0.00s) 2026-10-18T20:52:01.840129376Z === RUN TestBuildCustomEntryPointTrustedCIDRs 2026-10-18T20:52:01.840138584Z --- PASS: TestBuildCustomEntryPointTrustedCIDRs (0.00s) 2026-10-18T20:52:01.840146897Z === RUN TestBuildExplicitTCPUDPTLSRouterResolution 2026-10-18T20:52:01.840157864Z --- PASS: TestBuildExplicitTCPUDPTLSRouterResolution (0.00s) 2026-10-18T20:52:01.8401744Z === RUN TestBuildRejectsStaticServiceRef 2026-10-18T20:52:01.840188109Z --- PASS: TestBuildRejectsStaticServiceRef (0.00s) 2026-10-18T20:52:01.840199358Z === RUN TestBuildRejectsTLSHTTPRouteConflict 2026-10-18T20:52:01.840208996Z --- PASS: TestBuildRejectsTLSHTTPRouteConflict (0.00s) 2026-10-18T20:52:01.84021851Z === RUN TestBuildOptionsParsing 2026-10-18T20:52:01.840226697Z --- PASS: TestBuildOptionsParsing (0.00s) 2026-10-18T20:52:01.840236298Z === RUN TestBuildHTTPOptions 2026-10-18T20:52:01.840245Z --- PASS: TestBuildHTTPOptions (0.00s) 2026-10-18T20:52:01.840254706Z === RUN TestBuildRejectsAmbiguousNetworkServices 2026-10-18T20:52:01.840264403Z === RUN TestBuildRejectsAmbiguousNetworkServices/duplicate_service_name 2026-10-18T20:52:01.840278209Z === RUN TestBuildRejectsAmbiguousNetworkServices/duplicate_port_name 2026-10-18T20:52:01.840288384Z === RUN TestBuildRejectsAmbiguousNetworkServices/unused_invalid_port_rejected 2026-10-18T20:52:01.840299984Z === RUN TestBuildRejectsAmbiguousNetworkServices/unused_invalid_protocol_rejected 2026-10-18T20:52:01.84031127Z --- PASS: TestBuildRejectsAmbiguousNetworkServices (0.00s) 2026-10-18T20:52:01.840331257Z --- PASS: TestBuildRejectsAmbiguousNetworkServices/duplicate_service_name (0.00s) 2026-10-18T20:52:01.84035302Z --- PASS: TestBuildRejectsAmbiguousNetworkServices/duplicate_port_name (0.00s) 2026-10-18T20:52:01.84037581Z --- PASS: TestBuildRejectsAmbiguousNetworkServices/unused_invalid_port_rejected (0.00s) 2026-10-18T20:52:01.840399134Z --- PASS: TestBuildRejectsAmbiguousNetworkServices/unused_invalid_protocol_rejected (0.00s) 2026-10-18T20:52:01.840412329Z === RUN TestBuildResolvesStandaloneServiceBackend 2026-10-18T20:52:01.840424113Z --- PASS: TestBuildResolvesStandaloneServiceBackend (0.00s) 2026-10-18T20:52:01.840435128Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs 2026-10-18T20:52:01.840443921Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/unknown_service 2026-10-18T20:52:01.840454818Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/unknown_port 2026-10-18T20:52:01.840466187Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/disabled_service 2026-10-18T20:52:01.840477203Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/protocol_mismatch 2026-10-18T20:52:01.840492842Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/missing_publish 2026-10-18T20:52:01.840503802Z === RUN TestBuildRejectsInvalidStandaloneServiceRefs/invalid_publish 2026-10-18T20:52:01.840512677Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs (0.00s) 2026-10-18T20:52:01.840535564Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/unknown_service (0.00s) 2026-10-18T20:52:01.840558516Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/unknown_port (0.00s) 2026-10-18T20:52:01.840579809Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/disabled_service (0.00s) 2026-10-18T20:52:01.840601787Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/protocol_mismatch (0.00s) 2026-10-18T20:52:01.84062328Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/missing_publish (0.00s) 2026-10-18T20:52:01.840645398Z --- PASS: TestBuildRejectsInvalidStandaloneServiceRefs/invalid_publish (0.00s) 2026-10-18T20:52:01.840654964Z === RUN TestBuildWrapsStandaloneServiceValidationErrorsWithServiceName 2026-10-18T20:52:01.840665843Z --- PASS: TestBuildWrapsStandaloneServiceValidationErrorsWithServiceName (0.00s) 2026-10-18T20:52:01.840678409Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting 2026-10-18T20:52:01.84068922Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/rcon_defaults_private_and_allows_exact_trusted_cidrs 2026-10-18T20:52:01.840705082Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_service_port_without_trusted_cidrs 2026-10-18T20:52:01.840719607Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/rcon_rejects_both_service_and_entrypoint_without_trusted_cidrs 2026-10-18T20:52:01.84073206Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_private_non-rcon_rejects_service_port_without_trusted_cidrs 2026-10-18T20:52:01.840743502Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_entrypoint_without_trusted_cidrs 2026-10-18T20:52:01.840754881Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_non-matching_trusted_cidrs 2026-10-18T20:52:01.840770313Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_compares_canonical_trusted_cidrs 2026-10-18T20:52:01.840781568Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_public_rcon_is_allowed_without_trusted_cidrs 2026-10-18T20:52:01.840795566Z === RUN TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_public_non-rcon_is_allowed_without_trusted_cidrs 2026-10-18T20:52:01.840809418Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting (0.00s) 2026-10-18T20:52:01.840837493Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/rcon_defaults_private_and_allows_exact_trusted_cidrs (0.00s) 2026-10-18T20:52:01.840865805Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_service_port_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.84089568Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/rcon_rejects_both_service_and_entrypoint_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.840926432Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_private_non-rcon_rejects_service_port_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.8409606Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_entrypoint_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.840991346Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_rejects_non-matching_trusted_cidrs (0.00s) 2026-10-18T20:52:01.841018992Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/private_port_compares_canonical_trusted_cidrs (0.00s) 2026-10-18T20:52:01.84104887Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_public_rcon_is_allowed_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.841079174Z --- PASS: TestBuildEnforcesPrivateStandaloneServicePortRouting/explicit_public_non-rcon_is_allowed_without_trusted_cidrs (0.00s) 2026-10-18T20:52:01.84109319Z === RUN TestBuildRejectsInvalidServiceRefs 2026-10-18T20:52:01.841103112Z === RUN TestBuildRejectsInvalidServiceRefs/unknown_service 2026-10-18T20:52:01.841111942Z === RUN TestBuildRejectsInvalidServiceRefs/unknown_port 2026-10-18T20:52:01.841122716Z === RUN TestBuildRejectsInvalidServiceRefs/protocol_mismatch 2026-10-18T20:52:01.841149989Z --- PASS: TestBuildRejectsInvalidServiceRefs (0.00s) 2026-10-18T20:52:01.8411735Z --- PASS: TestBuildRejectsInvalidServiceRefs/unknown_service (0.00s) 2026-10-18T20:52:01.841193622Z --- PASS: TestBuildRejectsInvalidServiceRefs/unknown_port (0.00s) 2026-10-18T20:52:01.841221188Z --- PASS: TestBuildRejectsInvalidServiceRefs/protocol_mismatch (0.00s) 2026-10-18T20:52:01.841232687Z PASS 2026-10-18T20:52:01.841247486Z ok github.com/bnema/gordon/internal/usecase/traffic 1.017s 2026-10-18T20:52:01.841256516Z === RUN TestService_ListVolumes 2026-10-18T20:52:01.841264817Z --- PASS: TestService_ListVolumes (0.00s) 2026-10-18T20:52:01.841273981Z === RUN TestService_ListVolumes_PropagatesError 2026-10-18T20:52:01.841300727Z --- PASS: TestService_ListVolumes_PropagatesError (0.00s) 2026-10-18T20:52:01.841313349Z === RUN TestService_PruneVolumes_RemovesOnlyExplicitlyReleasedVolumes 2026-10-18T20:52:01.841330929Z --- PASS: TestService_PruneVolumes_RemovesOnlyExplicitlyReleasedVolumes (0.00s) 2026-10-18T20:52:01.841357813Z === RUN TestService_PruneVolumes_UnknownAndContradictoryVolumesSurvive 2026-10-18T20:52:01.841377181Z --- PASS: TestService_PruneVolumes_UnknownAndContradictoryVolumesSurvive (0.00s) 2026-10-18T20:52:01.841388202Z === RUN TestService_PruneVolumes_DryRunPlansWithoutDeleting 2026-10-18T20:52:01.841410439Z --- PASS: TestService_PruneVolumes_DryRunPlansWithoutDeleting (0.00s) 2026-10-18T20:52:01.841431371Z === RUN TestService_PruneVolumes_ZeroDeletionSucceeds 2026-10-18T20:52:01.841449745Z --- PASS: TestService_PruneVolumes_ZeroDeletionSucceeds (0.00s) 2026-10-18T20:52:01.841464403Z === RUN TestService_PruneVolumes_FailedRemovalIsIsolated 2026-10-18T20:52:01.841473399Z --- PASS: TestService_PruneVolumes_FailedRemovalIsIsolated (0.00s) 2026-10-18T20:52:01.84149082Z === RUN TestService_PruneVolumes_IncompleteInventoryProtectsEverything 2026-10-18T20:52:01.84151178Z --- PASS: TestService_PruneVolumes_IncompleteInventoryProtectsEverything (0.00s) 2026-10-18T20:52:01.841526156Z === RUN TestService_PruneVolumes_RequiresPrunePorts 2026-10-18T20:52:01.841551976Z --- PASS: TestService_PruneVolumes_RequiresPrunePorts (0.00s) 2026-10-18T20:52:01.841565406Z === RUN TestService_PruneVolumes_ProtectionSnapshotFailureFailsClosed 2026-10-18T20:52:01.841577931Z --- PASS: TestService_PruneVolumes_ProtectionSnapshotFailureFailsClosed (0.00s) 2026-10-18T20:52:01.841586078Z PASS 2026-10-18T20:52:01.841595123Z ok github.com/bnema/gordon/internal/usecase/volumes 1.017s 2026-10-18T20:52:01.841604676Z === RUN TestParse 2026-10-18T20:52:01.841617807Z === RUN TestParse/bytes 2026-10-18T20:52:01.841626832Z === RUN TestParse/kilobytes 2026-10-18T20:52:01.841634791Z === RUN TestParse/megabytes 2026-10-18T20:52:01.841643286Z === RUN TestParse/gigabytes 2026-10-18T20:52:01.841658274Z === RUN TestParse/terabytes 2026-10-18T20:52:01.841671649Z === RUN TestParse/decimal_megabytes 2026-10-18T20:52:01.841682516Z === RUN TestParse/lowercase 2026-10-18T20:52:01.841693381Z === RUN TestParse/mixed_case 2026-10-18T20:52:01.841704173Z === RUN TestParse/with_spaces 2026-10-18T20:52:01.841719045Z === RUN TestParse/empty_string 2026-10-18T20:52:01.841730719Z === RUN TestParse/missing_unit 2026-10-18T20:52:01.841741051Z === RUN TestParse/missing_value 2026-10-18T20:52:01.841755108Z === RUN TestParse/invalid_value 2026-10-18T20:52:01.841768345Z === RUN TestParse/negative_value 2026-10-18T20:52:01.841781717Z === RUN TestParse/unknown_unit 2026-10-18T20:52:01.841792429Z --- PASS: TestParse (0.00s) 2026-10-18T20:52:01.841809283Z --- PASS: TestParse/bytes (0.00s) 2026-10-18T20:52:01.841827956Z --- PASS: TestParse/kilobytes (0.00s) 2026-10-18T20:52:01.841845065Z --- PASS: TestParse/megabytes (0.00s) 2026-10-18T20:52:01.841865232Z --- PASS: TestParse/gigabytes (0.00s) 2026-10-18T20:52:01.841880581Z --- PASS: TestParse/terabytes (0.00s) 2026-10-18T20:52:01.841903067Z --- PASS: TestParse/decimal_megabytes (0.00s) 2026-10-18T20:52:01.841927212Z --- PASS: TestParse/lowercase (0.00s) 2026-10-18T20:52:01.841944457Z --- PASS: TestParse/mixed_case (0.00s) 2026-10-18T20:52:01.841963195Z --- PASS: TestParse/with_spaces (0.00s) 2026-10-18T20:52:01.84197958Z --- PASS: TestParse/empty_string (0.00s) 2026-10-18T20:52:01.841997641Z --- PASS: TestParse/missing_unit (0.00s) 2026-10-18T20:52:01.842017258Z --- PASS: TestParse/missing_value (0.00s) 2026-10-18T20:52:01.842040787Z --- PASS: TestParse/invalid_value (0.00s) 2026-10-18T20:52:01.842061883Z --- PASS: TestParse/negative_value (0.00s) 2026-10-18T20:52:01.842079833Z --- PASS: TestParse/unknown_unit (0.00s) 2026-10-18T20:52:01.84209102Z PASS 2026-10-18T20:52:01.842102003Z ok github.com/bnema/gordon/pkg/bytesize 1.009s 2026-10-18T20:52:01.842110802Z === RUN TestFilterDropsGordonVariables 2026-10-18T20:52:01.842119286Z --- PASS: TestFilterDropsGordonVariables (0.00s) 2026-10-18T20:52:01.842127647Z === RUN TestCommandContextStripsGordonVariables 2026-10-18T20:52:01.842140411Z --- PASS: TestCommandContextStripsGordonVariables (0.00s) 2026-10-18T20:52:01.842151703Z PASS 2026-10-18T20:52:01.842160267Z ok github.com/bnema/gordon/pkg/childenv 1.009s 2026-10-18T20:52:01.842174612Z === RUN TestParse 2026-10-18T20:52:01.842190829Z === RUN TestParse/1_day 2026-10-18T20:52:01.842199338Z === RUN TestParse/2_days 2026-10-18T20:52:01.842204218Z === RUN TestParse/1_week 2026-10-18T20:52:01.842208387Z === RUN TestParse/2_weeks 2026-10-18T20:52:01.842212547Z === RUN TestParse/1_month 2026-10-18T20:52:01.842228237Z === RUN TestParse/3_months 2026-10-18T20:52:01.84223881Z === RUN TestParse/1_year 2026-10-18T20:52:01.842247901Z === RUN TestParse/2_years 2026-10-18T20:52:01.842259758Z === RUN TestParse/1_year_6_months 2026-10-18T20:52:01.842269443Z === RUN TestParse/2_weeks_3_days 2026-10-18T20:52:01.842274778Z === RUN TestParse/1_year_2_months_1_week 2026-10-18T20:52:01.842283539Z === RUN TestParse/1_day_12_hours 2026-10-18T20:52:01.842292768Z === RUN TestParse/2_weeks_6_hours 2026-10-18T20:52:01.842305862Z === RUN TestParse/1_month_1_day_1_hour 2026-10-18T20:52:01.842320318Z === RUN TestParse/1_year_30_minutes 2026-10-18T20:52:01.842330433Z === RUN TestParse/24_hours 2026-10-18T20:52:01.842341189Z === RUN TestParse/30_minutes 2026-10-18T20:52:01.84235259Z === RUN TestParse/1_hour_30_minutes 2026-10-18T20:52:01.842364258Z === RUN TestParse/1_second 2026-10-18T20:52:01.842374673Z === RUN TestParse/500_milliseconds 2026-10-18T20:52:01.842385051Z === RUN TestParse/1000_microseconds 2026-10-18T20:52:01.84241399Z === RUN TestParse/1000000_nanoseconds 2026-10-18T20:52:01.842424837Z === RUN TestParse/zero_duration 2026-10-18T20:52:01.842435694Z === RUN TestParse/zero_with_unit 2026-10-18T20:52:01.842446878Z === RUN TestParse/zero_hours 2026-10-18T20:52:01.842457575Z === RUN TestParse/10_years 2026-10-18T20:52:01.842466204Z === RUN TestParse/52_weeks 2026-10-18T20:52:01.84247425Z === RUN TestParse/365_days 2026-10-18T20:52:01.842486445Z === RUN TestParse/whitespace_around 2026-10-18T20:52:01.842497098Z === RUN TestParse/empty_string 2026-10-18T20:52:01.842517764Z === RUN TestParse/invalid_format 2026-10-18T20:52:01.842534213Z === RUN TestParse/invalid_unit 2026-10-18T20:52:01.842544577Z === RUN TestParse/missing_value 2026-10-18T20:52:01.842557133Z === RUN TestParse/negative_not_supported_by_Go 2026-10-18T20:52:01.842565344Z --- PASS: TestParse (0.00s) 2026-10-18T20:52:01.842577206Z --- PASS: TestParse/1_day (0.00s) 2026-10-18T20:52:01.8425931Z --- PASS: TestParse/2_days (0.00s) 2026-10-18T20:52:01.842607675Z --- PASS: TestParse/1_week (0.00s) 2026-10-18T20:52:01.842619931Z --- PASS: TestParse/2_weeks (0.00s) 2026-10-18T20:52:01.842632568Z --- PASS: TestParse/1_month (0.00s) 2026-10-18T20:52:01.842645143Z --- PASS: TestParse/3_months (0.00s) 2026-10-18T20:52:01.842661311Z --- PASS: TestParse/1_year (0.00s) 2026-10-18T20:52:01.842676923Z --- PASS: TestParse/2_years (0.00s) 2026-10-18T20:52:01.842695569Z --- PASS: TestParse/1_year_6_months (0.00s) 2026-10-18T20:52:01.842715919Z --- PASS: TestParse/2_weeks_3_days (0.00s) 2026-10-18T20:52:01.842742763Z --- PASS: TestParse/1_year_2_months_1_week (0.00s) 2026-10-18T20:52:01.842759919Z --- PASS: TestParse/1_day_12_hours (0.00s) 2026-10-18T20:52:01.842779Z --- PASS: TestParse/2_weeks_6_hours (0.00s) 2026-10-18T20:52:01.842799245Z --- PASS: TestParse/1_month_1_day_1_hour (0.00s) 2026-10-18T20:52:01.842817695Z --- PASS: TestParse/1_year_30_minutes (0.00s) 2026-10-18T20:52:01.842834819Z --- PASS: TestParse/24_hours (0.00s) 2026-10-18T20:52:01.842855514Z --- PASS: TestParse/30_minutes (0.00s) 2026-10-18T20:52:01.842874218Z --- PASS: TestParse/1_hour_30_minutes (0.00s) 2026-10-18T20:52:01.842902111Z --- PASS: TestParse/1_second (0.00s) 2026-10-18T20:52:01.842921575Z --- PASS: TestParse/500_milliseconds (0.00s) 2026-10-18T20:52:01.842941847Z --- PASS: TestParse/1000_microseconds (0.00s) 2026-10-18T20:52:01.842960411Z --- PASS: TestParse/1000000_nanoseconds (0.00s) 2026-10-18T20:52:01.842978362Z --- PASS: TestParse/zero_duration (0.00s) 2026-10-18T20:52:01.842997418Z --- PASS: TestParse/zero_with_unit (0.00s) 2026-10-18T20:52:01.843013064Z --- PASS: TestParse/zero_hours (0.00s) 2026-10-18T20:52:01.843027104Z --- PASS: TestParse/10_years (0.00s) 2026-10-18T20:52:01.843045203Z --- PASS: TestParse/52_weeks (0.00s) 2026-10-18T20:52:01.843061056Z --- PASS: TestParse/365_days (0.00s) 2026-10-18T20:52:01.843075113Z --- PASS: TestParse/whitespace_around (0.00s) 2026-10-18T20:52:01.843090409Z --- PASS: TestParse/empty_string (0.00s) 2026-10-18T20:52:01.843106913Z --- PASS: TestParse/invalid_format (0.00s) 2026-10-18T20:52:01.843122038Z --- PASS: TestParse/invalid_unit (0.00s) 2026-10-18T20:52:01.84313895Z --- PASS: TestParse/missing_value (0.00s) 2026-10-18T20:52:01.843157369Z --- PASS: TestParse/negative_not_supported_by_Go (0.00s) 2026-10-18T20:52:01.843165923Z === RUN TestParseConstants 2026-10-18T20:52:01.843176442Z --- PASS: TestParseConstants (0.00s) 2026-10-18T20:52:01.843190268Z === RUN TestParseEquivalences 2026-10-18T20:52:01.843201556Z === RUN TestParseEquivalences/1_day_=_24_hours 2026-10-18T20:52:01.843213493Z === RUN TestParseEquivalences/1_week_=_168_hours 2026-10-18T20:52:01.843230217Z === RUN TestParseEquivalences/1_month_=_720_hours 2026-10-18T20:52:01.843243947Z === RUN TestParseEquivalences/1_year_=_8760_hours 2026-10-18T20:52:01.843254584Z --- PASS: TestParseEquivalences (0.00s) 2026-10-18T20:52:01.843274541Z --- PASS: TestParseEquivalences/1_day_=_24_hours (0.00s) 2026-10-18T20:52:01.843295469Z --- PASS: TestParseEquivalences/1_week_=_168_hours (0.00s) 2026-10-18T20:52:01.843314465Z --- PASS: TestParseEquivalences/1_month_=_720_hours (0.00s) 2026-10-18T20:52:01.843330436Z --- PASS: TestParseEquivalences/1_year_=_8760_hours (0.00s) 2026-10-18T20:52:01.843343646Z PASS 2026-10-18T20:52:01.843353577Z ok github.com/bnema/gordon/pkg/duration 1.013s 2026-10-18T20:52:01.843363675Z === RUN TestParseManifestAnnotations 2026-10-18T20:52:01.843372925Z === RUN TestParseManifestAnnotations/OCI_manifest_with_annotations 2026-10-18T20:52:01.843393037Z === RUN TestParseManifestAnnotations/OCI_manifest_without_annotations 2026-10-18T20:52:01.843404027Z === RUN TestParseManifestAnnotations/OCI_manifest_with_empty_annotations 2026-10-18T20:52:01.843413831Z === RUN TestParseManifestAnnotations/Docker_v2.2_manifest_(no_annotations_support) 2026-10-18T20:52:01.843427989Z === RUN TestParseManifestAnnotations/OCI_image_index_with_annotations 2026-10-18T20:52:01.84344082Z === RUN TestParseManifestAnnotations/Docker_manifest_list_with_annotations 2026-10-18T20:52:01.843450414Z === RUN TestParseManifestAnnotations/manifest_list_without_annotations 2026-10-18T20:52:01.8434595Z === RUN TestParseManifestAnnotations/unsupported_media_type 2026-10-18T20:52:01.843476533Z === RUN TestParseManifestAnnotations/invalid_JSON_for_OCI_manifest 2026-10-18T20:52:01.843489046Z === RUN TestParseManifestAnnotations/invalid_JSON_for_manifest_list 2026-10-18T20:52:01.843499254Z === RUN TestParseManifestAnnotations/OCI_manifest_with_special_characters_in_annotations 2026-10-18T20:52:01.843509763Z --- PASS: TestParseManifestAnnotations (0.00s) 2026-10-18T20:52:01.843531462Z --- PASS: TestParseManifestAnnotations/OCI_manifest_with_annotations (0.00s) 2026-10-18T20:52:01.843552382Z --- PASS: TestParseManifestAnnotations/OCI_manifest_without_annotations (0.00s) 2026-10-18T20:52:01.843574216Z --- PASS: TestParseManifestAnnotations/OCI_manifest_with_empty_annotations (0.00s) 2026-10-18T20:52:01.843596811Z --- PASS: TestParseManifestAnnotations/Docker_v2.2_manifest_(no_annotations_support) (0.00s) 2026-10-18T20:52:01.843618486Z --- PASS: TestParseManifestAnnotations/OCI_image_index_with_annotations (0.00s) 2026-10-18T20:52:01.843640449Z --- PASS: TestParseManifestAnnotations/Docker_manifest_list_with_annotations (0.00s) 2026-10-18T20:52:01.843663673Z --- PASS: TestParseManifestAnnotations/manifest_list_without_annotations (0.00s) 2026-10-18T20:52:01.843684119Z --- PASS: TestParseManifestAnnotations/unsupported_media_type (0.00s) 2026-10-18T20:52:01.843705524Z --- PASS: TestParseManifestAnnotations/invalid_JSON_for_OCI_manifest (0.00s) 2026-10-18T20:52:01.843725898Z --- PASS: TestParseManifestAnnotations/invalid_JSON_for_manifest_list (0.00s) 2026-10-18T20:52:01.843749839Z --- PASS: TestParseManifestAnnotations/OCI_manifest_with_special_characters_in_annotations (0.00s) 2026-10-18T20:52:01.84375886Z === RUN TestParseOCIManifestAnnotations 2026-10-18T20:52:01.843771482Z === RUN TestParseOCIManifestAnnotations/valid_OCI_manifest_with_annotations 2026-10-18T20:52:01.843784336Z === RUN TestParseOCIManifestAnnotations/OCI_manifest_with_nil_annotations 2026-10-18T20:52:01.843793747Z === RUN TestParseOCIManifestAnnotations/invalid_JSON 2026-10-18T20:52:01.843804538Z === RUN TestParseOCIManifestAnnotations/empty_manifest_data 2026-10-18T20:52:01.843816398Z --- PASS: TestParseOCIManifestAnnotations (0.00s) 2026-10-18T20:52:01.843835805Z --- PASS: TestParseOCIManifestAnnotations/valid_OCI_manifest_with_annotations (0.00s) 2026-10-18T20:52:01.843864122Z --- PASS: TestParseOCIManifestAnnotations/OCI_manifest_with_nil_annotations (0.00s) 2026-10-18T20:52:01.843900208Z --- PASS: TestParseOCIManifestAnnotations/invalid_JSON (0.00s) 2026-10-18T20:52:01.843922878Z --- PASS: TestParseOCIManifestAnnotations/empty_manifest_data (0.00s) 2026-10-18T20:52:01.843936079Z === RUN TestParseManifestListAnnotations 2026-10-18T20:52:01.843946014Z === RUN TestParseManifestListAnnotations/valid_manifest_list_with_annotations 2026-10-18T20:52:01.843955613Z === RUN TestParseManifestListAnnotations/manifest_list_with_nil_annotations 2026-10-18T20:52:01.843968235Z === RUN TestParseManifestListAnnotations/invalid_JSON 2026-10-18T20:52:01.843978635Z === RUN TestParseManifestListAnnotations/empty_manifest_list 2026-10-18T20:52:01.843987294Z --- PASS: TestParseManifestListAnnotations (0.00s) 2026-10-18T20:52:01.844009706Z --- PASS: TestParseManifestListAnnotations/valid_manifest_list_with_annotations (0.00s) 2026-10-18T20:52:01.844036936Z --- PASS: TestParseManifestListAnnotations/manifest_list_with_nil_annotations (0.00s) 2026-10-18T20:52:01.844058389Z --- PASS: TestParseManifestListAnnotations/invalid_JSON (0.00s) 2026-10-18T20:52:01.844076269Z --- PASS: TestParseManifestListAnnotations/empty_manifest_list (0.00s) 2026-10-18T20:52:01.844092624Z === RUN TestIsVersionedDeployment 2026-10-18T20:52:01.844105268Z === RUN TestIsVersionedDeployment/has_version_annotation 2026-10-18T20:52:01.844116703Z === RUN TestIsVersionedDeployment/has_empty_version_annotation 2026-10-18T20:52:01.844128235Z === RUN TestIsVersionedDeployment/no_version_annotation 2026-10-18T20:52:01.844141136Z === RUN TestIsVersionedDeployment/empty_annotations_map 2026-10-18T20:52:01.844152609Z === RUN TestIsVersionedDeployment/nil_annotations_map 2026-10-18T20:52:01.844166071Z === RUN TestIsVersionedDeployment/version_annotation_with_whitespace 2026-10-18T20:52:01.844175859Z === RUN TestIsVersionedDeployment/version_annotation_case_sensitivity 2026-10-18T20:52:01.844188194Z === RUN TestIsVersionedDeployment/multiple_version-like_annotations 2026-10-18T20:52:01.844200785Z --- PASS: TestIsVersionedDeployment (0.00s) 2026-10-18T20:52:01.844218971Z --- PASS: TestIsVersionedDeployment/has_version_annotation (0.00s) 2026-10-18T20:52:01.844237672Z --- PASS: TestIsVersionedDeployment/has_empty_version_annotation (0.00s) 2026-10-18T20:52:01.844254848Z --- PASS: TestIsVersionedDeployment/no_version_annotation (0.00s) 2026-10-18T20:52:01.844277457Z --- PASS: TestIsVersionedDeployment/empty_annotations_map (0.00s) 2026-10-18T20:52:01.844300132Z --- PASS: TestIsVersionedDeployment/nil_annotations_map (0.00s) 2026-10-18T20:52:01.84432381Z --- PASS: TestIsVersionedDeployment/version_annotation_with_whitespace (0.00s) 2026-10-18T20:52:01.844345847Z --- PASS: TestIsVersionedDeployment/version_annotation_case_sensitivity (0.00s) 2026-10-18T20:52:01.844368877Z --- PASS: TestIsVersionedDeployment/multiple_version-like_annotations (0.00s) 2026-10-18T20:52:01.844377568Z === RUN TestGetDeploymentVersion 2026-10-18T20:52:01.844386481Z === RUN TestGetDeploymentVersion/has_version_annotation 2026-10-18T20:52:01.84439722Z === RUN TestGetDeploymentVersion/version_with_semantic_versioning 2026-10-18T20:52:01.844406367Z === RUN TestGetDeploymentVersion/version_with_commit_hash 2026-10-18T20:52:01.844415355Z === RUN TestGetDeploymentVersion/version_with_special_characters 2026-10-18T20:52:01.844429756Z === RUN TestGetDeploymentVersion/empty_version_annotation 2026-10-18T20:52:01.844439684Z === RUN TestGetDeploymentVersion/version_with_only_whitespace 2026-10-18T20:52:01.844448733Z === RUN TestGetDeploymentVersion/no_version_annotation 2026-10-18T20:52:01.844457636Z === RUN TestGetDeploymentVersion/empty_annotations_map 2026-10-18T20:52:01.844467885Z === RUN TestGetDeploymentVersion/nil_annotations_map 2026-10-18T20:52:01.844478861Z === RUN TestGetDeploymentVersion/version_annotation_case_sensitivity 2026-10-18T20:52:01.844488299Z === RUN TestGetDeploymentVersion/multiple_version-like_annotations 2026-10-18T20:52:01.844497685Z === RUN TestGetDeploymentVersion/version_with_unicode_characters 2026-10-18T20:52:01.84450873Z === RUN TestGetDeploymentVersion/long_version_string 2026-10-18T20:52:01.844525472Z --- PASS: TestGetDeploymentVersion (0.00s) 2026-10-18T20:52:01.844553128Z --- PASS: TestGetDeploymentVersion/has_version_annotation (0.00s) 2026-10-18T20:52:01.84458358Z --- PASS: TestGetDeploymentVersion/version_with_semantic_versioning (0.00s) 2026-10-18T20:52:01.844605641Z --- PASS: TestGetDeploymentVersion/version_with_commit_hash (0.00s) 2026-10-18T20:52:01.844639397Z --- PASS: TestGetDeploymentVersion/version_with_special_characters (0.00s) 2026-10-18T20:52:01.84466222Z --- PASS: TestGetDeploymentVersion/empty_version_annotation (0.00s) 2026-10-18T20:52:01.844686697Z --- PASS: TestGetDeploymentVersion/version_with_only_whitespace (0.00s) 2026-10-18T20:52:01.844709048Z --- PASS: TestGetDeploymentVersion/no_version_annotation (0.00s) 2026-10-18T20:52:01.844731311Z --- PASS: TestGetDeploymentVersion/empty_annotations_map (0.00s) 2026-10-18T20:52:01.844753703Z --- PASS: TestGetDeploymentVersion/nil_annotations_map (0.00s) 2026-10-18T20:52:01.844773201Z --- PASS: TestGetDeploymentVersion/version_annotation_case_sensitivity (0.00s) 2026-10-18T20:52:01.844791802Z --- PASS: TestGetDeploymentVersion/multiple_version-like_annotations (0.00s) 2026-10-18T20:52:01.844812612Z --- PASS: TestGetDeploymentVersion/version_with_unicode_characters (0.00s) 2026-10-18T20:52:01.844832215Z --- PASS: TestGetDeploymentVersion/long_version_string (0.00s) 2026-10-18T20:52:01.844851243Z === RUN TestAnnotations_Integration 2026-10-18T20:52:01.844868349Z === RUN TestAnnotations_Integration/parse_and_check_versioned_deployment 2026-10-18T20:52:01.844884529Z === RUN TestAnnotations_Integration/parse_Docker_manifest_and_check_versioning 2026-10-18T20:52:01.844903472Z === RUN TestAnnotations_Integration/parse_manifest_list_with_version 2026-10-18T20:52:01.844915074Z === RUN TestAnnotations_Integration/round_trip_JSON_parsing 2026-10-18T20:52:01.844940461Z --- PASS: TestAnnotations_Integration (0.00s) 2026-10-18T20:52:01.844965611Z --- PASS: TestAnnotations_Integration/parse_and_check_versioned_deployment (0.00s) 2026-10-18T20:52:01.844991349Z --- PASS: TestAnnotations_Integration/parse_Docker_manifest_and_check_versioning (0.00s) 2026-10-18T20:52:01.845012208Z --- PASS: TestAnnotations_Integration/parse_manifest_list_with_version (0.00s) 2026-10-18T20:52:01.84503415Z --- PASS: TestAnnotations_Integration/round_trip_JSON_parsing (0.00s) 2026-10-18T20:52:01.845042864Z === RUN TestOCIManifest_JSON 2026-10-18T20:52:01.845053102Z === RUN TestOCIManifest_JSON/basic_OCI_manifest 2026-10-18T20:52:01.845062133Z === RUN TestOCIManifest_JSON/OCI_manifest_with_annotations 2026-10-18T20:52:01.845072971Z === RUN TestOCIManifest_JSON/OCI_manifest_with_multiple_layers 2026-10-18T20:52:01.8450816Z --- PASS: TestOCIManifest_JSON (0.00s) 2026-10-18T20:52:01.845100153Z --- PASS: TestOCIManifest_JSON/basic_OCI_manifest (0.00s) 2026-10-18T20:52:01.845117687Z --- PASS: TestOCIManifest_JSON/OCI_manifest_with_annotations (0.00s) 2026-10-18T20:52:01.845135128Z --- PASS: TestOCIManifest_JSON/OCI_manifest_with_multiple_layers (0.00s) 2026-10-18T20:52:01.845143134Z === RUN TestDockerManifest_JSON 2026-10-18T20:52:01.845154684Z === RUN TestDockerManifest_JSON/basic_Docker_manifest 2026-10-18T20:52:01.845168013Z === RUN TestDockerManifest_JSON/Docker_manifest_with_empty_layers 2026-10-18T20:52:01.845175935Z --- PASS: TestDockerManifest_JSON (0.00s) 2026-10-18T20:52:01.845196873Z --- PASS: TestDockerManifest_JSON/basic_Docker_manifest (0.00s) 2026-10-18T20:52:01.845219985Z --- PASS: TestDockerManifest_JSON/Docker_manifest_with_empty_layers (0.00s) 2026-10-18T20:52:01.84523467Z === RUN TestOCIDescriptor_JSON 2026-10-18T20:52:01.845246478Z === RUN TestOCIDescriptor_JSON/basic_descriptor 2026-10-18T20:52:01.845252643Z === RUN TestOCIDescriptor_JSON/descriptor_with_annotations 2026-10-18T20:52:01.845261106Z === RUN TestOCIDescriptor_JSON/descriptor_with_zero_size 2026-10-18T20:52:01.845269226Z --- PASS: TestOCIDescriptor_JSON (0.00s) 2026-10-18T20:52:01.845296874Z --- PASS: TestOCIDescriptor_JSON/basic_descriptor (0.00s) 2026-10-18T20:52:01.845324428Z --- PASS: TestOCIDescriptor_JSON/descriptor_with_annotations (0.00s) 2026-10-18T20:52:01.845343436Z --- PASS: TestOCIDescriptor_JSON/descriptor_with_zero_size (0.00s) 2026-10-18T20:52:01.845356102Z === RUN TestManifestList_JSON 2026-10-18T20:52:01.845366786Z === RUN TestManifestList_JSON/basic_manifest_list 2026-10-18T20:52:01.845375804Z === RUN TestManifestList_JSON/manifest_list_with_annotations 2026-10-18T20:52:01.84538463Z === RUN TestManifestList_JSON/multi-platform_manifest_list 2026-10-18T20:52:01.845396109Z --- PASS: TestManifestList_JSON (0.00s) 2026-10-18T20:52:01.845412406Z --- PASS: TestManifestList_JSON/basic_manifest_list (0.00s) 2026-10-18T20:52:01.845433508Z --- PASS: TestManifestList_JSON/manifest_list_with_annotations (0.00s) 2026-10-18T20:52:01.845453481Z --- PASS: TestManifestList_JSON/multi-platform_manifest_list (0.00s) 2026-10-18T20:52:01.845461866Z === RUN TestPlatform_JSON 2026-10-18T20:52:01.845470178Z === RUN TestPlatform_JSON/basic_platform 2026-10-18T20:52:01.845478712Z === RUN TestPlatform_JSON/platform_with_variant 2026-10-18T20:52:01.845491239Z === RUN TestPlatform_JSON/windows_platform_with_version 2026-10-18T20:52:01.845511407Z === RUN TestPlatform_JSON/platform_with_features 2026-10-18T20:52:01.845531013Z === RUN TestPlatform_JSON/complete_platform 2026-10-18T20:52:01.845542177Z === RUN TestPlatform_JSON/empty_platform 2026-10-18T20:52:01.845550674Z --- PASS: TestPlatform_JSON (0.00s) 2026-10-18T20:52:01.845564996Z --- PASS: TestPlatform_JSON/basic_platform (0.00s) 2026-10-18T20:52:01.84558062Z --- PASS: TestPlatform_JSON/platform_with_variant (0.00s) 2026-10-18T20:52:01.845598982Z --- PASS: TestPlatform_JSON/windows_platform_with_version (0.00s) 2026-10-18T20:52:01.845619771Z --- PASS: TestPlatform_JSON/platform_with_features (0.00s) 2026-10-18T20:52:01.845638573Z --- PASS: TestPlatform_JSON/complete_platform (0.00s) 2026-10-18T20:52:01.845657712Z --- PASS: TestPlatform_JSON/empty_platform (0.00s) 2026-10-18T20:52:01.845668717Z === RUN TestManifestDescriptor_JSON 2026-10-18T20:52:01.845678075Z === RUN TestManifestDescriptor_JSON/basic_manifest_descriptor 2026-10-18T20:52:01.845691306Z === RUN TestManifestDescriptor_JSON/manifest_descriptor_with_platform 2026-10-18T20:52:01.845701956Z === RUN TestManifestDescriptor_JSON/manifest_descriptor_with_annotations 2026-10-18T20:52:01.845714099Z === RUN TestManifestDescriptor_JSON/complete_manifest_descriptor 2026-10-18T20:52:01.845729156Z --- PASS: TestManifestDescriptor_JSON (0.00s) 2026-10-18T20:52:01.84575519Z --- PASS: TestManifestDescriptor_JSON/basic_manifest_descriptor (0.00s) 2026-10-18T20:52:01.845778893Z --- PASS: TestManifestDescriptor_JSON/manifest_descriptor_with_platform (0.00s) 2026-10-18T20:52:01.845798707Z --- PASS: TestManifestDescriptor_JSON/manifest_descriptor_with_annotations (0.00s) 2026-10-18T20:52:01.845821098Z --- PASS: TestManifestDescriptor_JSON/complete_manifest_descriptor (0.00s) 2026-10-18T20:52:01.845831578Z === RUN TestManifestTypes_EdgeCases 2026-10-18T20:52:01.845844266Z === RUN TestManifestTypes_EdgeCases/empty_annotations_should_be_omitted 2026-10-18T20:52:01.845854319Z === RUN TestManifestTypes_EdgeCases/nil_annotations_should_be_omitted 2026-10-18T20:52:01.845864463Z === RUN TestManifestTypes_EdgeCases/nil_platform_should_be_omitted 2026-10-18T20:52:01.845875561Z === RUN TestManifestTypes_EdgeCases/empty_string_fields_are_preserved 2026-10-18T20:52:01.845889854Z --- PASS: TestManifestTypes_EdgeCases (0.00s) 2026-10-18T20:52:01.845910092Z --- PASS: TestManifestTypes_EdgeCases/empty_annotations_should_be_omitted (0.00s) 2026-10-18T20:52:01.845933614Z --- PASS: TestManifestTypes_EdgeCases/nil_annotations_should_be_omitted (0.00s) 2026-10-18T20:52:01.845952588Z --- PASS: TestManifestTypes_EdgeCases/nil_platform_should_be_omitted (0.00s) 2026-10-18T20:52:01.845975094Z --- PASS: TestManifestTypes_EdgeCases/empty_string_fields_are_preserved (0.00s) 2026-10-18T20:52:01.845984822Z PASS 2026-10-18T20:52:01.845995419Z ok github.com/bnema/gordon/pkg/manifest 1.024s 2026-10-18T20:52:01.846006497Z === RUN TestIntegration_PushSingleLayerImage 2026-10-18T20:52:01.846015145Z === PAUSE TestIntegration_PushSingleLayerImage 2026-10-18T20:52:01.846023318Z === RUN TestIntegration_PushMultiLayerChunked 2026-10-18T20:52:01.846041142Z === PAUSE TestIntegration_PushMultiLayerChunked 2026-10-18T20:52:01.846054279Z === RUN TestIntegration_PushSkipsExistingBlobs 2026-10-18T20:52:01.846065804Z === PAUSE TestIntegration_PushSkipsExistingBlobs 2026-10-18T20:52:01.846081757Z === RUN TestIntegration_ServerRejectsOversizedChunk 2026-10-18T20:52:01.846095899Z === PAUSE TestIntegration_ServerRejectsOversizedChunk 2026-10-18T20:52:01.846107126Z === RUN TestIntegration_ManifestRoundtrip 2026-10-18T20:52:01.846119744Z === PAUSE TestIntegration_ManifestRoundtrip 2026-10-18T20:52:01.846130179Z === RUN TestNew_defaults 2026-10-18T20:52:01.846142225Z --- PASS: TestNew_defaults (0.00s) 2026-10-18T20:52:01.846153034Z === RUN TestNew_withChunkSize 2026-10-18T20:52:01.846165358Z --- PASS: TestNew_withChunkSize (0.00s) 2026-10-18T20:52:01.846176058Z === RUN TestPusher_UploadBlob 2026-10-18T20:52:01.846192813Z === RUN TestPusher_UploadBlob/small_blob_under_chunk_size 2026-10-18T20:52:01.846205437Z === RUN TestPusher_UploadBlob/exact_chunk_size 2026-10-18T20:52:01.846216619Z === RUN TestPusher_UploadBlob/large_blob_across_multiple_chunks 2026-10-18T20:52:01.846229388Z === RUN TestPusher_UploadBlob/blob_already_exists 2026-10-18T20:52:01.84624078Z === RUN TestPusher_UploadBlob/auth_header_present_on_every_request 2026-10-18T20:52:01.846249375Z --- PASS: TestPusher_UploadBlob (0.01s) 2026-10-18T20:52:01.846268901Z --- PASS: TestPusher_UploadBlob/small_blob_under_chunk_size (0.00s) 2026-10-18T20:52:01.846290638Z --- PASS: TestPusher_UploadBlob/exact_chunk_size (0.00s) 2026-10-18T20:52:01.846316202Z --- PASS: TestPusher_UploadBlob/large_blob_across_multiple_chunks (0.00s) 2026-10-18T20:52:01.846336962Z --- PASS: TestPusher_UploadBlob/blob_already_exists (0.00s) 2026-10-18T20:52:01.846357515Z --- PASS: TestPusher_UploadBlob/auth_header_present_on_every_request (0.00s) 2026-10-18T20:52:01.846365767Z === RUN TestPusher_PlainHTTP 2026-10-18T20:52:01.846374099Z --- PASS: TestPusher_PlainHTTP (0.02s) 2026-10-18T20:52:01.846386664Z === RUN TestPusher_Push 2026-10-18T20:52:01.846396826Z === RUN TestPusher_Push/single-layer_image_uploads_config_layer_and_manifest 2026-10-18T20:52:01.846407587Z === RUN TestPusher_Push/multi-layer_image_uploads_all_blobs_and_manifest 2026-10-18T20:52:01.846417537Z === RUN TestPusher_Push/existing_layer_is_skipped_while_others_upload 2026-10-18T20:52:01.846429041Z --- PASS: TestPusher_Push (0.13s) 2026-10-18T20:52:01.846479147Z --- PASS: TestPusher_Push/single-layer_image_uploads_config_layer_and_manifest (0.03s) 2026-10-18T20:52:01.846502475Z --- PASS: TestPusher_Push/multi-layer_image_uploads_all_blobs_and_manifest (0.07s) 2026-10-18T20:52:01.846523016Z --- PASS: TestPusher_Push/existing_layer_is_skipped_while_others_upload (0.04s) 2026-10-18T20:52:01.846535419Z === RUN TestPusher_Push_InvokesCleanup 2026-10-18T20:52:01.846586006Z --- PASS: TestPusher_Push_InvokesCleanup (0.01s) 2026-10-18T20:52:01.846601122Z === RUN TestPusher_WithInsecureTLS_AllowsSelfSignedCertificate 2026-10-18T20:52:01.846614617Z === PAUSE TestPusher_WithInsecureTLS_AllowsSelfSignedCertificate 2026-10-18T20:52:01.846626254Z === RUN TestPusher_WithTimeout_RespectsDeadline 2026-10-18T20:52:01.846638218Z --- PASS: TestPusher_WithTimeout_RespectsDeadline (0.10s) 2026-10-18T20:52:01.846658386Z === RUN TestUploadBlob_RejectsCrossOriginRedirect 2026-10-18T20:52:01.846674677Z --- PASS: TestUploadBlob_RejectsCrossOriginRedirect (0.00s) 2026-10-18T20:52:01.846687372Z === RUN TestUploadBlob_AuthHeaderOnlySentToSameOrigin 2026-10-18T20:52:01.846699351Z --- PASS: TestUploadBlob_AuthHeaderOnlySentToSameOrigin (0.00s) 2026-10-18T20:52:01.846711148Z === RUN TestPusher_WithAuth 2026-10-18T20:52:01.846725199Z === RUN TestPusher_WithAuth/WithAuth_header_is_sent_on_every_registry_request 2026-10-18T20:52:01.84673592Z === RUN TestPusher_WithAuth/without_WithAuth,_existing_push_behavior_is_unchanged 2026-10-18T20:52:01.846744353Z --- PASS: TestPusher_WithAuth (0.04s) 2026-10-18T20:52:01.846764067Z --- PASS: TestPusher_WithAuth/WithAuth_header_is_sent_on_every_registry_request (0.02s) 2026-10-18T20:52:01.846785825Z --- PASS: TestPusher_WithAuth/without_WithAuth,_existing_push_behavior_is_unchanged (0.02s) 2026-10-18T20:52:01.846794694Z === CONT TestIntegration_PushMultiLayerChunked 2026-10-18T20:52:01.846803306Z === CONT TestIntegration_PushSkipsExistingBlobs 2026-10-18T20:52:01.846813151Z === CONT TestPusher_WithInsecureTLS_AllowsSelfSignedCertificate 2026-10-18T20:52:01.84682578Z === CONT TestIntegration_ManifestRoundtrip 2026-10-18T20:52:01.846845827Z 2026-10-18T20:51:52Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushSkipsExistingBlobs2686237306/001 2026-10-18T20:52:01.846861126Z 2026-10-18T20:51:52Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_ManifestRoundtrip1049724990/001 2026-10-18T20:52:01.846874887Z 2026-10-18T20:51:52Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushMultiLayerChunked3429183304/001 2026-10-18T20:52:01.846890086Z 2026-10-18T20:51:52Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushSkipsExistingBlobs2686237306/001 2026-10-18T20:52:01.846909462Z 2026-10-18T20:51:52Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_ManifestRoundtrip1049724990/001 2026-10-18T20:52:01.846947701Z 2026-10-18T20:51:52Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushMultiLayerChunked3429183304/001 2026-10-18T20:52:01.8469693Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=2213d539-77b8-422c-afbe-7421db8d4e93 2026-10-18T20:52:01.846983395Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=5b6eb4e4-1ce9-41fb-9be4-eaf30076b682 2026-10-18T20:52:01.847002884Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=15016b9a-14fb-42d6-8f5a-10fa0985b160 2026-10-18T20:52:01.847021213Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:077af9b5e04705e8339a7c37514ef24920485194f88d3f50a1c40687a2414515 layer=adapter name=testapp uuid=2213d539-77b8-422c-afbe-7421db8d4e93 2026-10-18T20:52:01.847038257Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:ddb7bbe8542171f44e69efc837ef1296e218ee3ffe720bd9526dd9c76446f07c layer=adapter name=testapp uuid=5b6eb4e4-1ce9-41fb-9be4-eaf30076b682 2026-10-18T20:52:01.847055113Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=531c770f-425c-4d48-8354-f25f2b170071 2026-10-18T20:52:01.847071218Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=60445264-8ee9-4fbf-9684-d7803a692c5c 2026-10-18T20:52:01.847087286Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:c8cebc26eab752a37172070eeb145f248c802ae49652e7ca80f27336837af830 layer=adapter name=testapp uuid=15016b9a-14fb-42d6-8f5a-10fa0985b160 2026-10-18T20:52:01.847101591Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=03253582-03ff-47e8-9022-ec40495c5f80 2026-10-18T20:52:01.847118147Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:eb79bc34a7a2f8fa46062b5e6ffc12214752e3159c446cc8bc9e34888c1594e4 layer=adapter name=testapp uuid=60445264-8ee9-4fbf-9684-d7803a692c5c 2026-10-18T20:52:01.847138167Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:3ea622d41199b866d368242c9536f4f4139b4f91c2c539d29e4e8906e0bf913a layer=adapter name=testapp uuid=531c770f-425c-4d48-8354-f25f2b170071 2026-10-18T20:52:01.847156149Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=117913a8-548c-4a78-bb38-3f70c00c65f4 2026-10-18T20:52:01.847170758Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=4f5dea61-5a1c-47e0-8bc8-c80f0c57010d 2026-10-18T20:52:01.847186987Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:d1e98add82f385da461d1e1bf97df81b0944fa3f740cbc905a5411be0a66b129 layer=adapter name=testapp uuid=03253582-03ff-47e8-9022-ec40495c5f80 2026-10-18T20:52:01.847205664Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:8f43521edc0b71508add0fe6897fd8a4d45d5e8f663281ff9290a2633c6f8deb layer=adapter name=testapp uuid=117913a8-548c-4a78-bb38-3f70c00c65f4 2026-10-18T20:52:01.847259629Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:6aa27f1f4efa84607539dd876a361c5c3fd7e2c63fd2c47bb81423b5509174ce layer=adapter name=testapp uuid=4f5dea61-5a1c-47e0-8bc8-c80f0c57010d 2026-10-18T20:52:01.847281381Z 2026-10-18T20:51:52Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:52:01.847297343Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=ea97f220-3778-4f58-ba68-a4c780377d6a 2026-10-18T20:52:01.847315163Z 2026-10-18T20:51:52Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:52:01.847326922Z --- PASS: TestIntegration_ManifestRoundtrip (0.03s) 2026-10-18T20:52:01.847336361Z === CONT TestIntegration_PushSingleLayerImage 2026-10-18T20:52:01.847352253Z 2026-10-18T20:51:52Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushSingleLayerImage3483479126/001 2026-10-18T20:52:01.847366908Z 2026-10-18T20:51:52Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_PushSingleLayerImage3483479126/001 2026-10-18T20:52:01.847383361Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:002fec06d7ed786ec44bbab1ff9b720b4dba34d8c4bf793ad9e458d1699ecb4b layer=adapter name=testapp uuid=ea97f220-3778-4f58-ba68-a4c780377d6a 2026-10-18T20:52:01.847399503Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=a6e9ff3f-2da1-4a92-bedf-3faa6a9462c9 2026-10-18T20:52:01.847417899Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=81b6de5f-8ed2-4adb-946d-733cc00a3ee9 2026-10-18T20:52:01.847451084Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:6a6921fb8abe03283f6f8130c7458707a560740b437ed41ccedb0ae18e501f7e layer=adapter name=testapp uuid=a6e9ff3f-2da1-4a92-bedf-3faa6a9462c9 2026-10-18T20:52:01.847466038Z 2026-10-18T20:51:52Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:52:01.847484186Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:750ee57ed45d3c25fc3e73485cfbcf71be6eabbc4bb715fb62626ae72b4f265c layer=adapter name=testapp uuid=81b6de5f-8ed2-4adb-946d-733cc00a3ee9 2026-10-18T20:52:01.847502475Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=4817789b-65be-4333-beed-e07afef542d9 2026-10-18T20:52:01.847525307Z 2026-10-18T20:51:52Z INF blob upload finished adapter=filesystem digest=sha256:419ddb5f5ba5aaa7ee915efd2fde00367bca56318d4d04a869e6cf53002f81cb layer=adapter name=testapp uuid=4817789b-65be-4333-beed-e07afef542d9 2026-10-18T20:52:01.847543095Z 2026-10-18T20:51:52Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:52:01.847557337Z --- PASS: TestIntegration_PushSingleLayerImage (0.02s) 2026-10-18T20:52:01.847570483Z === CONT TestIntegration_ServerRejectsOversizedChunk 2026-10-18T20:52:01.847587903Z 2026-10-18T20:51:52Z INF blob storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_ServerRejectsOversizedChunk1539517316/001 2026-10-18T20:52:01.847606911Z 2026-10-18T20:51:52Z INF manifest storage initialized adapter=filesystem layer=adapter root_dir=/tmp/TestIntegration_ServerRejectsOversizedChunk1539517316/001 2026-10-18T20:52:01.847620433Z --- PASS: TestIntegration_PushMultiLayerChunked (0.06s) 2026-10-18T20:52:01.84764004Z 2026-10-18T20:51:52Z INF manifest stored adapter=filesystem layer=adapter name=testapp reference=v1.0.0 2026-10-18T20:52:01.847651866Z --- PASS: TestIntegration_PushSkipsExistingBlobs (0.06s) 2026-10-18T20:52:01.847665025Z 2026-10-18T20:51:52Z INF blob upload started adapter=filesystem layer=adapter name=testapp uuid=ba5db25a-58bc-4c93-aaab-d7d41a0f7885 2026-10-18T20:52:01.847690375Z 2026-10-18T20:51:52Z INF blob upload cancelled adapter=filesystem layer=adapter name=testapp uuid=ba5db25a-58bc-4c93-aaab-d7d41a0f7885 2026-10-18T20:52:01.847705032Z 2026/10/18 20:51:52 http: TLS handshake error from 127.0.0.1:51770: remote error: tls: bad certificate 2026-10-18T20:52:01.8477214Z --- PASS: TestPusher_WithInsecureTLS_AllowsSelfSignedCertificate (0.11s) 2026-10-18T20:52:01.847735825Z --- PASS: TestIntegration_ServerRejectsOversizedChunk (0.51s) 2026-10-18T20:52:01.847746001Z PASS 2026-10-18T20:52:01.847759093Z ok github.com/bnema/gordon/pkg/registrypush 1.917s 2026-10-18T20:52:01.847772734Z ? github.com/bnema/gordon/pkg/runtime [no test files] 2026-10-18T20:52:01.847783765Z === RUN TestValidateImageDigest 2026-10-18T20:52:01.847799138Z --- PASS: TestValidateImageDigest (0.00s) 2026-10-18T20:52:01.847810931Z === RUN TestParseImageReference 2026-10-18T20:52:01.847824278Z === RUN TestParseImageReference/simple_image_with_latest_tag 2026-10-18T20:52:01.847839559Z === RUN TestParseImageReference/simple_image_with_custom_tag 2026-10-18T20:52:01.847851854Z === RUN TestParseImageReference/simple_image_with_digest 2026-10-18T20:52:01.847863181Z === RUN TestParseImageReference/registry_with_image_and_tag 2026-10-18T20:52:01.847880258Z === RUN TestParseImageReference/registry_with_port_and_image_and_tag 2026-10-18T20:52:01.847894855Z === RUN TestParseImageReference/registry_with_port,_image,_and_digest 2026-10-18T20:52:01.847905118Z === RUN TestParseImageReference/simple_image_without_tag_(defaults_to_latest) 2026-10-18T20:52:01.847916311Z === RUN TestParseImageReference/registry_with_image_without_tag 2026-10-18T20:52:01.84792545Z === RUN TestParseImageReference/nested_path_image_with_tag 2026-10-18T20:52:01.847936316Z === RUN TestParseImageReference/localhost_registry_with_port 2026-10-18T20:52:01.847961094Z === RUN TestParseImageReference/IP_address_registry_with_port 2026-10-18T20:52:01.847976321Z --- PASS: TestParseImageReference (0.00s) 2026-10-18T20:52:01.847998684Z --- PASS: TestParseImageReference/simple_image_with_latest_tag (0.00s) 2026-10-18T20:52:01.848022808Z --- PASS: TestParseImageReference/simple_image_with_custom_tag (0.00s) 2026-10-18T20:52:01.848043808Z --- PASS: TestParseImageReference/simple_image_with_digest (0.00s) 2026-10-18T20:52:01.848065732Z --- PASS: TestParseImageReference/registry_with_image_and_tag (0.00s) 2026-10-18T20:52:01.84809034Z --- PASS: TestParseImageReference/registry_with_port_and_image_and_tag (0.00s) 2026-10-18T20:52:01.848113376Z --- PASS: TestParseImageReference/registry_with_port,_image,_and_digest (0.00s) 2026-10-18T20:52:01.848137908Z --- PASS: TestParseImageReference/simple_image_without_tag_(defaults_to_latest) (0.00s) 2026-10-18T20:52:01.848161963Z --- PASS: TestParseImageReference/registry_with_image_without_tag (0.00s) 2026-10-18T20:52:01.848183032Z --- PASS: TestParseImageReference/nested_path_image_with_tag (0.00s) 2026-10-18T20:52:01.848207267Z --- PASS: TestParseImageReference/localhost_registry_with_port (0.00s) 2026-10-18T20:52:01.848241196Z --- PASS: TestParseImageReference/IP_address_registry_with_port (0.00s) 2026-10-18T20:52:01.84826077Z === RUN TestValidateRepositoryName 2026-10-18T20:52:01.848273545Z === RUN TestValidateRepositoryName/simple_name 2026-10-18T20:52:01.848289509Z === RUN TestValidateRepositoryName/with_hyphen 2026-10-18T20:52:01.848308654Z === RUN TestValidateRepositoryName/with_underscore 2026-10-18T20:52:01.848321375Z === RUN TestValidateRepositoryName/with_dot 2026-10-18T20:52:01.848336694Z === RUN TestValidateRepositoryName/nested_path 2026-10-18T20:52:01.84834533Z === RUN TestValidateRepositoryName/deeply_nested 2026-10-18T20:52:01.848358393Z === RUN TestValidateRepositoryName/with_numbers 2026-10-18T20:52:01.848371456Z === RUN TestValidateRepositoryName/complex_valid 2026-10-18T20:52:01.848379937Z === RUN TestValidateRepositoryName/path_traversal_simple 2026-10-18T20:52:01.848387899Z === RUN TestValidateRepositoryName/path_traversal_nested 2026-10-18T20:52:01.848396957Z === RUN TestValidateRepositoryName/path_traversal_in_middle 2026-10-18T20:52:01.848409845Z === RUN TestValidateRepositoryName/double_dot_only 2026-10-18T20:52:01.8484212Z === RUN TestValidateRepositoryName/empty 2026-10-18T20:52:01.848432449Z === RUN TestValidateRepositoryName/starts_with_hyphen 2026-10-18T20:52:01.848444392Z === RUN TestValidateRepositoryName/starts_with_dot 2026-10-18T20:52:01.848453418Z === RUN TestValidateRepositoryName/ends_with_hyphen 2026-10-18T20:52:01.848459669Z === RUN TestValidateRepositoryName/uppercase 2026-10-18T20:52:01.848475644Z === RUN TestValidateRepositoryName/special_chars 2026-10-18T20:52:01.848481602Z === RUN TestValidateRepositoryName/spaces 2026-10-18T20:52:01.848490415Z === RUN TestValidateRepositoryName/adjacent_separators 2026-10-18T20:52:01.84850506Z === RUN TestValidateRepositoryName/starts_with_slash 2026-10-18T20:52:01.848514962Z === RUN TestValidateRepositoryName/ends_with_slash 2026-10-18T20:52:01.84852332Z === RUN TestValidateRepositoryName/too_long 2026-10-18T20:52:01.848528567Z --- PASS: TestValidateRepositoryName (0.00s) 2026-10-18T20:52:01.848555659Z --- PASS: TestValidateRepositoryName/simple_name (0.00s) 2026-10-18T20:52:01.848576689Z --- PASS: TestValidateRepositoryName/with_hyphen (0.00s) 2026-10-18T20:52:01.848598664Z --- PASS: TestValidateRepositoryName/with_underscore (0.00s) 2026-10-18T20:52:01.848619671Z --- PASS: TestValidateRepositoryName/with_dot (0.00s) 2026-10-18T20:52:01.848641618Z --- PASS: TestValidateRepositoryName/nested_path (0.00s) 2026-10-18T20:52:01.84866169Z --- PASS: TestValidateRepositoryName/deeply_nested (0.00s) 2026-10-18T20:52:01.848683535Z --- PASS: TestValidateRepositoryName/with_numbers (0.00s) 2026-10-18T20:52:01.848703655Z --- PASS: TestValidateRepositoryName/complex_valid (0.00s) 2026-10-18T20:52:01.848725344Z --- PASS: TestValidateRepositoryName/path_traversal_simple (0.00s) 2026-10-18T20:52:01.848856349Z --- PASS: TestValidateRepositoryName/path_traversal_nested (0.00s) 2026-10-18T20:52:01.848878532Z --- PASS: TestValidateRepositoryName/path_traversal_in_middle (0.00s) 2026-10-18T20:52:01.84889913Z --- PASS: TestValidateRepositoryName/double_dot_only (0.00s) 2026-10-18T20:52:01.848915831Z --- PASS: TestValidateRepositoryName/empty (0.00s) 2026-10-18T20:52:01.849130324Z --- PASS: TestValidateRepositoryName/starts_with_hyphen (0.00s) 2026-10-18T20:52:01.849157101Z --- PASS: TestValidateRepositoryName/starts_with_dot (0.00s) 2026-10-18T20:52:01.849175688Z --- PASS: TestValidateRepositoryName/ends_with_hyphen (0.00s) 2026-10-18T20:52:01.849193492Z --- PASS: TestValidateRepositoryName/uppercase (0.00s) 2026-10-18T20:52:01.849213425Z --- PASS: TestValidateRepositoryName/special_chars (0.00s) 2026-10-18T20:52:01.84922985Z --- PASS: TestValidateRepositoryName/spaces (0.00s) 2026-10-18T20:52:01.849247542Z --- PASS: TestValidateRepositoryName/adjacent_separators (0.00s) 2026-10-18T20:52:01.849265139Z --- PASS: TestValidateRepositoryName/starts_with_slash (0.00s) 2026-10-18T20:52:01.849282268Z --- PASS: TestValidateRepositoryName/ends_with_slash (0.00s) 2026-10-18T20:52:01.84930428Z --- PASS: TestValidateRepositoryName/too_long (0.00s) 2026-10-18T20:52:01.849314462Z === RUN TestValidateReference 2026-10-18T20:52:01.849325016Z === RUN TestValidateReference/simple_tag 2026-10-18T20:52:01.849334772Z === RUN TestValidateReference/version_tag 2026-10-18T20:52:01.849346523Z === RUN TestValidateReference/with_hyphen 2026-10-18T20:52:01.849357978Z === RUN TestValidateReference/with_underscore 2026-10-18T20:52:01.849367788Z === RUN TestValidateReference/with_dot 2026-10-18T20:52:01.849377137Z === RUN TestValidateReference/numeric 2026-10-18T20:52:01.849394386Z === RUN TestValidateReference/alphanumeric 2026-10-18T20:52:01.849407138Z === RUN TestValidateReference/sha256_digest 2026-10-18T20:52:01.849417344Z === RUN TestValidateReference/sha512_digest 2026-10-18T20:52:01.849426997Z === RUN TestValidateReference/path_traversal 2026-10-18T20:52:01.849433729Z === RUN TestValidateReference/hidden_traversal 2026-10-18T20:52:01.849444619Z === RUN TestValidateReference/empty 2026-10-18T20:52:01.849454328Z === RUN TestValidateReference/starts_with_hyphen 2026-10-18T20:52:01.849465155Z === RUN TestValidateReference/starts_with_dot 2026-10-18T20:52:01.849558428Z === RUN TestValidateReference/too_long_tag 2026-10-18T20:52:01.849575428Z === RUN TestValidateReference/special_chars 2026-10-18T20:52:01.849586088Z === RUN TestValidateReference/spaces 2026-10-18T20:52:01.849592068Z === RUN TestValidateReference/wrong_algorithm 2026-10-18T20:52:01.849597215Z === RUN TestValidateReference/short_sha256 2026-10-18T20:52:01.84960208Z === RUN TestValidateReference/uppercase_hex 2026-10-18T20:52:01.849606674Z --- PASS: TestValidateReference (0.00s) 2026-10-18T20:52:01.849617661Z --- PASS: TestValidateReference/simple_tag (0.00s) 2026-10-18T20:52:01.849635571Z --- PASS: TestValidateReference/version_tag (0.00s) 2026-10-18T20:52:01.849651911Z --- PASS: TestValidateReference/with_hyphen (0.00s) 2026-10-18T20:52:01.84966641Z --- PASS: TestValidateReference/with_underscore (0.00s) 2026-10-18T20:52:01.849681748Z --- PASS: TestValidateReference/with_dot (0.00s) 2026-10-18T20:52:01.849695911Z --- PASS: TestValidateReference/numeric (0.00s) 2026-10-18T20:52:01.849707549Z --- PASS: TestValidateReference/alphanumeric (0.00s) 2026-10-18T20:52:01.849718892Z --- PASS: TestValidateReference/sha256_digest (0.00s) 2026-10-18T20:52:01.849733222Z --- PASS: TestValidateReference/sha512_digest (0.00s) 2026-10-18T20:52:01.849755196Z --- PASS: TestValidateReference/path_traversal (0.00s) 2026-10-18T20:52:01.849773958Z --- PASS: TestValidateReference/hidden_traversal (0.00s) 2026-10-18T20:52:01.849794031Z --- PASS: TestValidateReference/empty (0.00s) 2026-10-18T20:52:01.849815628Z --- PASS: TestValidateReference/starts_with_hyphen (0.00s) 2026-10-18T20:52:01.849838113Z --- PASS: TestValidateReference/starts_with_dot (0.00s) 2026-10-18T20:52:01.849856518Z --- PASS: TestValidateReference/too_long_tag (0.00s) 2026-10-18T20:52:01.849871814Z --- PASS: TestValidateReference/special_chars (0.00s) 2026-10-18T20:52:01.849890874Z --- PASS: TestValidateReference/spaces (0.00s) 2026-10-18T20:52:01.84991273Z --- PASS: TestValidateReference/wrong_algorithm (0.00s) 2026-10-18T20:52:01.849928215Z --- PASS: TestValidateReference/short_sha256 (0.00s) 2026-10-18T20:52:01.849943333Z --- PASS: TestValidateReference/uppercase_hex (0.00s) 2026-10-18T20:52:01.849951809Z === RUN TestValidateDigest 2026-10-18T20:52:01.8499625Z === RUN TestValidateDigest/valid_sha256 2026-10-18T20:52:01.849977477Z === RUN TestValidateDigest/valid_sha512 2026-10-18T20:52:01.849987923Z === RUN TestValidateDigest/path_traversal 2026-10-18T20:52:01.849996404Z === RUN TestValidateDigest/empty 2026-10-18T20:52:01.850004682Z === RUN TestValidateDigest/no_algorithm 2026-10-18T20:52:01.85001731Z === RUN TestValidateDigest/wrong_algorithm 2026-10-18T20:52:01.850028067Z === RUN TestValidateDigest/sha1_not_allowed 2026-10-18T20:52:01.850036412Z === RUN TestValidateDigest/short_hash 2026-10-18T20:52:01.850046684Z === RUN TestValidateDigest/uppercase_hex 2026-10-18T20:52:01.85006145Z === RUN TestValidateDigest/invalid_chars 2026-10-18T20:52:01.850071175Z === RUN TestValidateDigest/missing_colon 2026-10-18T20:52:01.850079253Z --- PASS: TestValidateDigest (0.00s) 2026-10-18T20:52:01.850099022Z --- PASS: TestValidateDigest/valid_sha256 (0.00s) 2026-10-18T20:52:01.850116546Z --- PASS: TestValidateDigest/valid_sha512 (0.00s) 2026-10-18T20:52:01.850131731Z --- PASS: TestValidateDigest/path_traversal (0.00s) 2026-10-18T20:52:01.850152589Z --- PASS: TestValidateDigest/empty (0.00s) 2026-10-18T20:52:01.8501689Z --- PASS: TestValidateDigest/no_algorithm (0.00s) 2026-10-18T20:52:01.850190371Z --- PASS: TestValidateDigest/wrong_algorithm (0.00s) 2026-10-18T20:52:01.850208819Z --- PASS: TestValidateDigest/sha1_not_allowed (0.00s) 2026-10-18T20:52:01.850223481Z --- PASS: TestValidateDigest/short_hash (0.00s) 2026-10-18T20:52:01.850255197Z --- PASS: TestValidateDigest/uppercase_hex (0.00s) 2026-10-18T20:52:01.850285591Z --- PASS: TestValidateDigest/invalid_chars (0.00s) 2026-10-18T20:52:01.850304655Z --- PASS: TestValidateDigest/missing_colon (0.00s) 2026-10-18T20:52:01.85032043Z === RUN TestValidateUUID 2026-10-18T20:52:01.850330327Z === RUN TestValidateUUID/valid_uuid_v4 2026-10-18T20:52:01.850338919Z === RUN TestValidateUUID/another_valid_uuid_v4 2026-10-18T20:52:01.850350637Z === RUN TestValidateUUID/uuid_v1_wrong_version 2026-10-18T20:52:01.850371191Z === RUN TestValidateUUID/all_zeros_not_v4 2026-10-18T20:52:01.850381514Z === RUN TestValidateUUID/wrong_variant_nibble 2026-10-18T20:52:01.850389983Z === RUN TestValidateUUID/path_traversal 2026-10-18T20:52:01.850399784Z === RUN TestValidateUUID/traversal_in_middle 2026-10-18T20:52:01.850415289Z === RUN TestValidateUUID/empty 2026-10-18T20:52:01.850424728Z === RUN TestValidateUUID/random_string 2026-10-18T20:52:01.850433299Z === RUN TestValidateUUID/old_timestamp_format 2026-10-18T20:52:01.850442877Z === RUN TestValidateUUID/uppercase_hex 2026-10-18T20:52:01.850456884Z === RUN TestValidateUUID/spaces 2026-10-18T20:52:01.850468359Z === RUN TestValidateUUID/missing_section 2026-10-18T20:52:01.850476732Z --- PASS: TestValidateUUID (0.00s) 2026-10-18T20:52:01.850495498Z --- PASS: TestValidateUUID/valid_uuid_v4 (0.00s) 2026-10-18T20:52:01.85053473Z --- PASS: TestValidateUUID/another_valid_uuid_v4 (0.00s) 2026-10-18T20:52:01.850562831Z --- PASS: TestValidateUUID/uuid_v1_wrong_version (0.00s) 2026-10-18T20:52:01.850592162Z --- PASS: TestValidateUUID/all_zeros_not_v4 (0.00s) 2026-10-18T20:52:01.850612711Z --- PASS: TestValidateUUID/wrong_variant_nibble (0.00s) 2026-10-18T20:52:01.850631726Z --- PASS: TestValidateUUID/path_traversal (0.00s) 2026-10-18T20:52:01.850652641Z --- PASS: TestValidateUUID/traversal_in_middle (0.00s) 2026-10-18T20:52:01.850666427Z --- PASS: TestValidateUUID/empty (0.00s) 2026-10-18T20:52:01.850680654Z --- PASS: TestValidateUUID/random_string (0.00s) 2026-10-18T20:52:01.85069562Z --- PASS: TestValidateUUID/old_timestamp_format (0.00s) 2026-10-18T20:52:01.850709848Z --- PASS: TestValidateUUID/uppercase_hex (0.00s) 2026-10-18T20:52:01.850724491Z --- PASS: TestValidateUUID/spaces (0.00s) 2026-10-18T20:52:01.850741584Z --- PASS: TestValidateUUID/missing_section (0.00s) 2026-10-18T20:52:01.85075513Z === RUN TestValidateDomainParam 2026-10-18T20:52:01.850764036Z === RUN TestValidateDomainParam/valid_domain 2026-10-18T20:52:01.850772528Z === RUN TestValidateDomainParam/valid_subdomain 2026-10-18T20:52:01.85078151Z === RUN TestValidateDomainParam/path_traversal 2026-10-18T20:52:01.850800131Z === RUN TestValidateDomainParam/null_byte 2026-10-18T20:52:01.850810636Z === RUN TestValidateDomainParam/newline 2026-10-18T20:52:01.850819536Z === RUN TestValidateDomainParam/carriage_return 2026-10-18T20:52:01.850827776Z === RUN TestValidateDomainParam/empty 2026-10-18T20:52:01.850840392Z === RUN TestValidateDomainParam/double_dot_in_middle 2026-10-18T20:52:01.850851237Z === RUN TestValidateDomainParam/forward_slash 2026-10-18T20:52:01.850860188Z === RUN TestValidateDomainParam/tab_character 2026-10-18T20:52:01.850870576Z --- PASS: TestValidateDomainParam (0.00s) 2026-10-18T20:52:01.850890023Z --- PASS: TestValidateDomainParam/valid_domain (0.00s) 2026-10-18T20:52:01.850905885Z --- PASS: TestValidateDomainParam/valid_subdomain (0.00s) 2026-10-18T20:52:01.850925368Z --- PASS: TestValidateDomainParam/path_traversal (0.00s) 2026-10-18T20:52:01.850944311Z --- PASS: TestValidateDomainParam/null_byte (0.00s) 2026-10-18T20:52:01.85095914Z --- PASS: TestValidateDomainParam/newline (0.00s) 2026-10-18T20:52:01.850974485Z --- PASS: TestValidateDomainParam/carriage_return (0.00s) 2026-10-18T20:52:01.850988569Z --- PASS: TestValidateDomainParam/empty (0.00s) 2026-10-18T20:52:01.851004968Z --- PASS: TestValidateDomainParam/double_dot_in_middle (0.00s) 2026-10-18T20:52:01.851020279Z --- PASS: TestValidateDomainParam/forward_slash (0.00s) 2026-10-18T20:52:01.851039579Z --- PASS: TestValidateDomainParam/tab_character (0.00s) 2026-10-18T20:52:01.851050344Z === RUN TestValidatePath 2026-10-18T20:52:01.851061133Z === RUN TestValidatePath/simple 2026-10-18T20:52:01.851071595Z === RUN TestValidatePath/nested 2026-10-18T20:52:01.851090579Z === RUN TestValidatePath/with_dots_in_name 2026-10-18T20:52:01.851102779Z === RUN TestValidatePath/empty 2026-10-18T20:52:01.851113704Z === RUN TestValidatePath/path_traversal 2026-10-18T20:52:01.851124899Z === RUN TestValidatePath/hidden_traversal 2026-10-18T20:52:01.851136614Z === RUN TestValidatePath/absolute_path 2026-10-18T20:52:01.851148573Z --- PASS: TestValidatePath (0.00s) 2026-10-18T20:52:01.851165793Z --- PASS: TestValidatePath/simple (0.00s) 2026-10-18T20:52:01.851180647Z --- PASS: TestValidatePath/nested (0.00s) 2026-10-18T20:52:01.851196053Z --- PASS: TestValidatePath/with_dots_in_name (0.00s) 2026-10-18T20:52:01.851209228Z --- PASS: TestValidatePath/empty (0.00s) 2026-10-18T20:52:01.851226051Z --- PASS: TestValidatePath/path_traversal (0.00s) 2026-10-18T20:52:01.851246093Z --- PASS: TestValidatePath/hidden_traversal (0.00s) 2026-10-18T20:52:01.851265243Z --- PASS: TestValidatePath/absolute_path (0.00s) 2026-10-18T20:52:01.851285462Z === RUN TestValidatePathWithinRoot 2026-10-18T20:52:01.851306083Z === RUN TestValidatePathWithinRoot/within_root 2026-10-18T20:52:01.851319091Z === RUN TestValidatePathWithinRoot/nested_within_root 2026-10-18T20:52:01.851330471Z === RUN TestValidatePathWithinRoot/exact_root 2026-10-18T20:52:01.851341376Z === RUN TestValidatePathWithinRoot/escapes_root 2026-10-18T20:52:01.851353695Z === RUN TestValidatePathWithinRoot/traversal_escape 2026-10-18T20:52:01.851366473Z === RUN TestValidatePathWithinRoot/sibling_dir 2026-10-18T20:52:01.851385472Z --- PASS: TestValidatePathWithinRoot (0.00s) 2026-10-18T20:52:01.851406659Z --- PASS: TestValidatePathWithinRoot/within_root (0.00s) 2026-10-18T20:52:01.851430299Z --- PASS: TestValidatePathWithinRoot/nested_within_root (0.00s) 2026-10-18T20:52:01.851446874Z --- PASS: TestValidatePathWithinRoot/exact_root (0.00s) 2026-10-18T20:52:01.85146793Z --- PASS: TestValidatePathWithinRoot/escapes_root (0.00s) 2026-10-18T20:52:01.851487176Z --- PASS: TestValidatePathWithinRoot/traversal_escape (0.00s) 2026-10-18T20:52:01.851504688Z --- PASS: TestValidatePathWithinRoot/sibling_dir (0.00s) 2026-10-18T20:52:01.851516377Z PASS 2026-10-18T20:52:01.851526617Z ok github.com/bnema/gordon/pkg/validation 1.022s 2026-10-18T20:52:01.851534864Z === RUN TestSetStoresAllBuildInfo 2026-10-18T20:52:01.851542975Z --- PASS: TestSetStoresAllBuildInfo (0.00s) 2026-10-18T20:52:01.851559923Z PASS 2026-10-18T20:52:01.85157068Z ok github.com/bnema/gordon/pkg/version 1.008s 2026-10-18T20:52:01.889306545Z Post job cleanup. 2026-10-18T20:52:02.020832353Z (node:11834) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. 2026-10-18T20:52:02.02087812Z (Use `node --trace-deprecation ...` to show where the warning was created) 2026-10-18T20:52:02.023589131Z [command]/opt/hostedtoolcache/go/1.27.2/x64/bin/go env GOMODCACHE 2026-10-18T20:52:02.028670182Z [command]/opt/hostedtoolcache/go/1.27.2/x64/bin/go env GOCACHE 2026-10-18T20:52:02.032072364Z /home/runner/go/pkg/mod 2026-10-18T20:52:02.032109765Z /home/runner/.cache/go-build 2026-10-18T20:52:02.044882309Z [command]/usr/bin/tar --posix -cf cache.tgz --exclude cache.tgz -P -C /home/runner/work/gordon/gordon --files-from manifest.txt -z 2026-10-18T20:52:28.705153077Z Failed to save: Unable to reserve cache with key setup-go-Linux-x64-undefined-go-1.27.2-437aff1a951869a25a3f14777df461869b8e34e0c831a9cc78161d339cef3be7, another job may be creating this cache. More details: a cache entry or reservation with this key and version exists in this ref 2026-10-18T20:52:28.740023544Z Post job cleanup. 2026-10-18T20:52:28.826525516Z [command]/usr/bin/git version 2026-10-18T20:52:28.828865709Z git version 2.53.0 2026-10-18T20:52:28.833649419Z Temporarily overriding HOME='/home/runner/work/_temp/73291cab-c22f-4457-9109-f89b6f17cba5' before making global git config changes 2026-10-18T20:52:28.833687938Z Adding repository directory to the temporary git global config as a safe directory 2026-10-18T20:52:28.833699733Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/gordon/gordon 2026-10-18T20:52:28.835793749Z Removing SSH command configuration 2026-10-18T20:52:28.838440635Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-18T20:52:28.841151429Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2026-10-18T20:52:28.862891135Z Removing HTTP extra header 2026-10-18T20:52:28.862947621Z [command]/usr/bin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader 2026-10-18T20:52:28.865556238Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.http\:\/\/ermite\:7341\/\.extraheader' && git config --local --unset-all 'http.http://ermite:7341/.extraheader' || :" 2026-10-18T20:52:28.887599463Z Removing includeIf entries pointing to credentials config files 2026-10-18T20:52:28.887646585Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-18T20:52:28.887661132Z includeif.gitdir:/home/runner/work/gordon/gordon/.git.path 2026-10-18T20:52:28.887673715Z includeif.gitdir:/home/runner/work/gordon/gordon/.git/worktrees/*.path 2026-10-18T20:52:28.887697913Z includeif.gitdir:/github/workspace/.git.path 2026-10-18T20:52:28.887726044Z includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-18T20:52:28.890095571Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/gordon/gordon/.git.path 2026-10-18T20:52:28.890133249Z /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.893059058Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/gordon/gordon/.git.path /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.895303348Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/home/runner/work/gordon/gordon/.git/worktrees/*.path 2026-10-18T20:52:28.895399678Z /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.898280027Z [command]/usr/bin/git config --local --unset includeif.gitdir:/home/runner/work/gordon/gordon/.git/worktrees/*.path /home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.900489954Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path 2026-10-18T20:52:28.900532403Z /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.902963433Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.905084938Z [command]/usr/bin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path 2026-10-18T20:52:28.905122839Z /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.907558656Z [command]/usr/bin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config 2026-10-18T20:52:28.910094056Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-18T20:52:28.931194285Z Removing credentials config '/home/runner/work/_temp/git-credentials-772b6349-5c3b-428e-a02c-798151feda48.config' 2026-10-18T20:52:28.935847345Z Cleaning up orphan processes 2026-10-18T20:52:28.936315046Z ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-go@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/