MCPcopy Index your code
hub / github.com/kopia/kopia / TestWaitForActiveWorkers

Function TestWaitForActiveWorkers

internal/parallelwork/parallel_work_queue_test.go:102–130  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

100}
101
102func TestWaitForActiveWorkers(t *testing.T) {
103 queue := parallelwork.NewQueue()
104
105 results := make(chan int, 3)
106
107 queue.EnqueueBack(context.Background(), func() error {
108 time.Sleep(100 * time.Millisecond)
109 queue.EnqueueBack(context.Background(), func() error {
110 results <- 2
111 return nil
112 })
113
114 results <- 1
115
116 return nil
117 })
118
119 err := queue.Process(context.Background(), 1) // Use only one worker
120 require.NoError(t, err)
121
122 close(results)
123
124 var sum int
125 for res := range results {
126 sum += res
127 }
128
129 require.Equal(t, 3, sum)
130}
131
132func TestProgressCallback(t *testing.T) {
133 queue := parallelwork.NewQueue()

Callers

nothing calls this directly

Calls 4

EnqueueBackMethod · 0.95
ProcessMethod · 0.95
NewQueueFunction · 0.92
EqualMethod · 0.80

Tested by

no test coverage detected