Fix panicky xDS test flakes (#16305)

* Add defensive guard to make some tests less flaky and panic less

* Do the actual fix
This commit is contained in:
Andrew Stucki 2023-02-17 14:07:49 -05:00 committed by GitHub
parent e4a992c581
commit ee99d5c3a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 2 deletions

View File

@ -85,6 +85,8 @@ type TestEnvoy struct {
EnvoyVersion string
deltaStream *TestADSDeltaStream // Incremental v3
closed bool
}
// NewTestEnvoy creates a TestEnvoy instance.
@ -225,9 +227,9 @@ func (e *TestEnvoy) Close() error {
defer e.mu.Unlock()
// unblock the recv chans to simulate recv errors when client disconnects
if e.deltaStream != nil && e.deltaStream.recvCh != nil {
if !e.closed && e.deltaStream.recvCh != nil {
close(e.deltaStream.recvCh)
e.deltaStream = nil
e.closed = true
}
if e.cancel != nil {
e.cancel()