Message ID | 20240323023733.20253-1-phil@nwl.cc |
---|---|
State | Accepted |
Headers | show |
Series | [nft] tests: shell: Avoid escape chars when printing to non-terminals | expand |
On Sat, Mar 23, 2024 at 03:37:33AM +0100, Phil Sutter wrote: > Print the 'EXECUTING' status line only if stdout is a terminal, the > mandatory following escape sequence to delete it messes up log file > contents. > > Signed-off-by: Phil Sutter <phil@nwl.cc> Patch applied.
diff --git a/tests/shell/run-tests.sh b/tests/shell/run-tests.sh index 86c8312683ccb..6a9b518c3aed5 100755 --- a/tests/shell/run-tests.sh +++ b/tests/shell/run-tests.sh @@ -860,7 +860,7 @@ job_start() { local testfile="$1" local testidx="$2" - if [ "$NFT_TEST_JOBS" -le 1 ] ; then + if [ "$NFT_TEST_JOBS" -le 1 ] && [[ -t 1 ]]; then print_test_header I "$testfile" "$testidx" "EXECUTING" fi @@ -873,7 +873,7 @@ job_start() { $NFT_TEST_UNSHARE_CMD "$NFT_TEST_BASEDIR/helpers/test-wrapper.sh" "$testfile" local rc_got=$? - if [ "$NFT_TEST_JOBS" -le 1 ] ; then + if [ "$NFT_TEST_JOBS" -le 1 ] && [[ -t 1 ]]; then echo -en "\033[1A\033[K" # clean the [EXECUTING] foobar line fi
Print the 'EXECUTING' status line only if stdout is a terminal, the mandatory following escape sequence to delete it messes up log file contents. Signed-off-by: Phil Sutter <phil@nwl.cc> --- tests/shell/run-tests.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)