]> git.cworth.org Git - notmuch/blobdiff - test/test-lib.sh
test: add test state reset to test_expect_* functions that did not have it
[notmuch] / test / test-lib.sh
old mode 100755 (executable)
new mode 100644 (file)
index 93867b0..076f929
@@ -429,7 +429,7 @@ test_begin_subtest ()
        error "bug in test script: Missing test_expect_equal in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}"
     fi
     test_subtest_name="$1"
-    test_subtest_known_broken_=
+    test_reset_state_
     # Remember stdout and stderr file descriptors and redirect test
     # output to the previously prepared file descriptors 3 and 4 (see
     # below)
@@ -581,14 +581,14 @@ test_failure_message_ () {
 }
 
 test_known_broken_ok_ () {
-       test_subtest_known_broken_=
+       test_reset_state_
        test_fixed=$(($test_fixed+1))
        say_color pass "%-6s" "FIXED"
        echo " $@"
 }
 
 test_known_broken_failure_ () {
-       test_subtest_known_broken_=
+       test_reset_state_
        test_broken=$(($test_broken+1))
        test_failure_message_ "BROKEN" "$@"
        return 1
@@ -624,7 +624,7 @@ test_skip () {
        fi
        case "$to_skip" in
        t)
-               test_subtest_known_broken_=
+               test_reset_state_
                say_color skip >&3 "skipping test: $@"
                say_color skip "%-6s" "SKIP"
                echo " $1"
@@ -644,6 +644,7 @@ test_expect_success () {
        test "$#" = 3 && { prereq=$1; shift; } || prereq=
        test "$#" = 2 ||
        error "bug in the test script: not 2 or 3 parameters to test-expect-success"
+       test_reset_state_
        if ! test_skip "$@"
        then
                test_run_ "$2"
@@ -660,6 +661,7 @@ test_expect_code () {
        test "$#" = 4 && { prereq=$1; shift; } || prereq=
        test "$#" = 3 ||
        error "bug in the test script: not 3 or 4 parameters to test-expect-code"
+       test_reset_state_
        if ! test_skip "$@"
        then
                test_run_ "$3"
@@ -686,6 +688,7 @@ test_external () {
        error >&5 "bug in the test script: not 3 or 4 parameters to test_external"
        descr="$1"
        shift
+       test_reset_state_
        if ! test_skip "$descr" "$@"
        then
                # Announce the script to reduce confusion about the
@@ -845,16 +848,17 @@ EOF
 
 test_emacs () {
        if [ -z "$EMACS_SERVER" ]; then
-               EMACS_SERVER="notmuch-test-suite-$$"
+               server_name="notmuch-test-suite-$$"
                # start a detached session with an emacs server
                # user's TERM is given to dtach which assumes a minimally
                # VT100-compatible terminal -- and emacs inherits that
                TERM=$ORIGINAL_TERM dtach -n "$TEST_TMPDIR/emacs-dtach-socket.$$" \
                        sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \
                                --no-window-system \
-                               --eval '(setq server-name \"$EMACS_SERVER\")' \
+                               --eval '(setq server-name \"$server_name\")' \
                                --eval '(server-start)' \
                                --eval '(orphan-watchdog $$)'" || return
+               EMACS_SERVER="$server_name"
                # wait until the emacs server is up
                until test_emacs '()' 2>/dev/null; do
                        sleep 1
@@ -864,6 +868,10 @@ test_emacs () {
        emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
 }
 
+test_reset_state_ () {
+       test_subtest_known_broken_=
+}
+
 
 find_notmuch_path ()
 {