From 3dbd41b731e60927047a7090fbcdcb3aa45a5636 Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Fri, 10 Apr 2026 17:35:47 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=B2=20feat:=20make=20test=20randomizat?= =?UTF-8?q?ion=20seed=20configurable=20via=20GODOG=5FRANDOM=5FSEED?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/bdd/testsetup/testsetup.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pkg/bdd/testsetup/testsetup.go b/pkg/bdd/testsetup/testsetup.go index 85756ee..9cc3a01 100644 --- a/pkg/bdd/testsetup/testsetup.go +++ b/pkg/bdd/testsetup/testsetup.go @@ -150,6 +150,14 @@ func CreateTestSuite(t *testing.T, config *FeatureConfig, suiteName string) godo stopOnFailure, _ = strconv.ParseBool(envStop) } + // Allow randomization seed override via environment variable + randomize := -1 // Default: randomize test order + if envSeed := os.Getenv("GODOG_RANDOM_SEED"); envSeed != "" { + if parsedSeed, err := strconv.Atoi(envSeed); err == nil { + randomize = parsedSeed + } + } + // Determine the correct path for feature files // When running from within a feature directory, use "." to find feature files in current dir // When running from outside, use the feature name as a relative path @@ -168,7 +176,7 @@ func CreateTestSuite(t *testing.T, config *FeatureConfig, suiteName string) godo Paths: []string{featurePath}, TestingT: t, Strict: true, - Randomize: -1, + Randomize: randomize, StopOnFailure: stopOnFailure, Tags: tags, }, @@ -195,6 +203,14 @@ func CreateMultiFeatureTestSuite(t *testing.T, config *MultiFeatureConfig, suite stopOnFailure, _ = strconv.ParseBool(envStop) } + // Allow randomization seed override via environment variable + randomize := -1 // Default: randomize test order + if envSeed := os.Getenv("GODOG_RANDOM_SEED"); envSeed != "" { + if parsedSeed, err := strconv.Atoi(envSeed); err == nil { + randomize = parsedSeed + } + } + return godog.TestSuite{ Name: suiteName, TestSuiteInitializer: bdd.InitializeTestSuite, @@ -204,7 +220,7 @@ func CreateMultiFeatureTestSuite(t *testing.T, config *MultiFeatureConfig, suite Paths: config.Paths, TestingT: t, Strict: true, - Randomize: -1, + Randomize: randomize, StopOnFailure: stopOnFailure, Tags: tags, },