This commit is contained in:
Haitao Chen 2022-11-17 14:08:11 -08:00 коммит произвёл GitHub
Родитель 7cbff3077a
Коммит 34c5753c5c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 16 добавлений и 0 удалений

Просмотреть файл

@ -19,6 +19,13 @@ type WaitAllOptions struct {
// first error from any tasks passed in will be returned.
func WaitAll(ctx context.Context, options *WaitAllOptions, tasks ...Waitable) error {
tasksCount := len(tasks)
if tasksCount == 0 {
return nil
}
if options == nil {
options = &WaitAllOptions{}
}
errorCh := make(chan error, tasksCount)
// when failFast enabled, we return on first error we see, while other task may still post error in this channel.

Просмотреть файл

@ -126,3 +126,12 @@ func TestWaitAllCanceled(t *testing.T) {
// wait minor time for the go routine to finish.
time.Sleep(1 * time.Millisecond)
}
func TestWaitAllWithNoTasks(t *testing.T) {
t.Parallel()
ctx, cancelFunc := newTestContextWithTimeout(t, 1*time.Millisecond)
defer cancelFunc()
err := asynctask.WaitAll(ctx, nil)
assert.NoError(t, err)
}