From c01221e70fc71f5bcff5f699095fbcbfc1e2b4a3 Mon Sep 17 00:00:00 2001 From: zeripath Date: Wed, 29 Jan 2020 01:01:06 +0000 Subject: Queue: Make WorkerPools and Queues flushable (#10001) * Make WorkerPools and Queues flushable Adds Flush methods to Queues and the WorkerPool Further abstracts the WorkerPool Adds a final step to Flush the queues in the defer from PrintCurrentTest Fixes an issue with Settings inheritance in queues Signed-off-by: Andrew Thornton * Change to for loop * Add IsEmpty and begin just making the queues composed WorkerPools * subsume workerpool into the queues and create a flushable interface * Add manager command * Move flushall to queue.Manager and add to testlogger * As per @guillep2k * as per @guillep2k * Just make queues all implement flushable and clean up the wrapped queue flushes * cope with no timeout Co-authored-by: Lauris BH --- integrations/testlogger.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'integrations') diff --git a/integrations/testlogger.go b/integrations/testlogger.go index 624abf3f81..b2ad257a9b 100644 --- a/integrations/testlogger.go +++ b/integrations/testlogger.go @@ -5,6 +5,7 @@ package integrations import ( + "context" "encoding/json" "fmt" "os" @@ -12,8 +13,10 @@ import ( "strings" "sync" "testing" + "time" "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/queue" ) var prefix string @@ -98,6 +101,9 @@ func PrintCurrentTest(t testing.TB, skip ...int) func() { } writerCloser.setT(&t) return func() { + if err := queue.GetManager().FlushAll(context.Background(), 20*time.Second); err != nil { + t.Errorf("Flushing queues failed with error %v", err) + } _ = writerCloser.Close() } } -- cgit v1.2.3