-
Notifications
You must be signed in to change notification settings - Fork 42
chore: initialise timeout factor next to the declaration #1118
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,14 +37,6 @@ const defaultBeatVersion = "8.0.0-SNAPSHOT" | |
var defaultEventsWaitTimeout = 60 * time.Second | ||
var defaultDeployWaitTimeout = 60 * time.Second | ||
|
||
func init() { | ||
// initialise timeout factor | ||
common.TimeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", common.TimeoutFactor) | ||
|
||
defaultEventsWaitTimeout = defaultEventsWaitTimeout * time.Duration(common.TimeoutFactor) | ||
defaultDeployWaitTimeout = defaultDeployWaitTimeout * time.Duration(common.TimeoutFactor) | ||
} | ||
|
||
type podsManager struct { | ||
kubectl kubernetes.Control | ||
ctx context.Context | ||
|
@@ -472,6 +464,9 @@ func InitializeTestSuite(ctx *godog.TestSuiteContext) { | |
// init logger | ||
config.Init() | ||
|
||
defaultEventsWaitTimeout = defaultEventsWaitTimeout * time.Duration(common.TimeoutFactor) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Because Golang does not warrantee the initialisation order of the init functions, we must move this to the setupSuite, which we are sure will happen after that. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are some guarantees in order of init executions. In this case I think that There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, in this case we moved the defaultEventsXXX timeouts to the InitializeTestSuite for that reason, so it's guaranteed that the default value is read from the environment. |
||
defaultDeployWaitTimeout = defaultDeployWaitTimeout * time.Duration(common.TimeoutFactor) | ||
|
||
err := cluster.Initialize(suiteContext, "testdata/kind.yml") | ||
if err != nil { | ||
log.WithError(err).Fatal("Failed to initialize cluster") | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,12 +8,17 @@ import ( | |
"time" | ||
|
||
backoff "github.com/cenkalti/backoff/v4" | ||
"github.com/elastic/e2e-testing/internal/shell" | ||
) | ||
|
||
// TimeoutFactor a multiplier for the max timeout when doing backoff retries. | ||
// It can be overriden by TIMEOUT_FACTOR env var | ||
var TimeoutFactor = 3 | ||
|
||
func init() { | ||
TimeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", TimeoutFactor) | ||
} | ||
Comment on lines
16
to
+20
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now that I see this together. Even better, this should work too, so
|
||
|
||
// GetExponentialBackOff returns a preconfigured exponential backoff instance | ||
func GetExponentialBackOff(elapsedTime time.Duration) *backoff.ExponentialBackOff { | ||
var ( | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could do the same with any other variable defined in
common
that needs some initialization, such as thiscommon.AgentVersion
.