Skip to content

feat: Added ExcludeValues + Fixed issue with regex matching type.#1818

Merged
averikitsch merged 3 commits into
googleapis:mainfrom
philBatardiere:feature/1792-Excluded-Value
Oct 29, 2025
Merged

feat: Added ExcludeValues + Fixed issue with regex matching type.#1818
averikitsch merged 3 commits into
googleapis:mainfrom
philBatardiere:feature/1792-Excluded-Value

Merge branch 'main' into feature/1792-Excluded-Value

607807f
Select commit
Loading
Failed to load commit list.
Google Cloud Build / integration-test-pr (toolbox-testing-438616) succeeded Oct 29, 2025 in 11m 46s

Summary

Build Information

Trigger integration-test-pr
Build bb91c095-1e2b-4eac-83ec-71cb33c73d94
Start 2025-10-29T15:48:12-07:00
Duration 5m39.849s
Status SUCCESS

Steps

Step Status Duration
install-dependencies SUCCESS 22.071s
compile-test-binary SUCCESS 57.743s
cloud-sql-pg SUCCESS 22.758s
alloydb SUCCESS 6.509s
alloydb-pg SUCCESS 18.905s
alloydb-ai-nl SUCCESS 13.036s
bigtable SUCCESS 18.909s
bigquery SUCCESS 4m12.553s
dataplex SUCCESS 2m16.639s
dataform SUCCESS 59.615s
postgres SUCCESS 19.285s
spanner SUCCESS 1m11.311s
neo4j SUCCESS 5.32s
cloud-sql-mssql SUCCESS 10.614s
cloud-sql-mysql SUCCESS 24.271s
mysql SUCCESS 24.574s
mssql SUCCESS 6.727s
http SUCCESS 5.816s
sqlite SUCCESS 6.027s
couchbase SUCCESS 31.83s
redis SUCCESS 10.257s
valkey SUCCESS 6.425s
oceanbase SUCCESS 10.306s
firestore SUCCESS 6.829s
looker SUCCESS 1m45.253s
cloud-sql SUCCESS 4.158s
tidb SUCCESS 8.508s
firebird SUCCESS 1m9.142s
clickhouse SUCCESS 5.621s
trino SUCCESS 5.181s
yugabytedb SUCCESS 12.164s
cassandra SUCCESS 11.676s
oracle SUCCESS 8.554s
serverless-spark SUCCESS 5.948s

Details

starting build "bb91c095-1e2b-4eac-83ec-71cb33c73d94"

FETCHSOURCE
From https://github.com/googleapis/genai-toolbox
 * branch            607807f0980bcb95de15ba586da401e3a75c740b -> FETCH_HEAD
