(t *testing.T)
| 100 | } |
| 101 | |
| 102 | func 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 | |
| 132 | func TestProgressCallback(t *testing.T) { |
| 133 | queue := parallelwork.NewQueue() |
nothing calls this directly
no test coverage detected