diff --git a/test/emacs b/test/emacs index 5d118b67..174a9ac9 100755 --- a/test/emacs +++ b/test/emacs @@ -653,6 +653,8 @@ test_expect_equal "$(cat OUTPUT)" "thread:XXX" test_begin_subtest 'notmuch-show-advance-and-archive with invisible signature' message1='id:20091118010116.GC25380@dottiness.seas.harvard.edu' message2='id:1258491078-29658-1-git-send-email-dottedmag@dottedmag.net' +test_emacs "(notmuch-show \"$message2\") + (test-output \"EXPECTED\")" test_emacs "(notmuch-search \"$message1 or $message2\") (notmuch-test-wait) (notmuch-search-show-thread) @@ -660,8 +662,6 @@ test_emacs "(notmuch-search \"$message1 or $message2\") (redisplay) (notmuch-show-advance-and-archive) (test-output)" -test_emacs "(notmuch-show \"$message2\") - (test-output \"EXPECTED\")" test_expect_equal_file OUTPUT EXPECTED test_begin_subtest "Refresh show buffer" diff --git a/test/test-lib.sh b/test/test-lib.sh index f34b1fb8..7448b454 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -985,6 +985,14 @@ test_emacs () { done fi + # Clear test-output output file. Most Emacs tests end with a + # call to (test-output). If the test code fails with an + # exception before this call, the output file won't get + # updated. Since we don't want to compare against an output + # file from another test, so start out with an empty file. + rm -f OUTPUT + touch OUTPUT + emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)" }