HEAD is now at 607807f Merge branch 'main' into feature/1792-Excluded-Value
GitCommit:
607807f0980bcb95de15ba586da401e3a75c740b
SETUPBUILD
BUILD
Starting Step #0 - "install-dependencies"
Step #0 - "install-dependencies": Pulling image: golang:1
Step #0 - "install-dependencies": 1: Pulling from library/golang
Step #0 - "install-dependencies": 795dbedde24d: Pulling fs layer
Step #0 - "install-dependencies": 89d573bf42b3: Pulling fs layer
Step #0 - "install-dependencies": 26dfe2fac1c4: Pulling fs layer
Step #0 - "install-dependencies": 1c596538aa11: Pulling fs layer
Step #0 - "install-dependencies": 91631faa732a: Pulling fs layer
Step #0 - "install-dependencies": 923089182cb9: Pulling fs layer
Step #0 - "install-dependencies": 4f4fb700ef54: Pulling fs layer
Step #0 - "install-dependencies": 1c596538aa11: Waiting
Step #0 - "install-dependencies": 91631faa732a: Waiting
Step #0 - "install-dependencies": 923089182cb9: Waiting
Step #0 - "install-dependencies": 4f4fb700ef54: Waiting
Step #0 - "install-dependencies": 89d573bf42b3: Verifying Checksum
Step #0 - "install-dependencies": 89d573bf42b3: Download complete
Step #0 - "install-dependencies": 795dbedde24d: Verifying Checksum
Step #0 - "install-dependencies": 795dbedde24d: Download complete
Step #0 - "install-dependencies": 26dfe2fac1c4: Verifying Checksum
Step #0 - "install-dependencies": 26dfe2fac1c4: Download complete
Step #0 - "install-dependencies": 923089182cb9: Verifying Checksum
Step #0 - "install-dependencies": 923089182cb9: Download complete
Step #0 - "install-dependencies": 4f4fb700ef54: Download complete
Step #0 - "install-dependencies": 91631faa732a: Verifying Checksum
Step #0 - "install-dependencies": 91631faa732a: Download complete
Step #0 - "install-dependencies": 1c596538aa11: Verifying Checksum
Step #0 - "install-dependencies": 1c596538aa11: Download complete
Step #0 - "install-dependencies": 795dbedde24d: Pull complete
Step #0 - "install-dependencies": 89d573bf42b3: Pull complete
Step #0 - "install-dependencies": 26dfe2fac1c4: Pull complete
Step #0 - "install-dependencies": 1c596538aa11: Pull complete
Step #0 - "install-dependencies": 91631faa732a: Pull complete
Step #0 - "install-dependencies": 923089182cb9: Pull complete
Step #0 - "install-dependencies": 4f4fb700ef54: Pull complete
Step #0 - "install-dependencies": Digest: sha256:6bac879c5b77e0fc9c556a5ed8920e89dab1709bd510a854903509c828f67f96
Step #0 - "install-dependencies": Status: Downloaded newer image for golang:1
Step #0 - "install-dependencies": docker.io/library/golang:1
Step #0 - "install-dependencies": go: -d flag is deprecated. -d=true is a no-op
Step #0 - "install-dependencies": go: downloading google.golang.org/api v0.251.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/trace v1.38.0
Step #0 - "install-dependencies": go: downloading golang.org/x/oauth2 v0.32.0
Step #0 - "install-dependencies": go: downloading github.com/goccy/go-yaml v1.18.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/chi/v5 v5.2.3
Step #0 - "install-dependencies": go: downloading github.com/fsnotify/fsnotify v1.9.0
Step #0 - "install-dependencies": go: downloading github.com/neo4j/neo4j-go-driver/v5 v5.28.4
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/alloydbconn v1.15.5
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/dataplex v1.27.1
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgx/v5 v5.7.6
Step #0 - "install-dependencies": go: downloading github.com/valkey-io/valkey-go v1.0.67
Step #0 - "install-dependencies": go: downloading github.com/redis/go-redis/v9 v9.16.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/cloudsqlconn v1.18.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/dataproc/v2 v2.14.1
Step #0 - "install-dependencies": go: downloading github.com/yugabyte/pgx/v5 v5.5.3-yb-5
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/firestore v1.20.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/spanner v1.86.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigquery v1.71.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/geminidataanalytics v0.2.1
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0
Step #0 - "install-dependencies": go: downloading go.mongodb.org/mongo-driver v1.17.4
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigtable v1.40.1
Step #0 - "install-dependencies": go: downloading github.com/gocql/gocql v1.7.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/httplog/v2 v2.1.1
Step #0 - "install-dependencies": go: downloading github.com/go-playground/validator/v10 v10.28.0
Step #0 - "install-dependencies": go: downloading github.com/microsoft/go-mssqldb v1.9.3
Step #0 - "install-dependencies": go: downloading modernc.org/sqlite v1.39.1
Step #0 - "install-dependencies": go: downloading github.com/go-sql-driver/mysql v1.9.3
Step #0 - "install-dependencies": go: downloading github.com/sijms/go-ora/v2 v2.9.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel v1.38.0
Step #0 - "install-dependencies": go: downloading github.com/looker-open-source/sdk-codegen/go v0.25.18
Step #0 - "install-dependencies": go: downloading github.com/trinodb/trino-go-client v0.329.0
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.29.0
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocb/v2 v2.11.1
Step #0 - "install-dependencies": go: downloading github.com/go-chi/render v1.0.3
Step #0 - "install-dependencies": go: downloading github.com/ClickHouse/clickhouse-go/v2 v2.40.3
Step #0 - "install-dependencies": go: downloading github.com/couchbase/tools-common/http v1.0.9
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/autoprop v0.62.0
Step #0 - "install-dependencies": go: downloading github.com/google/uuid v1.6.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/metric v1.38.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/sdk/metric v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/sdk v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/cobra v1.10.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/monitoring v1.24.2
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0
Step #0 - "install-dependencies": go: downloading github.com/googleapis/gax-go/v2 v2.15.0
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20251002232023-7c0ddcbb5797
Step #0 - "install-dependencies": go: downloading google.golang.org/grpc v1.75.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go v0.121.6
Step #0 - "install-dependencies": go: downloading google.golang.org/protobuf v1.36.10
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/cenkalti/backoff/v5 v5.0.3
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto v0.0.0-20251007200510-49b9836ed3ff
Step #0 - "install-dependencies": go: downloading github.com/thlib/go-timezone-local v0.0.7
Step #0 - "install-dependencies": go: downloading github.com/json-iterator/go v1.1.12
Step #0 - "install-dependencies": go: downloading github.com/google/go-cmp v0.7.0
Step #0 - "install-dependencies": go: downloading github.com/ajg/form v1.5.1
Step #0 - "install-dependencies": go: downloading golang.org/x/sys v0.36.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/trace v1.11.6
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20251002232023-7c0ddcbb5797
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/compute/metadata v0.9.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/aws v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/b3 v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/jaeger v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/ot v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/gokrb5/v8 v8.4.4
Step #0 - "install-dependencies": go: downloading github.com/klauspost/compress v1.18.0
Step #0 - "install-dependencies": go: downloading github.com/pierrec/lz4 v2.6.1+incompatible
Step #0 - "install-dependencies": go: downloading gopkg.in/ini.v1 v1.67.0
Step #0 - "install-dependencies": go: downloading github.com/couchbase/tools-common/errors v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78
Step #0 - "install-dependencies": go: downloading golang.org/x/crypto v0.42.0
Step #0 - "install-dependencies": go: downloading filippo.io/edwards25519 v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/inconshreveable/mousetrap v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/pflag v1.0.9
Step #0 - "install-dependencies": go: downloading github.com/golang/snappy v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed
Step #0 - "install-dependencies": go: downloading gopkg.in/inf.v0 v0.9.1
Step #0 - "install-dependencies": go: downloading github.com/gabriel-vasile/mimetype v1.4.10
Step #0 - "install-dependencies": go: downloading github.com/go-playground/universal-translator v0.18.1
Step #0 - "install-dependencies": go: downloading github.com/leodido/go-urn v1.4.0
Step #0 - "install-dependencies": go: downloading golang.org/x/text v0.29.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/iam v1.5.2
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/longrunning v0.6.7
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/alloydb v1.18.0
Step #0 - "install-dependencies": go: downloading golang.org/x/net v0.44.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth v0.16.5
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth/oauth2adapt v0.2.8
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/detectors/gcp v1.36.0
Step #0 - "install-dependencies": go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
Step #0 - "install-dependencies": go: downloading github.com/modern-go/reflect2 v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocbcore/v10 v10.8.1
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocbcoreps v0.1.4
Step #0 - "install-dependencies": go: downloading github.com/couchbase/goprotostellar v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/couchbaselabs/gocbconnstr/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading go.uber.org/zap v1.27.0
Step #0 - "install-dependencies": go: downloading golang.org/x/time v0.13.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/puddle/v2 v2.2.2
Step #0 - "install-dependencies": go: downloading github.com/cespare/xxhash/v2 v2.3.0
Step #0 - "install-dependencies": go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
Step #0 - "install-dependencies": go: downloading github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9
Step #0 - "install-dependencies": go: downloading github.com/golang-sql/sqlexp v0.1.0
Step #0 - "install-dependencies": go: downloading go.uber.org/multierr v1.11.0
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3
Step #0 - "install-dependencies": go: downloading go.opencensus.io v0.24.0
Step #0 - "install-dependencies": go: downloading github.com/ClickHouse/ch-go v0.68.0
Step #0 - "install-dependencies": go: downloading github.com/andybalholm/brotli v1.2.0
Step #0 - "install-dependencies": go: downloading github.com/apache/arrow/go/v15 v15.0.2
Step #0 - "install-dependencies": go: downloading golang.org/x/sync v0.17.0
Step #0 - "install-dependencies": go: downloading github.com/go-playground/locales v0.14.1
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/dnsutils/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/gofork v1.7.6
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/goidentity/v6 v6.0.1
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0
Step #0 - "install-dependencies": go: downloading github.com/go-logr/logr v1.4.3
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/proto/otlp v1.7.0
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgpassfile v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761
Step #0 - "install-dependencies": go: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0
Step #0 - "install-dependencies": go: downloading go.yaml.in/yaml/v3 v3.0.4
Step #0 - "install-dependencies": go: downloading github.com/shopspring/decimal v1.4.0
Step #0 - "install-dependencies": go: downloading github.com/paulmach/orb v0.11.1
Step #0 - "install-dependencies": go: downloading github.com/hashicorp/go-uuid v1.0.3
Step #0 - "install-dependencies": go: downloading github.com/google/s2a-go v0.1.9
Step #0 - "install-dependencies": go: downloading github.com/googleapis/enterprise-certificate-proxy v0.3.6
Step #0 - "install-dependencies": go: downloading github.com/go-logr/stdr v1.2.2
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/auto/sdk v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/gorilla/websocket v1.5.3
Step #0 - "install-dependencies": go: downloading github.com/felixge/httpsnoop v1.0.4
Step #0 - "install-dependencies": go: downloading github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/aescts/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/rpc/v2 v2.0.3
Step #0 - "install-dependencies": go: downloading github.com/envoyproxy/go-control-plane/envoy v1.32.4
Step #0 - "install-dependencies": go: downloading github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
Step #0 - "install-dependencies": go: downloading github.com/spiffe/go-spiffe/v2 v2.5.0
Step #0 - "install-dependencies": go: downloading github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443
Step #0 - "install-dependencies": go: downloading github.com/go-jose/go-jose/v4 v4.1.1
Step #0 - "install-dependencies": go: downloading github.com/go-faster/city v1.0.1
Step #0 - "install-dependencies": go: downloading github.com/go-faster/errors v0.7.1
Step #0 - "install-dependencies": go: downloading github.com/pierrec/lz4/v4 v4.1.22
Step #0 - "install-dependencies": go: downloading github.com/zeebo/errs v1.4.0
Step #0 - "install-dependencies": go: downloading github.com/segmentio/asm v1.2.0
Step #0 - "install-dependencies": go: downloading cel.dev/expr v0.24.0
Step #0 - "install-dependencies": go: downloading github.com/envoyproxy/protoc-gen-validate v1.2.1
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/scram v1.1.2
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/stringprep v1.0.4
Step #0 - "install-dependencies": go: downloading github.com/montanaflynn/stats v0.7.1
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/pbkdf2 v1.0.0
Step #0 - "install-dependencies": go: downloading golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b
Step #0 - "install-dependencies": go: downloading golang.org/x/tools v0.36.0
Step #0 - "install-dependencies": go: downloading golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
Step #0 - "install-dependencies": go: downloading github.com/goccy/go-json v0.10.5
Step #0 - "install-dependencies": go: downloading github.com/google/flatbuffers v25.2.10+incompatible
Step #0 - "install-dependencies": go: downloading github.com/zeebo/xxh3 v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/klauspost/cpuid/v2 v2.2.11
Step #0 - "install-dependencies": go: downloading github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10
Step #0 - "install-dependencies": go: downloading golang.org/x/mod v0.27.0
Step #0 - "install-dependencies": go: downloading modernc.org/libc v1.66.10
Step #0 - "install-dependencies": go: downloading github.com/dustin/go-humanize v1.0.1
Step #0 - "install-dependencies": go: downloading github.com/mattn/go-isatty v0.0.20
Step #0 - "install-dependencies": go: downloading github.com/ncruces/go-strftime v0.1.9
Step #0 - "install-dependencies": go: downloading modernc.org/memory v1.11.0
Step #0 - "install-dependencies": go: downloading modernc.org/mathutil v1.7.1
Step #0 - "install-dependencies": go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
Finished Step #0 - "install-dependencies"
Starting Step #1 - "compile-test-binary"
Step #1 - "compile-test-binary": Already have image (with digest): golang:1
Step #1 - "compile-test-binary": go: downloading github.com/nakagami/firebirdsql v0.9.15
Step #1 - "compile-test-binary": go: downloading github.com/nakagami/chacha20 v0.1.0
Step #1 - "compile-test-binary": go: downloading github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
Step #1 - "compile-test-binary": go: downloading gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b
Step #1 - "compile-test-binary": ?   	github.com/googleapis/genai-toolbox/tests	[no test files]
Finished Step #1 - "compile-test-binary"
Starting Step #9 - "dataform"
Starting Step #31 - "cassandra"
Starting Step #23 - "firestore"
Starting Step #20 - "redis"
Starting Step #19 - "couchbase"
Starting Step #15 - "mysql"
Starting Step #32 - "oracle"
Starting Step #22 - "oceanbase"
Starting Step #2 - "cloud-sql-pg"
Step #9 - "dataform": Already have image (with digest): golang:1
Starting Step #5 - "alloydb-ai-nl"
Starting Step #6 - "bigtable"
Starting Step #7 - "bigquery"
Step #31 - "cassandra": Already have image (with digest): golang:1
Starting Step #8 - "dataplex"
Starting Step #3 - "alloydb"
Starting Step #28 - "clickhouse"
Starting Step #30 - "yugabytedb"
Starting Step #29 - "trino"
Starting Step #24 - "looker"
Starting Step #18 - "sqlite"
Starting Step #17 - "http"
Starting Step #16 - "mssql"
Starting Step #10 - "postgres"
Starting Step #14 - "cloud-sql-mysql"
Starting Step #13 - "cloud-sql-mssql"
Starting Step #12 - "neo4j"
Starting Step #11 - "spanner"
Starting Step #26 - "tidb"
Starting Step #21 - "valkey"
Starting Step #27 - "firebird"
Starting Step #33 - "serverless-spark"
Starting Step #4 - "alloydb-pg"
Starting Step #25 - "cloud-sql"
Step #20 - "redis": Already have image (with digest): golang:1
Step #5 - "alloydb-ai-nl": Already have image (with digest): golang:1
Step #23 - "firestore": Already have image (with digest): golang:1
Step #15 - "mysql": Already have image (with digest): golang:1
Step #19 - "couchbase": Already have image (with digest): golang:1
Step #2 - "cloud-sql-pg": Already have image (with digest): golang:1
Step #32 - "oracle": Already have image (with digest): golang:1
Step #4 - "alloydb-pg": Already have image (with digest): golang:1
Step #22 - "oceanbase": Already have image (with digest): golang:1
Step #8 - "dataplex": Already have image (with digest): golang:1
Step #30 - "yugabytedb": Already have image (with digest): golang:1
Step #6 - "bigtable": Already have image (with digest): golang:1
Step #13 - "cloud-sql-mssql": Already have image (with digest): golang:1
Step #12 - "neo4j": Already have image (with digest): golang:1
Step #7 - "bigquery": Already have image (with digest): golang:1
Step #28 - "clickhouse": Already have image (with digest): golang:1
Step #3 - "alloydb": Already have image (with digest): golang:1
Step #18 - "sqlite": Already have image (with digest): golang:1
Step #33 - "serverless-spark": Already have image (with digest): golang:1
Step #17 - "http": Already have image (with digest): golang:1
Step #10 - "postgres": Already have image (with digest): golang:1
Step #26 - "tidb": Already have image (with digest): golang:1
Step #25 - "cloud-sql": Already have image (with digest): golang:1
Step #24 - "looker": Already have image (with digest): golang:1
Step #14 - "cloud-sql-mysql": Already have image (with digest): golang:1
Step #27 - "firebird": Already have image (with digest): golang:1
Step #16 - "mssql": Already have image (with digest): golang:1
Step #21 - "valkey": Already have image (with digest): golang:1
Step #29 - "trino": Already have image (with digest): golang:1
Step #11 - "spanner": Already have image (with digest): golang:1
Step #9 - "dataform": Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
Step #9 - "dataform": Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Step #9 - "dataform": Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Step #9 - "dataform": Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9669 kB]
Step #9 - "dataform": Get:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages [5412 B]
Step #9 - "dataform": Get:6 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [68.2 kB]
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/get_my-simple-tool
Step #3 - "alloydb": 2025-10-29T22:49:40.115276177Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/" method: "GET" path: "/api/tool/my-simple-tool/" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000001"} httpResponse: {status: 200 bytes: 505 elapsed: 0.520449} 
Step #3 - "alloydb": 2025-10-29T22:49:40.117112457Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000002"} httpResponse: {status: 200 bytes: 196 elapsed: 0.558189} 
Step #3 - "alloydb": 2025-10-29T22:49:40.118209516Z INFO Response: 202 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000003"} httpResponse: {status: 202 bytes: 0 elapsed: 0.278060} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/MCP_Invoke_my-param-tool
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints
Step #3 - "alloydb": 2025-10-29T22:49:40.28494218Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000004"} httpResponse: {status: 200 bytes: 2500 elapsed: 165.714344} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/MCP_Invoke_my-fail-tool
Step #3 - "alloydb": 2025-10-29T22:49:40.286468089Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000005"} httpResponse: {status: 200 bytes: 146 elapsed: 0.351639} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/MCP_Invoke_invalid_tool
Step #3 - "alloydb": 2025-10-29T22:49:40.287775669Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000006"} httpResponse: {status: 200 bytes: 149 elapsed: 0.293100} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/MCP_Invoke_tool_without_required_parameters
Step #3 - "alloydb": 2025-10-29T22:49:40.289033888Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000007"} httpResponse: {status: 200 bytes: 155 elapsed: 0.327410} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/MCP_Invoke_my-auth-required-tool
Step #3 - "alloydb": 2025-10-29T22:49:40.290236598Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000008"} httpResponse: {status: 200 bytes: 165 elapsed: 0.257090} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_for_all_locations
Step #8 - "dataplex": === RUN   TestDataplexToolEndpoints
Step #9 - "dataform": Fetched 9973 kB in 1s (11.4 MB/s)
Step #29 - "trino": === RUN   TestTrinoToolEndpoints
Step #3 - "alloydb": 2025-10-29T22:49:40.639725399Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000009"} httpResponse: {status: 200 bytes: 4801 elapsed: 348.497572} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_specific_location
Step #3 - "alloydb": 2025-10-29T22:49:40.706441169Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000010"} httpResponse: {status: 200 bytes: 2422 elapsed: 64.180691} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_missing_project
Step #3 - "alloydb": 2025-10-29T22:49:40.708471168Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58326" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000011"} httpResponse: {status: 400 bytes: 103 elapsed: 0.332420} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_non-existent_location
Step #3 - "alloydb": 2025-10-29T22:49:40.736276625Z ERROR Response: 500 Server Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58328" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000012"} httpResponse: {status: 500 bytes: 218 elapsed: 26.467638} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_non-existent_project
Step #33 - "serverless-spark": === RUN   TestServerlessSparkToolEndpoints
Step #3 - "alloydb": 2025-10-29T22:49:40.795322028Z ERROR Response: 500 Server Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58344" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000013"} httpResponse: {status: 500 bytes: 1821 elapsed: 57.754553} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_empty_project
Step #3 - "alloydb": 2025-10-29T22:49:40.817521428Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58348" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000014"} httpResponse: {status: 400 bytes: 502 elapsed: 20.792970} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_clusters_empty_location
Step #29 - "trino": === RUN   TestTrinoToolEndpoints/get_my-simple-tool
Step #29 - "trino": 2025-10-29T22:49:40.83503067Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/" method: "GET" path: "/api/tool/my-simple-tool/" remoteIP: "127.0.0.1:58366" proto: "HTTP/1.1" requestID: "44fdb67624d0/N6aaZwZaVx-000001"} httpResponse: {status: 200 bytes: 168 elapsed: 0.413360} 
Step #25 - "cloud-sql": === RUN   TestCreateDatabaseToolEndpoints
Step #3 - "alloydb": 2025-10-29T22:49:40.844396526Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-clusters/invoke" method: "POST" path: "/api/tool/alloydb-list-clusters/invoke" remoteIP: "127.0.0.1:58354" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000015"} httpResponse: {status: 400 bytes: 478 elapsed: 25.426688} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_instances_for_a_specific_cluster_and_location
Step #3 - "alloydb": 2025-10-29T22:49:40.906724687Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/alloydb-list-instances/invoke" method: "POST" path: "/api/tool/alloydb-list-instances/invoke" remoteIP: "127.0.0.1:58382" proto: "HTTP/1.1" requestID: "329b650d4df1/2QwuAA9F4V-000016"} httpResponse: {status: 200 bytes: 1086 elapsed: 60.633663} 
Step #3 - "alloydb": === RUN   TestAlloyDBToolEndpoints/list_instances_for_all_clusters_and_specific_location
Step #29 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-simple-tool
Step #25 - "cloud-sql": === RUN   TestCreateDatabaseToolEndpoints/successful_database_creation
Step #25 - "cloud-sql": 2025-10-29T22:49:40.916979163Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-database/invoke" method: "POST" path: "/api/tool/create-database/invoke" remoteIP: "127.0.0.1:58398" proto: "HTTP/1.1" requestID: "91bca92fc9ab/VPIzQC5pzg-000001"} httpResponse: {sta
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%22bb91c095-1e2b-4eac-83ec-71cb33c73d94%22+AND+resource.labels.build_trigger_id%3D%22785da918-06f1-47bb-860c-fbabc80b5977%22&project=toolbox-testing-438616.]
...
Endpoints/invoke_list_tables_missing_unique_indexes_table_with_no_key_at_all_will_show
Step #15 - "mysql":     tool.go:1633: Creating table: CREATE TABLE t04_no_key_table (c1 INT, c2 INT, c3 CHAR(8))
Step #9 - "dataform": Unpacking libxcb-dri3-0:amd64 (1.17.0-2+b1) ...
Step #14 - "cloud-sql-mysql": --- PASS: TestCloudSQLMySQLToolEndpoints (17.31s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/get_my-simple-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-simple-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-tool (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-tool-by-id_with_nil_response (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-tool-by-name_with_nil_response (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-tool_without_parameters (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-array-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-tool_with_auth_token (0.02s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-tool_with_invalid_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-tool_without_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-required-tool_with_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-client-auth-tool_with_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-client-auth-tool_without_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-client-auth-tool_with_invalid_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-tool (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_invalid_tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-tool_without_parameters (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool_without_access_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool_with_invalid_access_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/MCP_Invoke_my-fail-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-exec-sql-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-exec-sql-tool_create_table (0.05s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-exec-sql-tool_select_table (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-exec-sql-tool_drop_table (0.03s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_my-exec-sql-tool_without_body (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_with_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_with_invalid_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_without_auth_token (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_create-table-templateParams-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_insert-table-templateParams-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_insert-table-templateParams-tool#01 (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_select-templateParams-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_select-templateParams-combined-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_select-templateParams-combined-tool_with_no_results (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_select-fields-templateParams-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_select-filter-templateParams-combined-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_drop-table-templateParams-tool (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_for_all_tables_detailed_output (0.10s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_detailed_output (0.08s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_simple_output (0.02s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_with_multiple_table_names (0.09s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_with_one_existing_and_one_non-existent_table (0.08s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_tables_with_non-existent_table (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_active_queries_when_the_system_is_idle (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_active_queries_when_there_is_1_ongoing_but_lower_than_the_threshold (1.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_active_queries_when_1_ongoing_query_should_show_up (5.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLToolEndpoints/invoke_list_active_queries_when_2_ongoing_query_should_show_up (3.01s)
Step #14 - "cloud-sql-mysql": === RUN   TestCloudSQLMySQLIpConnection
Step #14 - "cloud-sql-mysql": === RUN   TestCloudSQLMySQLIpConnection/public_ip
Step #15 - "mysql": 2025-10-29T22:50:01.416932029Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000044"} httpResponse: {status: 200 bytes: 169 elapsed: 6.034557} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_both_pk_&_uk_will_not_show
Step #15 - "mysql":     tool.go:1633: Creating table: CREATE TABLE t05 (c1 INT PRIMARY KEY, c2 INT, c3 CHAR(8), UNIQUE(c2))
Step #14 - "cloud-sql-mysql": === RUN   TestCloudSQLMySQLIpConnection/private_ip
Step #14 - "cloud-sql-mysql": --- PASS: TestCloudSQLMySQLIpConnection (0.04s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLIpConnection/public_ip (0.02s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCloudSQLMySQLIpConnection/private_ip (0.02s)
Step #14 - "cloud-sql-mysql": === RUN   TestCreateInstanceToolEndpoints
Step #14 - "cloud-sql-mysql": === RUN   TestCreateInstanceToolEndpoints/successful_creation_-_production
Step #14 - "cloud-sql-mysql": 2025-10-29T22:50:01.457020281Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-instance-prod/invoke" method: "POST" path: "/api/tool/create-instance-prod/invoke" remoteIP: "127.0.0.1:56274" proto: "HTTP/1.1" requestID: "b6c14d718f89/yOGXpWyU0e-000040"} httpResponse: {status: 200 bytes: 55 elapsed: 4.283198} 
Step #14 - "cloud-sql-mysql": === RUN   TestCreateInstanceToolEndpoints/successful_creation_-_development
Step #14 - "cloud-sql-mysql": 2025-10-29T22:50:01.45904762Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-instance-dev/invoke" method: "POST" path: "/api/tool/create-instance-dev/invoke" remoteIP: "127.0.0.1:56274" proto: "HTTP/1.1" requestID: "b6c14d718f89/yOGXpWyU0e-000041"} httpResponse: {status: 200 bytes: 55 elapsed: 1.124979} 
Step #14 - "cloud-sql-mysql": === RUN   TestCreateInstanceToolEndpoints/missing_required_parameter
Step #14 - "cloud-sql-mysql": 2025-10-29T22:50:01.46023864Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-instance-prod/invoke" method: "POST" path: "/api/tool/create-instance-prod/invoke" remoteIP: "127.0.0.1:56274" proto: "HTTP/1.1" requestID: "b6c14d718f89/yOGXpWyU0e-000042"} httpResponse: {status: 400 bytes: 103 elapsed: 0.188530} 
Step #15 - "mysql": 2025-10-29T22:50:01.467535217Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000045"} httpResponse: {status: 200 bytes: 169 elapsed: 5.150228} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_uk_&_nk_will_not_show
Step #15 - "mysql":     tool.go:1633: Creating table: CREATE TABLE t06 (c1 INT, c2 INT, c3 CHAR(8), UNIQUE(c2), INDEX(c3))
Step #14 - "cloud-sql-mysql": --- PASS: TestCreateInstanceToolEndpoints (0.03s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCreateInstanceToolEndpoints/successful_creation_-_production (0.01s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCreateInstanceToolEndpoints/successful_creation_-_development (0.00s)
Step #14 - "cloud-sql-mysql":     --- PASS: TestCreateInstanceToolEndpoints/missing_required_parameter (0.00s)
Step #14 - "cloud-sql-mysql": PASS
Step #14 - "cloud-sql-mysql": coverage: 6.6% of statements in ./internal/sources/..., ./internal/tools/...
Step #15 - "mysql": 2025-10-29T22:50:01.52548401Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000046"} httpResponse: {status: 200 bytes: 169 elapsed: 4.950227} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_pk_&_nk_will_not_show
Step #15 - "mysql":     tool.go:1633: Creating table: CREATE TABLE t07 (c1 INT PRIMARY KEY, c2 INT, c3 CHAR(8), INDEX(c3))
Step #15 - "mysql": 2025-10-29T22:50:01.56963991Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000047"} httpResponse: {status: 200 bytes: 169 elapsed: 4.847118} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_a_non-exist_database,_nothing_to_show
Step #15 - "mysql": 2025-10-29T22:50:01.574355748Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000048"} httpResponse: {status: 200 bytes: 18 elapsed: 3.828838} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_the_right_database,_show_everything
Step #15 - "mysql": 2025-10-29T22:50:01.579252046Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000049"} httpResponse: {status: 200 bytes: 169 elapsed: 4.290978} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_limited_output
Step #15 - "mysql": 2025-10-29T22:50:01.584702503Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_tables_missing_unique_indexes/invoke" method: "POST" path: "/api/tool/list_tables_missing_unique_indexes/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000050"} httpResponse: {status: 200 bytes: 96 elapsed: 4.522578} 
Step #15 - "mysql": === NAME  TestMySQLToolEndpoints
Step #15 - "mysql":     tool.go:1639: Dropping table: t07
Step #15 - "mysql":     tool.go:1639: Dropping table: t06
Step #15 - "mysql":     tool.go:1639: Dropping table: t05
Step #15 - "mysql":     tool.go:1639: Dropping table: t04_no_key_table
Step #9 - "dataform": Selecting previously unselected package libxcb-present0:amd64.
Step #9 - "dataform": Preparing to unpack .../142-libxcb-present0_1.17.0-2+b1_amd64.deb ...
Step #9 - "dataform": Unpacking libxcb-present0:amd64 (1.17.0-2+b1) ...
Step #15 - "mysql":     tool.go:1639: Dropping table: t03_non_unqiue_key_table
Step #15 - "mysql":     tool.go:1639: Dropping table: t02
Finished Step #2 - "cloud-sql-pg"
Step #9 - "dataform": Selecting previously unselected package libxcb-randr0:amd64.
Step #9 - "dataform": Preparing to unpack .../143-libxcb-randr0_1.17.0-2+b1_amd64.deb ...
Step #9 - "dataform": Unpacking libxcb-randr0:amd64 (1.17.0-2+b1) ...
Step #15 - "mysql":     tool.go:1639: Dropping table: t01
Step #9 - "dataform": Selecting previously unselected package libxcb-sync1:amd64.
Step #9 - "dataform": Preparing to unpack .../144-libxcb-sync1_1.17.0-2+b1_amd64.deb ...
Step #9 - "dataform": Unpacking libxcb-sync1:amd64 (1.17.0-2+b1) ...
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all,_no_data_free_threshold,_expected_to_have_2_results
Step #15 - "mysql": 2025-10-29T22:50:01.763237222Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000051"} httpResponse: {status: 200 bytes: 398 elapsed: 4.750818} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all,_no_data_free_threshold,_limit_to_1,_expected_to_have_1_results
Step #15 - "mysql": 2025-10-29T22:50:01.769788829Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000052"} httpResponse: {status: 200 bytes: 206 elapsed: 5.430038} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all_databases_and_1_specific_table_name,_no_data_free_threshold,_expected_to_have_1_result
Step #15 - "mysql": 2025-10-29T22:50:01.775360527Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000053"} httpResponse: {status: 200 bytes: 206 elapsed: 4.744268} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_database_and_1_specific_table_name,_no_data_free_threshold,_expected_to_have_1_result
Step #9 - "dataform": Selecting previously unselected package libxcb-xfixes0:amd64.
Step #9 - "dataform": Preparing to unpack .../145-libxcb-xfixes0_1.17.0-2+b1_amd64.deb ...
Step #15 - "mysql": 2025-10-29T22:50:01.780928194Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000054"} httpResponse: {status: 200 bytes: 207 elapsed: 4.729207} 
Step #9 - "dataform": Unpacking libxcb-xfixes0:amd64 (1.17.0-2+b1) ...
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_database_and_1_specific_table_name,_high_data_free_threshold,_expected_to_have_0_result
Step #15 - "mysql": 2025-10-29T22:50:01.786136402Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000055"} httpResponse: {status: 200 bytes: 18 elapsed: 4.210548} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_non-exist_database,_no_data_free_threshold,_expected_to_have_0_result
Step #15 - "mysql": 2025-10-29T22:50:01.791076189Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000056"} httpResponse: {status: 200 bytes: 18 elapsed: 4.194718} 
Step #15 - "mysql": === RUN   TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_non-exist_table,_no_data_free_threshold,_expected_to_have_0_result
Step #15 - "mysql": 2025-10-29T22:50:01.796073787Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list_table_fragmentation/invoke" method: "POST" path: "/api/tool/list_table_fragmentation/invoke" remoteIP: "127.0.0.1:59702" proto: "HTTP/1.1" requestID: "a973c40d4877/8xTjDHoxZy-000057"} httpResponse: {status: 200 bytes: 18 elapsed: 4.139948} 
Step #9 - "dataform": Selecting previously unselected package libxshmfence1:amd64.
Step #9 - "dataform": Preparing to unpack .../146-libxshmfence1_1.3.3-1_amd64.deb ...
Step #9 - "dataform": Unpacking libxshmfence1:amd64 (1.3.3-1) ...
Step #9 - "dataform": Selecting previously unselected package mesa-libgallium:amd64.
Step #9 - "dataform": Preparing to unpack .../147-mesa-libgallium_25.0.7-2_amd64.deb ...
Step #9 - "dataform": Unpacking mesa-libgallium:amd64 (25.0.7-2) ...
Step #15 - "mysql": --- PASS: TestMySQLToolEndpoints (17.66s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/get_my-simple-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-simple-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-tool-by-id_with_nil_response (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-tool-by-name_with_nil_response (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-tool_without_parameters (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-array-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-tool_with_auth_token (0.12s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-tool_with_invalid_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-tool_without_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-required-tool_with_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-client-auth-tool_with_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-client-auth-tool_without_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-client-auth-tool_with_invalid_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_invalid_tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-tool_without_parameters (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool_without_access_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-client-auth-tool_with_invalid_access_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/MCP_Invoke_my-fail-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-exec-sql-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-exec-sql-tool_create_table (0.05s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-exec-sql-tool_select_table (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-exec-sql-tool_drop_table (0.03s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_my-exec-sql-tool_without_body (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_with_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_with_invalid_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/Invoke_my-auth-exec-sql-tool_without_auth_token (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_create-table-templateParams-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_insert-table-templateParams-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_insert-table-templateParams-tool#01 (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_select-templateParams-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_select-templateParams-combined-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_select-templateParams-combined-tool_with_no_results (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_select-fields-templateParams-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_select-filter-templateParams-combined-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_drop-table-templateParams-tool (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_for_all_tables_detailed_output (0.14s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_detailed_output (0.12s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_simple_output (0.02s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_with_multiple_table_names (0.12s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_with_one_existing_and_one_non-existent_table (0.12s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_with_non-existent_table (0.02s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_active_queries_when_the_system_is_idle (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_active_queries_when_there_is_1_ongoing_but_lower_than_the_threshold (1.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_active_queries_when_1_ongoing_query_should_show_up (5.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_active_queries_when_2_ongoing_query_should_show_up (3.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_when_nothing_to_be_found (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_pk_table_will_not_show (0.04s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_uk_table_will_not_show (0.05s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_non-unique_key_only_table_will_show (0.05s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_with_no_key_at_all_will_show (0.04s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_both_pk_&_uk_will_not_show (0.05s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_uk_&_nk_will_not_show (0.06s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_table_w/_pk_&_nk_will_not_show (0.04s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_a_non-exist_database,_nothing_to_show (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_the_right_database,_show_everything (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_tables_missing_unique_indexes_with_limited_output (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all,_no_data_free_threshold,_expected_to_have_2_results (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all,_no_data_free_threshold,_limit_to_1,_expected_to_have_1_results (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_all_databases_and_1_specific_table_name,_no_data_free_threshold,_expected_to_have_1_result (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_database_and_1_specific_table_name,_no_data_free_threshold,_expected_to_have_1_result (0.01s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_database_and_1_specific_table_name,_high_data_free_threshold,_expected_to_have_0_result (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_non-exist_database,_no_data_free_threshold,_expected_to_have_0_result (0.00s)
Step #15 - "mysql":     --- PASS: TestMySQLToolEndpoints/invoke_list_table_fragmentation_on_1_non-exist_table,_no_data_free_threshold,_expected_to_have_0_result (0.00s)
Step #15 - "mysql": PASS
Step #15 - "mysql": coverage: 6.5% of statements in ./internal/sources/..., ./internal/tools/...
Step #7 - "bigquery": 2025-10-29T22:50:01.947509288Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:56270" proto: "HTTP/1.1" requestID: "f016c680a61b/yOkcTSQy03-000019"} httpResponse: {status: 200 bytes: 164 elapsed: 763.272823} 
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints/MCP_Invoke_invalid_tool
Step #7 - "bigquery": 2025-10-29T22:50:01.948601008Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:56270" proto: "HTTP/1.1" requestID: "f016c680a61b/yOkcTSQy03-000020"} httpResponse: {status: 200 bytes: 131 elapsed: 0.278190} 
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints/MCP_Invoke_my-tool_without_parameters
Step #7 - "bigquery": 2025-10-29T22:50:01.949825257Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:56270" proto: "HTTP/1.1" requestID: "f016c680a61b/yOkcTSQy03-000021"} httpResponse: {status: 200 bytes: 149 elapsed: 0.357430} 
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints/MCP_Invoke_my-tool_with_insufficient_parameters
Step #7 - "bigquery": 2025-10-29T22:50:01.950836967Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:56270" proto: "HTTP/1.1" requestID: "f016c680a61b/yOkcTSQy03-000022"} httpResponse: {status: 200 bytes: 156 elapsed: 0.258780} 
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints/MCP_Invoke_my-auth-required-tool
Step #9 - "dataform": Selecting previously unselected package libgbm1:amd64.
Step #9 - "dataform": Preparing to unpack .../148-libgbm1_25.0.7-2_amd64.deb ...
Step #9 - "dataform": Unpacking libgbm1:amd64 (25.0.7-2) ...
Step #9 - "dataform": Selecting previously unselected package libwayland-client0:amd64.
Step #9 - "dataform": Preparing to unpack .../149-libwayland-client0_1.23.1-3_amd64.deb ...
Step #9 - "dataform": Unpacking libwayland-client0:amd64 (1.23.1-3) ...
Step #9 - "dataform": Selecting previously unselected package libxcb-shm0:amd64.
Step #9 - "dataform": Preparing to unpack .../150-libxcb-shm0_1.17.0-2+b1_amd64.deb ...
Step #9 - "dataform": Unpacking libxcb-shm0:amd64 (1.17.0-2+b1) ...
Step #9 - "dataform": Selecting previously unselected package libegl-mesa0:amd64.

Build Log: https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%22bb91c095-1e2b-4eac-83ec-71cb33c73d94%22+AND+resource.labels.build_trigger_id%3D%22785da918-06f1-47bb-860c-fbabc80b5977%22&project=toolbox-testing-438616