| 158 | } |
| 159 | |
| 160 | func TestTooManyJobs(t *testing.T) { |
| 161 | prePoolOpts := goleak.IgnoreCurrent() |
| 162 | |
| 163 | p := NewPool(&Config{ |
| 164 | MaxWorkers: 10, |
| 165 | QueueDepth: 3, |
| 166 | }) |
| 167 | opts := goleak.IgnoreCurrent() |
| 168 | |
| 169 | fn := func(_ context.Context, _ interface{}) (interface{}, error) { |
| 170 | return nil, nil |
| 171 | } |
| 172 | payloads := []interface{}{1, 2, 3, 4, 5} |
| 173 | |
| 174 | msg, funcErrs, err := p.RunJobs(context.Background(), payloads, fn) |
| 175 | assert.Nil(t, msg) |
| 176 | assert.Nil(t, funcErrs) |
| 177 | assert.Error(t, err) |
| 178 | goleak.VerifyNone(t, opts) |
| 179 | |
| 180 | p.Shutdown() |
| 181 | goleak.VerifyNone(t, prePoolOpts) |
| 182 | } |
| 183 | |
| 184 | func TestOneWorker(t *testing.T) { |
| 185 | prePoolOpts := goleak.IgnoreCurrent() |