X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=c81c709b511ffbbbee1205379a4dd6ce8ee67e2a;hb=95cf33cc78c318e9833e9c9fe0a656b6a80e6bea;hp=b1b0db89602838e78c0d9577cd205842c7835bfe;hpb=5ae1b9c328518a3b09be827ee59498b0598119ff;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index b1b0db89..c81c709b 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -50,6 +50,8 @@ TZ=UTC TERM=dumb export LANG LC_ALL PAGER TERM TZ GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} +export SCREENRC=/dev/null +export SYSSCREENRC=/dev/null # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -462,6 +464,7 @@ test_expect_equal () fi } +# Like test_expect_equal, but takes two filenames. test_expect_equal_file () { exec 1>&6 2>&7 # Restore stdout and stderr @@ -563,6 +566,7 @@ test_failure_ () { test_failure=$(($test_failure + 1)) test_failure_message_ "FAIL" "$@" test "$immediate" = "" || { GIT_EXIT_OK=t; exit 1; } + return 1 } test_failure_message_ () { @@ -584,6 +588,7 @@ test_known_broken_failure_ () { test_subtest_known_broken_= test_broken=$(($test_broken+1)) test_failure_message_ "BROKEN" "$@" + return 1 } test_debug () { @@ -722,7 +727,7 @@ test_external_without_stderr () { fi } -# This is not among top-level (test_expect_success | test_expect_failure) +# This is not among top-level (test_expect_success) # but is a prefix that can be used in the test script, like: # # test_expect_success 'complain and die' ' @@ -838,10 +843,16 @@ EOF test_emacs () { if [ -z "$EMACS_SERVER" ]; then EMACS_SERVER="notmuch-test-suite-$$" - "$TMP_DIRECTORY/run_emacs" \ - --daemon \ + # start a detached screen session with an emacs server + screen -S "$EMACS_SERVER" -d -m "$TMP_DIRECTORY/run_emacs" \ + --no-window-system \ --eval "(setq server-name \"$EMACS_SERVER\")" \ + --eval '(server-start)' \ --eval "(orphan-watchdog $$)" || return + # wait until the emacs server is up + until test_emacs '()' 2>/dev/null; do + sleep 1 + done fi emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"