tests: Use heredoc for diff - sbase - suckless unix tools
 (HTM) git clone git://git.suckless.org/sbase
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit eedc7522976945476fb4dbf9165d2c6057226c14
 (DIR) parent b3c479298c7cdba3213ec9ea17a99c64c51e25f8
 (HTM) 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:
         M tests/0001-echo.sh                  |      15 ++++++---------
         M tests/0002-printf.sh                |      37 +++++++++++++------------------
         M tests/0003-ed.sh                    |       2 +-
       
       3 files changed, 23 insertions(+), 31 deletions(-)
       ---
 (DIR) 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
 (DIR) 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
 (DIR) 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