mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
ktesting: skip timing check in unit test
Extending the duration and the allowed delta in f6682370b1
was still not enough
to make the unit test run reliably in pull-kubernetes-unit.
Now it uses the original, stricter timing again, but only when run locally. In
Prow (detected by checking the "CI" env variable), the duration check is
skipped.
This commit is contained in:
parent
8980b4b846
commit
1ecd4053de
@ -19,6 +19,8 @@ package ktesting
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -112,7 +114,17 @@ func TestCause(t *testing.T) {
|
||||
if tt.expectDeadline != 0 {
|
||||
actualDeadline, ok := ctx.Deadline()
|
||||
if assert.True(t, ok, "should have had a deadline") {
|
||||
assert.InDelta(t, time.Until(actualDeadline), tt.expectDeadline, float64(time.Second), "remaining time till Deadline()")
|
||||
// Testing timing behavior is unreliable in Prow because
|
||||
// the test runs in parallel with several others.
|
||||
// Therefore this check is skipped if a CI environment is
|
||||
// detected.
|
||||
ci, _ := os.LookupEnv("CI")
|
||||
switch strings.ToLower(ci) {
|
||||
case "yes", "true", "1":
|
||||
// Skip.
|
||||
default:
|
||||
assert.InDelta(t, time.Until(actualDeadline), tt.expectDeadline, float64(time.Second), "remaining time till Deadline()")
|
||||
}
|
||||
}
|
||||
}
|
||||
time.Sleep(tt.sleep)
|
||||
|
Loading…
Reference in New Issue
Block a user