test: honour -short in Docker-backed TestMain and cabana list-service fixture

TestMain scanned os.Args for a literal -test.short, but go test passes
-test.short=true, so beachcomber, conga, lagoon and lighthouse started a
Postgres container even under -short. Parse the flags and use
testing.Short() instead; skip cabana's newListService fixture under -short
like adminGorm already does.
This commit is contained in:
2026-10-11 14:43:40 +02:00
parent 73af414793
commit 7ef2e4f6cb
5 changed files with 31 additions and 20 deletions

View File

@@ -3,6 +3,7 @@ package beachcomber
import (
"context"
"database/sql"
"flag"
"fmt"
"net/url"
"os"
@@ -42,13 +43,14 @@ func TestMain(m *testing.M) {
os.Exit(code)
}
// testShort reports whether -short was passed. TestMain runs before the
// testing flags are parsed, and go test passes the flag as -test.short=true,
// so parse the flags here instead of scanning os.Args.
func testShort() bool {
for _, a := range os.Args {
if a == "-test.short" {
return true
}
if !flag.Parsed() {
flag.Parse()
}
return false
return testing.Short()
}
func startBeachcomberPostgres(ctx context.Context) error {

View File

@@ -269,6 +269,9 @@ var (
func newListService(t *testing.T) (*service, *gorm.DB) {
t.Helper()
if testing.Short() {
t.Skip("requires testcontainers postgres")
}
listPGOnce.Do(func() {
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
defer cancel()

View File

@@ -3,6 +3,7 @@ package conga
import (
"context"
"database/sql"
"flag"
"fmt"
"net/url"
"os"
@@ -45,13 +46,14 @@ func TestMain(m *testing.M) {
os.Exit(code)
}
// testShort reports whether -short was passed. TestMain runs before the
// testing flags are parsed, and go test passes the flag as -test.short=true,
// so parse the flags here instead of scanning os.Args.
func testShort() bool {
for _, a := range os.Args {
if a == "-test.short" {
return true
}
if !flag.Parsed() {
flag.Parse()
}
return false
return testing.Short()
}
func startCongaPostgres(ctx context.Context) error {

View File

@@ -3,6 +3,7 @@ package lagoon
import (
"context"
"database/sql"
"flag"
"fmt"
"net/url"
"os"
@@ -39,13 +40,14 @@ func TestMain(m *testing.M) {
os.Exit(code)
}
// testShort reports whether -short was passed. TestMain runs before the
// testing flags are parsed, and go test passes the flag as -test.short=true,
// so parse the flags here instead of scanning os.Args.
func testShort() bool {
for _, a := range os.Args {
if a == "-test.short" {
return true
}
if !flag.Parsed() {
flag.Parse()
}
return false
return testing.Short()
}
func startLagoonPostgres(ctx context.Context) error {

View File

@@ -3,6 +3,7 @@ package lighthouse
import (
"context"
"database/sql"
"flag"
"fmt"
"net/url"
"os"
@@ -42,13 +43,14 @@ func TestMain(m *testing.M) {
os.Exit(code)
}
// testShort reports whether -short was passed. TestMain runs before the
// testing flags are parsed, and go test passes the flag as -test.short=true,
// so parse the flags here instead of scanning os.Args.
func testShort() bool {
for _, a := range os.Args {
if a == "-test.short" {
return true
}
if !flag.Parsed() {
flag.Parse()
}
return false
return testing.Short()
}
func startLighthousePostgres(ctx context.Context) error {