all.bash,internal: force DB testing in CI
If the environment variable GO_DISCOVERY_TESTDB is "true" wherever we
would skip DB tests, fail instead.
Set it to "true" in all.bash.
Fixes golang/go#39713.
Change-Id: I80fe27578a05610e29cc3ad9f6d477c9768fd51a
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/239257
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/all.bash b/all.bash
index 0da7b30..f828f33 100755
--- a/all.bash
+++ b/all.bash
@@ -157,7 +157,7 @@
"")
standard_linters
runcmd go mod tidy
- runcmd go test ./...
+ runcmd env GO_DISCOVERY_TESTDB=true go test ./...
# To test internal/secrets, set GO_DISCOVERY_SECRETS_BUCKET and GO_DISCOVERY_KMS_KEY_NAME
# to appropriate test values.
runcmd go test ./internal/secrets
@@ -166,7 +166,7 @@
# Similar to the no-arg mode, but omit actions that require GCP
# permissions or that don't test the code.
standard_linters
- runcmd go test -race -count=1 ./...
+ runcmd env GO_DISCOVERY_TESTDB=true go test -race -count=1 ./...
;;
lint) standard_linters ;;
headers) check_headers ;;
diff --git a/internal/database/database.go b/internal/database/database.go
index d13973d..4c8aff1 100644
--- a/internal/database/database.go
+++ b/internal/database/database.go
@@ -138,7 +138,6 @@
//
// If the isolation level requires it, Transact will retry the transaction upon
// serialization failure, so txFunc may be called more than once.
-
func (db *DB) Transact(ctx context.Context, iso sql.IsolationLevel, txFunc func(*DB) error) (err error) {
defer derrors.Wrap(&err, "Transact(%s)", iso)
// For the levels which require retry, see
diff --git a/internal/database/database_test.go b/internal/database/database_test.go
index 3e11f6e..68a9090 100644
--- a/internal/database/database_test.go
+++ b/internal/database/database_test.go
@@ -29,7 +29,7 @@
const dbName = "discovery_postgres_test"
if err := dbtest.CreateDBIfNotExists(dbName); err != nil {
- if errors.Is(err, derrors.NotFound) {
+ if errors.Is(err, derrors.NotFound) && os.Getenv("GO_DISCOVERY_TESTDB") != "true" {
log.Printf("SKIPPING: could not connect to DB (see doc/postgres.md to set up): %v", err)
return
}
diff --git a/internal/postgres/test_helper.go b/internal/postgres/test_helper.go
index 5b3b0cd..0e8c421 100644
--- a/internal/postgres/test_helper.go
+++ b/internal/postgres/test_helper.go
@@ -132,7 +132,7 @@
database.QueryLoggingDisabled = true
db, err := SetupTestDB(dbName)
if err != nil {
- if errors.Is(err, derrors.NotFound) {
+ if errors.Is(err, derrors.NotFound) && os.Getenv("GO_DISCOVERY_TESTDB") != "true" {
log.Printf("SKIPPING: could not connect to DB (see doc/postgres.md to set up): %v", err)
return
}