From 6cab771cf2bf798f99df63d6cb132811926dae73 Mon Sep 17 00:00:00 2001 From: William Banfield Date: Thu, 15 Jul 2021 14:33:57 -0400 Subject: [PATCH] use subtests --- internal/libs/clist/clist_test.go | 80 +++++++++++++++++-------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/internal/libs/clist/clist_test.go b/internal/libs/clist/clist_test.go index d8f47b371..681904b10 100644 --- a/internal/libs/clist/clist_test.go +++ b/internal/libs/clist/clist_test.go @@ -353,45 +353,53 @@ func TestRemoved(t *testing.T) { func TestNextWaitChan(t *testing.T) { l := New() el1 := l.PushBack(1) - select { - case <-el1.NextWaitChan(): - t.Fatal("nextWaitChan should not have been closed") - case <-time.After(10 * time.Millisecond): - } + t.Run("tail element should not have a closed nextWaitChan", func(t *testing.T) { + select { + case <-el1.NextWaitChan(): + t.Fatal("nextWaitChan should not have been closed") + default: + } + }) el2 := l.PushBack(2) - select { - case <-el1.NextWaitChan(): - require.NotNil(t, el1.Next()) - case <-time.After(10 * time.Millisecond): - t.Fatal("nextWaitChan should have been closed") - } + t.Run("adding element should close tail nextWaitChan", func(t *testing.T) { + select { + case <-el1.NextWaitChan(): + require.NotNil(t, el1.Next()) + default: + t.Fatal("nextWaitChan should have been closed") + } - select { - case <-el2.NextWaitChan(): - t.Fatal("nextWaitChan should not have been closed") - case <-time.After(10 * time.Millisecond): - } + select { + case <-el2.NextWaitChan(): + t.Fatal("nextWaitChan should not have been closed") + default: + } + }) - l.Remove(el2) - select { - case <-el2.NextWaitChan(): - require.Nil(t, el2.Next()) - case <-time.After(10 * time.Millisecond): - t.Fatal("nextWaitChan should have been closed") - } + t.Run("removing element should close its nextWaitChan", func(t *testing.T) { + l.Remove(el2) + select { + case <-el2.NextWaitChan(): + require.Nil(t, el2.Next()) + default: + t.Fatal("nextWaitChan should have been closed") + } + }) - el3 := l.PushBack(3) - select { - case <-el3.NextWaitChan(): - t.Fatal("nextWaitChan should not have been closed") - case <-time.After(10 * time.Millisecond): - } - l.Clear() - select { - case <-el3.NextWaitChan(): - require.Nil(t, el2.Next()) - case <-time.After(10 * time.Millisecond): - t.Fatal("nextWaitChan should have been closed") - } + t.Run("clearing list should close elements' nextWaitChan", func(t *testing.T) { + el3 := l.PushBack(3) + select { + case <-el3.NextWaitChan(): + t.Fatal("nextWaitChan should not have been closed") + default: + } + l.Clear() + select { + case <-el3.NextWaitChan(): + require.Nil(t, el2.Next()) + default: + t.Fatal("nextWaitChan should have been closed") + } + }) }