From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson To: passt-dev@passt.top Subject: [PATCH v5 06/14] test: Move context temporary files to state dir Date: Tue, 13 Sep 2022 14:35:21 +1000 Message-ID: <20220913043529.3079003-7-david@gibson.dropbear.id.au> In-Reply-To: <20220913043529.3079003-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4165514366681949512==" --===============4165514366681949512== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Currently the context command dispatch subsystem creates a bunch of temporary files in $LOGDIR, which is messy. Store them in $STATEDIR which is for precisely this purpose. The logs from each context still go into $LOGDIR. Signed-off-by: David Gibson --- test/lib/context | 61 +++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/test/lib/context b/test/lib/context index ccb0004..43b00dd 100644 --- a/test/lib/context +++ b/test/lib/context @@ -17,17 +17,17 @@ # $1: Context name context_setup_common() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" - echo -n "${__name}$ " > "${__prefix}.log" + __log=3D"${LOGDIR}/context_${__name}.log" + echo -n "${__name}$ " > "${__log}" } =20 # context_setup_host() - Create a new context for running commands on the ho= st # $1: Context name context_setup_host() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" + __enter=3D"${STATESETUP}/context_${__name}.enter" context_setup_common "${__name}" - echo sh -c > "${__prefix}.enter" + echo sh -c > "${__enter}" } =20 # context_setup_nsenter() - Create a new context for running commands in a n= amespace @@ -36,9 +36,9 @@ context_setup_host() { context_setup_nsenter() { __name=3D"$1" shift - __prefix=3D"${LOGDIR}/context_${__name}" + __enter=3D"${STATESETUP}/context_${__name}.enter" context_setup_common "${__name}" - echo "nsenter $@ sh -c" > "${__prefix}.enter" + echo "nsenter $@ sh -c" > "${__enter}" } =20 # context_setup_guest() - Create a new context for running commands in a gue= st @@ -47,22 +47,23 @@ context_setup_nsenter() { context_setup_guest() { __name=3D"$1" __cid=3D"$2" - __prefix=3D"${LOGDIR}/context_${__name}" + __enter=3D"${STATESETUP}/context_${__name}.enter" + __ssh=3D"${STATESETUP}/context_${__name}.ssh" context_setup_common "${__name}" =20 - cat > "${__prefix}.ssh" < "${__ssh}" < "${__prefix}.enter" + echo "ssh -F ${__ssh} ${__name}" > "${__enter}" =20 # Wait for the guest to be booted and accepting connections - while ! ssh -F "${__prefix}.ssh" "${__name}" :; do + while ! ssh -F "${__ssh}" "${__name}" :; do sleep 0.1 done } @@ -71,7 +72,7 @@ EOF # $1: Context name context_teardown() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" + __prefix=3D"${STATESETUP}/context_${__name}" rm -f "${__prefix}.enter" "${__prefix}.ssh" "${__prefix}.hosts" } =20 @@ -79,8 +80,8 @@ context_teardown() { # $1: Context name context_exists() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" - [ -f "${__prefix}.enter" ] + __enter=3D"${STATESETUP}/context_${__name}.enter" + [ -f "${__enter}" ] } =20 # context_run() - Run a shell command in a context, and wait for it to finish @@ -88,18 +89,20 @@ context_exists() { # $*: Command to start context_run() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" - __enter=3D"$(cat "${__prefix}.enter")" + __log=3D"${LOGDIR}/context_${__name}.log" + __enter=3D"${STATESETUP}/context_${__name}.enter" + __stdout=3D"${STATESETUP}/context_${__name}.stdout" + __stderr=3D"${STATESETUP}/context_${__name}.stderr" shift - echo "$*" >> "${__prefix}.log" - mkfifo "${__prefix}.stdout" "${__prefix}.stderr" - tee -a "${__prefix}.log" < "${__prefix}.stdout" & - tee -a "${__prefix}.log" < "${__prefix}.stderr" >&2 & - ${__enter} "$*" >> "${__prefix}.stdout" 2>> "${__prefix}.stderr" + echo "$*" >> "${__log}" + mkfifo "${__stdout}" "${__stderr}" + tee -a "${__log}" < "${__stdout}" & + tee -a "${__log}" < "${__stderr}" >&2 & + $(cat ${__enter}) "$*" >> "${__stdout}" 2>> "${__stderr}" rc=3D$? - rm "${__prefix}.stdout" "${__prefix}.stderr" - [ ${DEBUG} -eq 1 ] && echo "[Exit code: $rc]" >> "${__prefix}.log" - echo -n "${__name}$ " >> "${__prefix}.log" + rm "${__stdout}" "${__stderr}" + [ ${DEBUG} -eq 1 ] && echo "[Exit code: $rc]" >> "${__log}" + echo -n "${__name}$ " >> "${__log}" return $rc } =20 @@ -108,9 +111,9 @@ context_run() { # $*: Command to start context_run_bg() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" + __pidfile=3D"${STATESETUP}/context_${__name}.pid" context_run "$@" & - echo $! > "${__prefix}.pid" + echo $! > "${__pidfile}" } =20 # context_wait() - Wait for background command in a context to complete @@ -118,8 +121,8 @@ context_run_bg() { # Returns the status of the completed command context_wait() { __name=3D"$1" - __prefix=3D"${LOGDIR}/context_${__name}" - __pid=3D$(cat "${__prefix}.pid") - rm "${__prefix}.pid" + __pidfile=3D"${STATESETUP}/context_${__name}.pid" + __pid=3D$(cat "${__pidfile}") + rm "${__pidfile}" wait ${__pid} } --=20 2.37.3 --===============4165514366681949512==--