The asciinema video handling creates a number of temporary files (.uncat, .start, .stop) which currently go into the source tree. Put them in the temporary state directory to avoid clutter. Put the final processed video into the test_logs/ directory, since it's essentially a test output artefact. Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au> --- test/.gitignore | 3 --- test/lib/term | 8 ++++---- test/lib/video | 19 ++++++++++--------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/test/.gitignore b/test/.gitignore index 0f91c7d..58c8cf2 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -6,9 +6,6 @@ QEMU_EFI.fd *.qcow2 *.raw *.raw.xz -*.uncut -*.start -*.stop *.js nsholder guest-key diff --git a/test/lib/term b/test/lib/term index d6869c7..5a391e6 100755 --- a/test/lib/term +++ b/test/lib/term @@ -643,12 +643,12 @@ run_term() { if [ ${CI} -eq 1 ]; then printf '\e[8;50;240t' - asciinema rec --overwrite ci.uncut -c "$TMUX /bin/sh -c './ci from_term'" - video_postprocess ci.uncut + asciinema rec --overwrite "${STATEBASE}/ci.uncut" -c "$TMUX /bin/sh -c './ci from_term'" + video_postprocess "${STATEBASE}/ci.uncut" elif [ ${DEMO} -eq 1 ]; then printf '\e[8;40;130t' - asciinema rec --overwrite demo.uncut -c "$TMUX /bin/sh -c './run_demo from_term'" - video_postprocess demo.uncut + asciinema rec --overwrite "${STATEBASE}/demo.uncut" -c "$TMUX /bin/sh -c './run_demo from_term'" + video_postprocess "${STATEBASE}/demo.uncut" else $TMUX /bin/sh -c './run from_term' fi diff --git a/test/lib/video b/test/lib/video index f609abf..915a42f 100755 --- a/test/lib/video +++ b/test/lib/video @@ -77,8 +77,8 @@ video_start() { VIDEO_START_SECONDS=$(sed -n 's/\([0-9]*\).[0-9]* [0-9]*.[0-9]*/\1/p' /proc/uptime) sync - [ ${DEMO} -eq 1 ] && tail -1 "${BASEPATH}/demo.uncut" > "${BASEPATH}/${VIDEO_NAME}.start" - [ ${CI} -eq 1 ] && tail -1 "${BASEPATH}/ci.uncut" > "${BASEPATH}/${VIDEO_NAME}.start" + [ ${DEMO} -eq 1 ] && tail -1 "${STATEBASE}/demo.uncut" > "${STATEBASE}/${VIDEO_NAME}.start" + [ ${CI} -eq 1 ] && tail -1 "${STATEBASE}/ci.uncut" > "${STATEBASE}/${VIDEO_NAME}.start" sync tmux refresh-client @@ -89,8 +89,8 @@ video_stop() { tmux refresh-client sync - [ ${DEMO} -eq 1 ] && tail -1 "${BASEPATH}/demo.uncut" > "${BASEPATH}/${VIDEO_NAME}.stop" - [ ${CI} -eq 1 ] && tail -1 "${BASEPATH}/ci.uncut" > "${BASEPATH}/${VIDEO_NAME}.stop" + [ ${DEMO} -eq 1 ] && tail -1 "${STATEBASE}/demo.uncut" > "${STATEBASE}/${VIDEO_NAME}.stop" + [ ${CI} -eq 1 ] && tail -1 "${STATEBASE}/ci.uncut" > "${STATEBASE}/${VIDEO_NAME}.stop" sync sed -i 's/^.*$/&\\/g' "${BASEPATH}/${VIDEO_NAME}.js" @@ -108,12 +108,13 @@ video_postprocess() { [ -z "${__header}" ] && __header="${__l}" && continue if [ -z "${__cast_name}" ]; then - for __cast_cut in *.start; do + for __cast_cut in "${STATEBASE}/"*.start; do [ "${__l}" != "$(cat "${__cast_cut}")" ] && continue - __cast_name="${__cast_cut%.start}" + __cast_name="$(basename "${__cast_cut}")" + __cast_name="${__cast_name%.start}" __cast_offset= - __stop_line="$(cat ${__cast_name}.stop)" - echo "${__header}" > "${__cast_name}.cast" + __stop_line="$(cat "${STATEBASE}/${__cast_name}.stop")" + echo "${__header}" > "${LOGDIR}/${__cast_name}.cast" break done continue @@ -125,7 +126,7 @@ video_postprocess() { __l_rest="${__l#*.}" [ -z "${__cast_offset}" ] && __cast_offset=${__l_offset} __l_offset=$((__l_offset - __cast_offset)) - printf '[%s.%s\n' "${__l_offset}" "${__l_rest}" >> "${__cast_name}".cast + printf '[%s.%s\n' "${__l_offset}" "${__l_rest}" >> "${LOGDIR}/${__cast_name}".cast done unset IFS } -- 2.37.3