diff mbox series

[nft] tests: shell: Avoid escape chars when printing to non-terminals

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

Commit Message

Phil Sutter March 23, 2024, 2:37 a.m. UTC
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(-)

Comments

Phil Sutter April 12, 2024, 12:42 p.m. UTC | #1
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 mbox series

Patch

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