You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recent CI failures exposed several reliability gaps: standard integration environments could still be shutting down after a test completed, the physical-volume deletion test could observe an intermediate controller state, and intermittent PTY failures did not report enough process information to identify the failing layer.
This change:
makes standard test environments own cancellation and synchronously wait for API server disposal during test cleanup, with an explicit post-shutdown callback phase for teardown assertions
waits for the complete expected terminating/creating volume state instead of asserting against the first observed deletion timestamp
adds failure-only PTY diagnostics covering read attempts, bytes received, elapsed time, child PID, exit status, exit error, and captured output
The historical PTY empty-EOF failure was not reproduced locally. Sustained concurrent stress did expose a separate /dev/ptmx allocation-pressure failure, so the new diagnostics are intended to distinguish child execution, PTY delivery, and process-exit behavior the next time CI encounters the original failure.
Validation:
make lint
make test
volume deletion test passed in ten separate test processes
Centralize standard test environment shutdown, wait for the complete volume deletion state, and add PTY failure diagnostics for future CI investigation.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Rely on centralized standard environment cleanup and follow lowercase error string conventions for PTY diagnostics.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Wait for process exit after context expiration read failure
internal/termpty/pty_test.go:194
When readUntil fails because ctx expired, this same ctx.Done() case is already ready, so the diagnostic path returns immediately without waiting for the context-driven process termination. That failure mode therefore omits the child exit status/error the helper is intended to capture. Keep the bounded exitTimer, but wait for either Exited() or that timer after a read failure.
After a read timeout, keep waiting for either the child exit notification or the existing bounded diagnostic timer instead of immediately selecting the expired context.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recent CI failures exposed several reliability gaps: standard integration environments could still be shutting down after a test completed, the physical-volume deletion test could observe an intermediate controller state, and intermittent PTY failures did not report enough process information to identify the failing layer.
This change:
The historical PTY empty-EOF failure was not reproduced locally. Sustained concurrent stress did expose a separate
/dev/ptmxallocation-pressure failure, so the new diagnostics are intended to distinguish child execution, PTY delivery, and process-exit behavior the next time CI encounters the original failure.Validation:
make lintmake test