X-Git-Url: http://git.giacomolli.uk/onechat/blobdiff_plain/442c68e1d384a7da0d9ab039704bf763a1c3ac35..d4dc9a3b10a6092d18fb30cfb36526556aa33227:/memory_test.go?ds=sidebyside diff --git a/memory_test.go b/memory_test.go index e868220..ddbb014 100644 --- a/memory_test.go +++ b/memory_test.go @@ -11,6 +11,7 @@ import ( "strings" "sync" "testing" + "time" "unicode/utf8" "github.com/stretchr/testify/require" @@ -105,6 +106,10 @@ func TestMemoryRunsAtMostEightBuilds(t *testing.T) { }) require.Equal(t, []nodeKey{{0, 0}, {0, 1}, {0, 2}, {0, 3}, {0, 4}, {0, 5}, {0, 6}, {0, 7}}, running) + require.Eventually(t, func() bool { + return summarizer.Active() == maxBuilds + }, 10*time.Second, time.Millisecond) + close(summarizer.gate) require.NoError(t, memory.Wait(t.Context())) require.Equal(t, maxBuilds, summarizer.peak) @@ -350,6 +355,14 @@ func (f *fakeSummarizer) SetFailing(failing bool) { f.failing = failing } +// Active returns the number of tasks that run now. +func (f *fakeSummarizer) Active() int { + f.mutex.Lock() + defer f.mutex.Unlock() + + return f.active +} + // Tasks returns the tasks so far. func (f *fakeSummarizer) Tasks() []Task { f.mutex.Lock()