fixup: ttcn3-tcpdump*.sh: Fix output of special chars

On ArchLinux /bin/sh is actually a symlink to bash, so bash is running
in limited mode and emulating the Bourne Shell.  The shell detection
logic added in [1] does not work correctly for me because the cmdline
would be 'sh' or '/bin/sh', not 'bash'.  This is what I am getting:

  \033[1;32m====== FooBar_Tests.TC_foo_bar pass ======\033[0m

Let's switch to printf, which does interpret the backslash escapes
as expected by default, regardless of the actual shell in use.

Also fix ttcn3-dumpcap-stop.sh, which was left untouched by [1].

Change-Id: Id28193a7ca00b5501a6852e5b4a5412fbaa5e063
Fixes: [1] bf45a5cff8
This commit is contained in:
Vadim Yanitskiy 2022-12-18 20:36:27 +07:00 committed by fixeria
parent 01d0a90b68
commit 80726d8e8f
2 changed files with 4 additions and 15 deletions

View File

@ -22,11 +22,10 @@ fi
date date
if [ x"$VERDICT" = x"pass" ]; then if [ x"$VERDICT" = x"pass" ]; then
echo -e "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" printf "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m\n\n"
else else
echo -e "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" printf "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m\n\n"
fi fi
echo
if [ "z$TTCN3_PCAP_PATH" = "z" ]; then if [ "z$TTCN3_PCAP_PATH" = "z" ]; then
TTCN3_PCAP_PATH=/tmp TTCN3_PCAP_PATH=/tmp

View File

@ -26,21 +26,11 @@ kill_rm_pidfile() {
date date
# -e only works/is required only in Bash; in dash/POSIX shells it isn't required and will be part of the output
# SHELL environment variable doesn't always give name of current shell (e.g. for dash run inside bash...)
SHELL_NAME="$(cat /proc/$$/cmdline | tr -d '\0')"
if [ "$SHELL_NAME" = "bash" ]; then
ESCAPE_OPT="-e"
else
ESCAPE_OPT=""
fi
if [ x"$VERDICT" = x"pass" ]; then if [ x"$VERDICT" = x"pass" ]; then
echo $ESCAPE_OPT "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m" printf "\033[1;32m====== $TESTCASE $VERDICT ======\033[0m\n\n"
else else
echo $ESCAPE_OPT "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m" printf "\033[1;31m------ $TESTCASE $VERDICT ------\033[0m\n\n"
fi fi
echo
if [ "z$TTCN3_PCAP_PATH" = "z" ]; then if [ "z$TTCN3_PCAP_PATH" = "z" ]; then
TTCN3_PCAP_PATH=/tmp TTCN3_PCAP_PATH=/tmp