worker_test
API
worker_test
packageAPI reference for the worker_test
package.
Imports
(5)
F
function
TestPoolExecutesSubmittedTasks
Parameters
t
pkg/worker/worker_test.go:12-34
func TestPoolExecutesSubmittedTasks(t *testing.T)
{
pool := worker.NewPool(3)
defer pool.Shutdown()
var count int32
var wg sync.WaitGroup
for i := 0; i < 10; i++ {
wg.Add(1)
ok := pool.Submit(func(ctx context.Context) error {
defer wg.Done()
atomic.AddInt32(&count, 1)
return nil
})
if !ok {
t.Fatalf("Submit() = false, want true")
}
}
wg.Wait()
if count != 10 {
t.Fatalf("executed tasks = %d, want %d", count, 10)
}
}
F
function
TestPoolRejectsTasksAfterShutdown
Parameters
t
pkg/worker/worker_test.go:36-43
func TestPoolRejectsTasksAfterShutdown(t *testing.T)
{
pool := worker.NewPool(1)
pool.Shutdown()
if ok := pool.Submit(func(ctx context.Context) error { return nil }); ok {
t.Fatalf("Submit() after Shutdown() = true, want false")
}
}
F
function
TestPoolDefaultsToOneWorker
Parameters
t
pkg/worker/worker_test.go:45-61
func TestPoolDefaultsToOneWorker(t *testing.T)
{
pool := worker.NewPool(0)
var count int32
ok := pool.Submit(func(ctx context.Context) error {
atomic.AddInt32(&count, 1)
return nil
})
if !ok {
t.Fatalf("Submit() = false, want true")
}
pool.Shutdown()
if count != 1 {
t.Fatalf("executed tasks = %d, want %d", count, 1)
}
}