sfeed_update tests: reduce common boilerplate code to start and cleanup a test - sfeed_tests - sfeed tests and RSS and Atom files
 (HTM) git clone git://git.codemadness.org/sfeed_tests
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 8c57eb5eeb2c180973f9d93b7469bbdc6202f43c
 (DIR) parent d13fbb6ea1f4a4415e63eb28bdcd0ade488b0ba4
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Fri, 15 Dec 2023 23:07:33 +0100
       
       sfeed_update tests: reduce common boilerplate code to start and cleanup a test
       
       Diffstat:
         M input/sfeed_update/test.sh          |      44 ++++++++++++++++----------------
       
       1 file changed, 22 insertions(+), 22 deletions(-)
       ---
 (DIR) diff --git a/input/sfeed_update/test.sh b/input/sfeed_update/test.sh
       @@ -11,12 +11,20 @@ expect() {
                fi
        }
        
       -# test normal execution, all succesful.
       -test_normal() {
       +init_test() {
                rc="$(mktemp)"
                log_stdout="$(mktemp)"
                log_stderr="$(mktemp)"
                feedpath="$(mktemp -d)"
       +}
       +
       +cleanup() {
       +        rm -rf "$feedpath" "$log_stdout" "$log_stderr" "$rc"
       +}
       +
       +# test normal execution, all succesful.
       +test_normal() {
       +        init_test
        
                cat > "$rc" <<!
        sfeedpath="$feedpath"
       @@ -49,15 +57,15 @@ feeds() {
                        expect "0" "$?" "file should exist: $f"
                done
        
       -        # cleanup test
       -        rm -rf "$feedpath"
       -        rm -f "$log_stdout" "$log_stderr" "$rc"
       +        cleanup
        
                echo "test_normal: test OK" >&2
        }
        
        # test execution where a feed failed.
        test_one_fail() {
       +        init_test
       +
                rc="$(mktemp)"
                log_stdout="$(mktemp)"
                log_stderr="$(mktemp)"
       @@ -94,19 +102,14 @@ feeds() {
                        expect "0" "$?" "file should exist: $f"
                done
        
       -        # cleanup test
       -        rm -rf "$feedpath"
       -        rm -f "$log_stdout" "$log_stderr" "$rc"
       +        cleanup
        
                echo "test_one_fail: test OK" >&2
        }
        
        # test SIGTERM
        test_sigterm() {
       -        rc="$(mktemp)"
       -        log_stdout="$(mktemp)"
       -        log_stderr="$(mktemp)"
       -        feedpath="$(mktemp -d)"
       +        init_test
        
                cat > "$rc" <<!
        sfeedpath="$feedpath"
       @@ -139,16 +142,14 @@ feeds() {
        
                # TODO: test that temporary directory is properly cleaned up.
        
       -        # cleanup test
       -        rm -rf "$feedpath"
       -        rm -f "$log_stdout" "$log_stderr" "$rc"
       +        cleanup
        
                echo "test_sigterm: test OK" >&2
        }
        
        test_config_invocation() {
       -        log_stdout="$(mktemp)"
       -        log_stderr="$(mktemp)"
       +        init_test
       +
                "$SFEED_UPDATE" /dev/null 2> "$log_stderr"  # should say feeds function is not defined.
                expect "1" "$?" "exit statuscode"
        
       @@ -162,14 +163,13 @@ test_config_invocation() {
                #"$SFEED_UPDATE" /root # directory, no access
                #"$SFEED_UPDATE" /root/.sfeed/sfeedrc # no access
        
       +        cleanup
       +
                echo "test_config_invocation: test OK" >&2
        }
        
        test_tmpdir() {
       -        rc="$(mktemp)"
       -        feedpath="$(mktemp -d)"
       -        log_stdout="$(mktemp)"
       -        log_stderr="$(mktemp)"
       +        init_test
        
                cat > "$rc" <<!
        sfeedpath="$feedpath"
       @@ -188,7 +188,7 @@ feeds() {
                "$SFEED_UPDATE" "$rc" >"$log_stdout" 2> "$log_stderr"
                expect "0" "$?" "exit statuscode"
        
       -        rm -rf "$rc" "$feedpath" "$log_stdout" "$log_stderr"
       +        cleanup
        
                echo "test_tmpdir: test OK" >&2
        }