Adds a sleep to make sure we are in the next GC bucket, ups time.

Fixes #3670
This commit is contained in:
James Phillips 2017-11-08 21:54:21 -08:00
parent 91824375be
commit d6328a5bf8
No known key found for this signature in database
GPG key ID: 77183E682AC5FC11

View file

@ -1,7 +1,6 @@
package state
import (
"os"
"testing"
"time"
)
@ -24,12 +23,8 @@ func TestTombstoneGC_invalid(t *testing.T) {
}
func TestTombstoneGC(t *testing.T) {
if os.Getenv("TRAVIS") == "true" {
t.Skip("GC test is flaky on travis-ci (see #3670)")
}
ttl := 20 * time.Millisecond
gran := 5 * time.Millisecond
ttl := 200 * time.Millisecond
gran := 50 * time.Millisecond
gc, err := NewTombstoneGC(ttl, gran)
if err != nil {
t.Fatalf("err: %v", err)
@ -61,6 +56,12 @@ func TestTombstoneGC(t *testing.T) {
t.Fatalf("should get expiration")
}
// At this point we know we are very close to a TTL bucket
// so we sleep a small fraction of the bucket size in order
// to hit the case we desire for the next section where we
// hint twice into the same bucket and see them coalesce.
time.Sleep(gran / 5)
start2 := time.Now()
gc.Hint(120)
gc.Hint(125)