Set ginkgo time if not specified explicitly

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
This commit is contained in:
Davanum Srinivas 2024-07-12 09:44:50 -04:00
parent 31062790a1
commit 2db4c4aaab
No known key found for this signature in database
GPG Key ID: 80D83A796103BF59

View File

@ -153,9 +153,21 @@ func RunRemote(cfg RunRemoteConfig) (string, bool, error) {
return "", false, fmt.Errorf("failed to create test result directory %q on Host %q: %v Output: %q", resultDir, cfg.Host, err, output)
}
allGinkgoFlags := cfg.GinkgoArgs
if !strings.Contains(allGinkgoFlags, "--timeout") {
klog.Warningf("ginkgo flags are missing explicit --timeout (ginkgo defaults to 60 minutes)")
// see https://github.com/onsi/ginkgo/blob/master/docs/index.md#:~:text=ginkgo%20%2D%2Dtimeout%3Dduration
// ginkgo suite timeout should be more than the default but less than the
// full test timeout, so we should use the average of the two.
suiteTimeout := int(testTimeout.Minutes())
suiteTimeout = (60 + suiteTimeout) / 2
allGinkgoFlags = fmt.Sprintf("%s --timeout=%dm", allGinkgoFlags, suiteTimeout)
klog.Infof("updated ginkgo flags: %s", allGinkgoFlags)
}
klog.V(2).Infof("Running test on %q", cfg.Host)
output, err := cfg.Suite.RunTest(cfg.Host, workspace, resultDir, cfg.ImageDesc, cfg.JunitFileName, cfg.TestArgs,
cfg.GinkgoArgs, cfg.SystemSpecName, cfg.ExtraEnvs, cfg.RuntimeConfig, *testTimeout)
allGinkgoFlags, cfg.SystemSpecName, cfg.ExtraEnvs, cfg.RuntimeConfig, *testTimeout)
var aggErrs []error
// Do not log the Output here, let the caller deal with the test Output.