sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

commit eedc7522976945476fb4dbf9165d2c6057226c14
parent b3c479298c7cdba3213ec9ea17a99c64c51e25f8
Author: Roberto E. Vargas Caballero <k0ga@shike2.net>
Date:   Thu, 20 Nov 2025 16:47:11 +0100

tests: Use heredoc for diff

This simplifies the logic because it avoids the use of an additional
temporary file. The cleanup function is added only to EXIT because
in the way that it is written it works also in the case of signals.

Diffstat:
Mtests/0001-echo.sh | 15++++++---------
Mtests/0002-printf.sh | 37++++++++++++++++---------------------
Mtests/0003-ed.sh | 2+-
3 files changed, 23 insertions(+), 31 deletions(-)

diff --git a/tests/0001-echo.sh b/tests/0001-echo.sh @@ -2,22 +2,19 @@ set -e -tmp1=tmp1.$$ -tmp2=tmp2.$$ +tmp=tmp1.$$ cleanup() { st=$? - rm -f $tmp1 $tmp2 + rm -f $tmp exit $st } -trap cleanup EXIT HUP INT TERM +trap cleanup EXIT -cat <<'EOF' | tr -d '\n' > $tmp1 +../echo -n --hello-- --world--! > $tmp + +tr -d '\n' <<'EOF' | diff -u - $tmp --hello-- --world--! EOF - -../echo -n --hello-- --world--! > $tmp2 - -diff -u $tmp1 $tmp2 diff --git a/tests/0002-printf.sh b/tests/0002-printf.sh @@ -2,32 +2,17 @@ set -e -exp1=tmp1.$$ -exp2=tmp2.$$ -res1=tmp3.$$ -res2=tmp4.$$ +res1=tmp1.$$ +res2=tmp2.$$ cleanup() { st=$? - rm -f $exp1 $exp2 $res1 $res2 + rm -f $res1 $res2 exit $st } -trap cleanup EXIT HUP INT TERM - -cat <<'EOF' > $exp1 -123 -0 -foo -bar -+001 +2 +003 -400 -Expected failure -EOF - -cat <<'EOF' > $exp2 -../printf: Missing format specifier. -EOF +trap cleanup EXIT ( ../printf '123\n' @@ -40,5 +25,15 @@ EOF ../printf '%000' FOO || echo "Expected failure" ) > $res1 2> $res2 -diff -u $exp1 $res1 -diff -u $exp2 $res2 +diff -u - $res1 <<'EOF' +123 +0 +foo +bar ++001 +2 +003 -400 +Expected failure +EOF + +diff -u - $res2 <<'EOF' +../printf: Missing format specifier. +EOF diff --git a/tests/0003-ed.sh b/tests/0003-ed.sh @@ -12,7 +12,7 @@ cleanup() exit $st } -trap cleanup EXIT HUP INT TERM +trap cleanup EXIT cat <<EOF >$tmp1 foo