mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 23:36:37 +00:00 
			
		
		
		
	Mock queue backoff duration (#30553)
During testing, the backoff duration shouldn't be longer than other durations
This commit is contained in:
		@@ -8,7 +8,7 @@ import (
 | 
				
			|||||||
	"time"
 | 
						"time"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					var (
 | 
				
			||||||
	backoffBegin = 50 * time.Millisecond
 | 
						backoffBegin = 50 * time.Millisecond
 | 
				
			||||||
	backoffUpper = 2 * time.Second
 | 
						backoffUpper = 2 * time.Second
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -18,6 +18,14 @@ type (
 | 
				
			|||||||
	backoffFuncErr           func() (retry bool, err error)
 | 
						backoffFuncErr           func() (retry bool, err error)
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func mockBackoffDuration(d time.Duration) func() {
 | 
				
			||||||
 | 
						oldBegin, oldUpper := backoffBegin, backoffUpper
 | 
				
			||||||
 | 
						backoffBegin, backoffUpper = d, d
 | 
				
			||||||
 | 
						return func() {
 | 
				
			||||||
 | 
							backoffBegin, backoffUpper = oldBegin, oldUpper
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func backoffRetErr[T any](ctx context.Context, begin, upper time.Duration, end <-chan time.Time, fn backoffFuncRetErr[T]) (ret T, err error) {
 | 
					func backoffRetErr[T any](ctx context.Context, begin, upper time.Duration, end <-chan time.Time, fn backoffFuncRetErr[T]) (ret T, err error) {
 | 
				
			||||||
	d := begin
 | 
						d := begin
 | 
				
			||||||
	for {
 | 
						for {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -250,6 +250,7 @@ func TestWorkerPoolQueueShutdown(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestWorkerPoolQueueWorkerIdleReset(t *testing.T) {
 | 
					func TestWorkerPoolQueueWorkerIdleReset(t *testing.T) {
 | 
				
			||||||
	defer test.MockVariableValue(&workerIdleDuration, 10*time.Millisecond)()
 | 
						defer test.MockVariableValue(&workerIdleDuration, 10*time.Millisecond)()
 | 
				
			||||||
 | 
						defer mockBackoffDuration(10 * time.Millisecond)()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	handler := func(items ...int) (unhandled []int) {
 | 
						handler := func(items ...int) (unhandled []int) {
 | 
				
			||||||
		time.Sleep(50 * time.Millisecond)
 | 
							time.Sleep(50 * time.Millisecond)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user