Fix a bug with executing ssl-client2 in ssl-opt.sh in a subshell

When executing eval in the background, the next "$!" gives the
eval PID, not the ssl-client2 pid. This causes problems when
a client times out and the script tries to kill it. Instead, it
kills the parent eval call.
This caused problems with subsequent proxy tests receiving
old packets from a client from a previous test.
Moving the "&" to inside the eval call fixes the problem.
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Andrzej Kurek 2022-05-27 06:44:19 -04:00 committed by Andrzej Kurek
parent 5e03d9e601
commit 140b589ec6

View file

@ -1213,7 +1213,11 @@ do_run_test_once() {
wait_server_start "$SRV_PORT" "$SRV_PID"
printf '# %s\n%s\n' "$NAME" "$CLI_CMD" > $CLI_OUT
eval "$CLI_CMD" >> $CLI_OUT 2>&1 &
# The client must be a subprocess of the script in order for killing it to
# work properly, that's why the ampersand is placed inside the eval command,
# not at the end of the line: the latter approach will spawn eval as a
# subprocess, and the $CLI_CMD as a grandchild.
eval "$CLI_CMD &" >> $CLI_OUT 2>&1
wait_client_done
sleep 0.05