package parallel import ( "fmt" "sync/atomic" "testing" ) func TestRun(t *testing.T) { i := int32(0) errs := Run( func() error { atomic.AddInt32(&i, 1) return nil }, func() error { atomic.AddInt32(&i, 5) return nil }, ) if len(errs) != 0 || i != 6 { t.Error("unexpected run") } testErr := fmt.Errorf("an error") i = int32(0) errs = Run( func() error { return testErr }, func() error { atomic.AddInt32(&i, 5) return nil }, ) if len(errs) != 1 && errs[0] != testErr && i != 5 { t.Error("unexpected run") } }