We use the step "When container is started with args" in quite a few tests, e.g. all of these ones which run a variety of binaries: ls,rpm,bash, but notably not java.
That step is defined here
https://github.com/cekit/behave-test-steps/blob/v1/steps/container_steps.py#L86
Note that function has a parameter pname defaulting to java, but nothing alters that value: it's not parameterized in the @given or @when variants that select it.
start_container_with_args calls wait_for_process(context, pname) (https://github.com/cekit/behave-test-steps/blob/v1/steps/container_steps.py#L167 , always with pname=java) which does a busy-loop poll of the process table (via invoking ps) with a hard-coded 10 second timeout.
Thus, any test using the step "When container is started with args" will have an up-to 10 second delay added to its runtime looking for a java process before completing.
(I've discovered this while trying to figure out why our GHA tests runs all time out and fail. The last thing they log as running is one of the wait_for_process polling loops, although that might be a coincidence. The tests stick in that state for 5-6h before GHA kills them.)
We use the step "When container is started with args" in quite a few tests, e.g. all of these ones which run a variety of binaries:
ls,rpm,bash, but notably notjava.That step is defined here
https://github.com/cekit/behave-test-steps/blob/v1/steps/container_steps.py#L86
Note that function has a parameter
pnamedefaulting tojava, but nothing alters that value: it's not parameterized in the@givenor@whenvariants that select it.start_container_with_argscallswait_for_process(context, pname)(https://github.com/cekit/behave-test-steps/blob/v1/steps/container_steps.py#L167 , always withpname=java) which does a busy-loop poll of the process table (via invokingps) with a hard-coded 10 second timeout.Thus, any test using the step "When container is started with args" will have an up-to 10 second delay added to its runtime looking for a
javaprocess before completing.(I've discovered this while trying to figure out why our GHA tests runs all time out and fail. The last thing they log as running is one of the
wait_for_processpolling loops, although that might be a coincidence. The tests stick in that state for 5-6h before GHA kills them.)