aboutgitcodebugslistschat
path: root/test/lib/term
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2022-09-12 20:56:16 +1000
committerStefano Brivio <sbrivio@redhat.com>2022-09-13 05:32:00 +0200
commita32df9b6f4e997cb1565f90eaa721266790590ff (patch)
tree4e52e4180a6913be0c21baad0ca580023e3b60c5 /test/lib/term
parent3c47b65a64bc57de335cb0723075ae9de7b29501 (diff)
downloadpasst-a32df9b6f4e997cb1565f90eaa721266790590ff.tar
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.tar.gz
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.tar.bz2
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.tar.lz
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.tar.xz
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.tar.zst
passt-a32df9b6f4e997cb1565f90eaa721266790590ff.zip
test: Allow a tmux pane to watch commands executed in contexts
We're moving to a new way of the tests dispatching commands to running in contexts (host, guest, namespace, etc.). As we make this transition, though, we still want the user to be able to watch the commands running in a context, as they previously could from the commands issued in the pane. Add a helper to set up a pane to watch a context's log to allow this. In some cases we currently issue commands from several different logical contexts in the same pane, so allow a pane to watch several contexts at once. Also use tail's --retry option to allow starting the watch before we've initialized the context which will be useful in some cases. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'test/lib/term')
-rwxr-xr-xtest/lib/term18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/lib/term b/test/lib/term
index ddabf8d..78700f5 100755
--- a/test/lib/term
+++ b/test/lib/term
@@ -241,6 +241,24 @@ pane_status() {
return ${__status}
}
+# pane_watch_context() - Set up pane to watch commands executing in context(s)
+# $1: Pane number
+# $2: Description (for pane label)
+# $@: Context name or names
+pane_watch_contexts() {
+ __pane_number="${1}"
+ __desc="${2}"
+ shift 2
+ __name="${2}"
+
+ tmux select-pane -t ${__pane_number} -T "${__desc}"
+ __cmd="tail -f --retry"
+ for c; do
+ __cmd="${__cmd} ${LOGDIR}/context_${c}.log"
+ done
+ cmd_write ${__pane_number} "${__cmd}"
+}
+
# status_file_end() - Display and log messages when tests from one file are done
status_file_end() {
[ -z "${STATUS_FILE}" ] && return