✅ 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.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