From e93c07ba911b5932f2e4516195be4858b2e4841e Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Wed, 9 Dec 2015 10:34:38 -0800 Subject: [PATCH] pkg/fileutil: make purge test more reliable --- pkg/fileutil/purge_test.go | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/pkg/fileutil/purge_test.go b/pkg/fileutil/purge_test.go index a7b41b9e6..1b0fc21b1 100644 --- a/pkg/fileutil/purge_test.go +++ b/pkg/fileutil/purge_test.go @@ -103,16 +103,23 @@ func TestPurgeFileHoldingLock(t *testing.T) { stop := make(chan struct{}) errch := PurgeFile(dir, "test", 3, time.Millisecond, stop) - time.Sleep(20 * time.Millisecond) - fnames, err := ReadDir(dir) - if err != nil { - t.Fatal(err) + var fnames []string + for i := 0; i < 10; i++ { + fnames, err = ReadDir(dir) + if err != nil { + t.Fatal(err) + } + if len(fnames) <= 5 { + break + } + time.Sleep(10 * time.Millisecond) } wnames := []string{"5.test", "6.test", "7.test", "8.test", "9.test"} if !reflect.DeepEqual(fnames, wnames) { t.Errorf("filenames = %v, want %v", fnames, wnames) } + select { case err := <-errch: t.Errorf("unexpected purge error %v", err) @@ -129,16 +136,21 @@ func TestPurgeFileHoldingLock(t *testing.T) { t.Fatal(err) } - time.Sleep(20 * time.Millisecond) - - fnames, err = ReadDir(dir) - if err != nil { - t.Fatal(err) + for i := 0; i < 10; i++ { + fnames, err = ReadDir(dir) + if err != nil { + t.Fatal(err) + } + if len(fnames) <= 3 { + break + } + time.Sleep(10 * time.Millisecond) } wnames = []string{"7.test", "8.test", "9.test"} if !reflect.DeepEqual(fnames, wnames) { t.Errorf("filenames = %v, want %v", fnames, wnames) } + select { case err := <-errch: t.Errorf("unexpected purge error %v", err)