Fix race in tty integration test with slow container startup #2186
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.
This fixes a race condition in the tty
runc run [terminal=false]
integration test (found while testing #2185).runc/tests/integration/tty.bats
Lines 203 to 209 in 7496a96
Currently, the test assumes that as soon as
runc state
returns information about the container, it is running andtestcontainer test_busybox running
should succeed.When the container start is slow (because of load or synthetic delay), the
runc state
command can return acreated
state, allowingwait_for_container
to succeed, but letting thetestcontainer test_busybox running
command fail.This race can be demonstrated by synthetically slowing down the transition from created to running:
Without this change:
With this change:
This PR allows providing a desired status to
wait_for_container
and additionally waiting untilrunc state
includes that status.cc @mrunalp @Random-Liu