From 8ca491e7c0842023404d35af7472cba64458b1fc Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Wed, 26 Jan 2022 07:40:35 +0100 Subject: test/lib/term: Allow for a wider variety of prompt characters in pane_wait() We might have highlighting and slightly different prompts across different distributions, allow a more reasonable set of prompt strings to be accepted as prompts. Signed-off-by: Stefano Brivio --- test/lib/term | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'test/lib') diff --git a/test/lib/term b/test/lib/term index 78e2bd3..cc6349f 100755 --- a/test/lib/term +++ b/test/lib/term @@ -193,13 +193,16 @@ pane_run() { # pane_wait() - Wait for command to be done in given pane name # $1: Pane name pane_wait() { - __pane_lc="$(echo "${1}" | tr [A-Z] [a-z])" - - while [ "$(tail -n1 ${LOGDIR}/pane_${__pane_lc}.log)" != '$ ' ] && \ - [ "$(tail -n1 ${LOGDIR}/pane_${__pane_lc}.log)" != '# ' ] && \ - [ "$(tail -n1 ${LOGDIR}/pane_${__pane_lc}.log)" != '# # ' ]; do - sleep 0.1 || sleep 1 - done + __lc="$(echo "${1}" | tr [A-Z] [a-z])" + + __done=0 + while + __l="$(tail -1 ${LOGDIR}/pane_${__lc}.log | tr -d [:cntrl:])" + case ${__l} in + '$ ' | '# ' | '# # ' | *"$ " | *"# ") return ;; + *" #[m " | *" #[m [K" | *"]# ["*) return ;; + esac + do sleep 0.1 || sleep 1; done } # pane_parse() - Print last line, @EMPTY@ if command had no output -- cgit v1.2.3