[short] skip go test -timeout=0 -run=TestNoDeadline go test -timeout=1m -run=TestDeadlineWithinMinute go test -timeout=1m -run=TestSubtestDeadlineWithinMinute -- go.mod -- module m go 1.16 -- deadline_test.go -- package testing_test import ( "testing" "time" ) func TestNoDeadline(t *testing.T) { d, ok := t.Deadline() if ok || !d.IsZero() { t.Fatalf("t.Deadline() = %v, %v; want 0, false", d, ok) } } func TestDeadlineWithinMinute(t *testing.T) { now := time.Now() d, ok := t.Deadline() if !ok || d.IsZero() { t.Fatalf("t.Deadline() = %v, %v; want nonzero deadline", d, ok) } if !d.After(now) { t.Fatalf("t.Deadline() = %v; want after start of test (%v)", d, now) } if d.Sub(now) > time.Minute { t.Fatalf("t.Deadline() = %v; want within one minute of start of test (%v)", d, now) } } func TestSubtestDeadlineWithinMinute(t *testing.T) { t.Run("sub", func(t *testing.T) { now := time.Now() d, ok := t.Deadline() if !ok || d.IsZero() { t.Fatalf("t.Deadline() = %v, %v; want nonzero deadline", d, ok) } if !d.After(now) { t.Fatalf("t.Deadline() = %v; want after start of test (%v)", d, now) } if d.Sub(now) > time.Minute { t.Fatalf("t.Deadline() = %v; want within one minute of start of test (%v)", d, now) } }) }