From 61a9448b58ca1320d97cfe580155cf23b5b9ad62 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Sat, 29 Sep 2012 13:55:12 -0400 Subject: [PATCH] test: Clear test-output output file before running Emacs tests Most Emacs tests end with a call to (test-output), which saves the buffer to a filed called OUTPUT. Previously, if the test code failed with an exception before this call, the test framework would then compare against the OUTPUT file from the last Emacs test, resulting in confusing diffs. This requires one tweak to an emacs test that made two calls to test_emacs and expected an OUTPUT file from the first call. We simply reverse the order of the test_emacs calls. --- test/emacs | 4 ++-- test/test-lib.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) 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 $@)" }