✅ Add test for WaitForError when firstErr is already set
This commit is contained in:
parent
addd0d5e7b
commit
25b10a1896
1 changed files with 20 additions and 0 deletions
|
|
@ -103,3 +103,23 @@ func TestWaitForErrorPanic(t *testing.T) {
|
||||||
we := new(waiterr.WaitErr)
|
we := new(waiterr.WaitErr)
|
||||||
_ = we.WaitForError()
|
_ = we.WaitForError()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestWaitForErrorFirstErrSet(t *testing.T) {
|
||||||
|
we := new(waiterr.WaitErr)
|
||||||
|
expectedErr := errors.New("pre-set error")
|
||||||
|
|
||||||
|
// Manually set firstErr (requires reflection or a way to access unexported fields)
|
||||||
|
// For testing purposes, we can simulate this by calling Go with an error first
|
||||||
|
we.Go(func() error { return expectedErr })
|
||||||
|
we.Go(func() error { return errors.New("another error") })
|
||||||
|
we.Go(func() error { return nil })
|
||||||
|
|
||||||
|
// Wait for a short period to ensure the first error is processed
|
||||||
|
// In a real scenario, this might be handled by a channel or more robust synchronization
|
||||||
|
// For this test, we'll rely on the Go routine scheduling to set firstErr quickly
|
||||||
|
_ = we.WaitForError() // Call once to ensure firstErr is set internally
|
||||||
|
|
||||||
|
// Now call WaitForError again, expecting it to return the already set firstErr
|
||||||
|
actualErr := we.WaitForError()
|
||||||
|
be.Err(t, actualErr, expectedErr)
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue