aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rwxr-xr-xhooks/pre-push12
-rw-r--r--test/.gitignore4
-rwxr-xr-xtest/lib/term8
-rwxr-xr-xtest/lib/video37
4 files changed, 31 insertions, 30 deletions
diff --git a/hooks/pre-push b/hooks/pre-push
index 1060802..1c221e7 100755
--- a/hooks/pre-push
+++ b/hooks/pre-push
@@ -34,15 +34,15 @@ ssh "${USER_HOST}" "mkdir -p ${WEB} ${TEST} ${BIN}"
cd test
./ci
-gzip -fk9 perf.js ci.js
-scp perf.js perf.js.gz ci.js ci.js.gz "${USER_HOST}:${WEB}/"
+gzip -fk9 perf.js
+scp perf.js perf.js.gz "${USER_HOST}:${WEB}/"
scp test_logs/* "${USER_HOST}:${TEST}/"
./run_demo
-for cast in ci demo_pasta demo_podman demo_passt; do
- gzip -fk9 "${cast}.cast"
- scp "${cast}.cast" "${USER_HOST}:${WEB}/"
- scp "${cast}.cast.gz" "${USER_HOST}:${WEB}/"
+for f in test_logs/web/*.cast test_logs/web/*.js; do
+ gzip -fk9 "${f}"
+ scp "${f}" "${USER_HOST}:${WEB}/"
+ scp "${f}.gz" "${USER_HOST}:${WEB}/"
done
cd ..
diff --git a/test/.gitignore b/test/.gitignore
index 0f91c7d..2e75cb5 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -6,10 +6,6 @@ QEMU_EFI.fd
*.qcow2
*.raw
*.raw.xz
-*.uncut
-*.start
-*.stop
-*.js
nsholder
guest-key
guest-key.pub
diff --git a/test/lib/term b/test/lib/term
index c9720be..b31deac 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..0ed6a3e 100755
--- a/test/lib/video
+++ b/test/lib/video
@@ -60,7 +60,8 @@ VIDEO_LINKS_COUNT=0
# video_append_links() - Append generic string to JavaScript links file
video_append_links()
{
- printf "${@}" >> "${BASEPATH}/${VIDEO_NAME}.js"
+ __web="${LOGDIR}/web"
+ printf "${@}" >> "${__web}/${VIDEO_NAME}.js"
}
# video_append_links() - Append generic string to buffer for links
@@ -72,13 +73,14 @@ video_append_links_js()
# video_start() - Mark start of a test in capture, record start timestamp
video_start() {
VIDEO_NAME="${1}"
-
- echo "${VIDEO_LINKS_TEMPLATE}" > "${BASEPATH}/${VIDEO_NAME}.js"
+ __web="${LOGDIR}/web"
+ mkdir -p "${__web}"
+ echo "${VIDEO_LINKS_TEMPLATE}" > "${__web}/${VIDEO_NAME}.js"
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
@@ -86,34 +88,37 @@ video_start() {
# video_stop() - Mark stop of a test in capture, finalise JavaScript fragments
video_stop() {
+ __web="${LOGDIR}/web"
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"
- echo "${VIDEO_LINKS_TEMPLATE_JS}" | sed "s/__VIDEO_NAME__/${VIDEO_NAME}/g" >> "${BASEPATH}/${VIDEO_NAME}.js"
- echo "${VIDEO_LINKS_BUF}" >> "${BASEPATH}/${VIDEO_NAME}.js"
- echo "${VIDEO_LINKS_TEMPLATE_POST}" | sed "s/__VIDEO_NAME__/${VIDEO_NAME}/g" >> "${BASEPATH}/${VIDEO_NAME}.js"
+ sed -i 's/^.*$/&\\/g' "${__web}/${VIDEO_NAME}.js"
+ echo "${VIDEO_LINKS_TEMPLATE_JS}" | sed "s/__VIDEO_NAME__/${VIDEO_NAME}/g" >> "${__web}/${VIDEO_NAME}.js"
+ echo "${VIDEO_LINKS_BUF}" >> "${__web}/${VIDEO_NAME}.js"
+ echo "${VIDEO_LINKS_TEMPLATE_POST}" | sed "s/__VIDEO_NAME__/${VIDEO_NAME}/g" >> "${__web}/${VIDEO_NAME}.js"
}
# video_postprocess() - Cut terminal recordings based on .start and .stop files
video_postprocess() {
IFS='
'
+ __web="${LOGDIR}/web"
__cast_name=
for __l in $(cat ${1}); do
[ -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}" > "${__web}/${__cast_name}.cast"
break
done
continue
@@ -125,7 +130,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}" >> "${__web}/${__cast_name}".cast
done
unset IFS
}