From: Pieter Praet <pieter@praet.org> Adds a new test that checks for the presence of 'emacs', and adds that test as a prereq to all subsequent tests that rely on Emacs. This causes tests with unmet dependencies to be skipped. Signed-off-by: Pieter Praet <pieter@praet.org> Conflicts: test/emacs --- test/emacs | 82 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 44 insertions(+), 38 deletions(-) diff --git a/test/emacs b/test/emacs index 75a0a74..ea641af 100755 --- a/test/emacs +++ b/test/emacs @@ -3,6 +3,11 @@ test_description="emacs interface" . test-lib.sh +# Emacs is a prereq. +test_set_bin_prereq dtach "dtach" DTACH +test_have_prereq DTACH && test_set_bin_prereq emacs "Emacs" EMACS + + EXPECTED=$TEST_DIRECTORY/emacs.expected-output add_email_corpus @@ -10,7 +15,7 @@ add_email_corpus test_begin_subtest "Basic notmuch-hello view in emacs" test_emacs '(notmuch-hello) (test-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-hello test_begin_subtest "Saved search with 0 results" test_emacs '(let ((notmuch-show-empty-saved-searches t) @@ -20,20 +25,20 @@ test_emacs '(let ((notmuch-show-empty-saved-searches t) ("empty" . "tag:doesnotexist")))) (notmuch-hello) (test-output))' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-with-empty +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-hello-with-empty test_begin_subtest "No saved searches displayed (all with 0 results)" test_emacs '(let ((notmuch-saved-searches '\''(("empty" . "tag:doesnotexist")))) (notmuch-hello) (test-output))' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-no-saved-searches +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-hello-no-saved-searches test_begin_subtest "Basic notmuch-search view in emacs" test_emacs '(notmuch-search "tag:inbox") (notmuch-test-wait) (test-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-search-tag-inbox +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-search-tag-inbox test_begin_subtest "Navigation of notmuch-hello to search results" test_emacs '(notmuch-hello) @@ -42,13 +47,13 @@ test_emacs '(notmuch-hello) (widget-button-press (point)) (notmuch-test-wait) (test-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-hello-view-inbox +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-hello-view-inbox test_begin_subtest "Basic notmuch-show view in emacs" maildir_storage_thread=$(notmuch search --output=threads id:20091117190054.GU3165@dottiness.seas.harvard.edu) test_emacs "(notmuch-show \"$maildir_storage_thread\") (test-output)" -test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage test_begin_subtest "notmuch-show for message with invalid From" add_message "[subject]=\"message-with-invalid-from\"" \ @@ -64,7 +69,7 @@ Date: Tue, 05 Jan 2001 15:43:57 -0000 This is just a test message (#1) EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Navigation of notmuch-search to thread view" test_emacs '(notmuch-search "tag:inbox") @@ -74,7 +79,7 @@ test_emacs '(notmuch-search "tag:inbox") (notmuch-search-show-thread) (notmuch-test-wait) (test-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage test_begin_subtest "Add tag from search view" os_x_darwin_thread=$(notmuch search --output=threads id:ddd65cda0911171950o4eea4389v86de9525e46052d3@mail.gmail.com) @@ -82,26 +87,26 @@ test_emacs "(notmuch-search \"$os_x_darwin_thread\") (notmuch-test-wait) (notmuch-search-add-tag \"tag-from-search-view\")" output=$(notmuch search $os_x_darwin_thread | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-search-view unread)" +test_expect_equal EMACS "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-search-view unread)" test_begin_subtest "Remove tag from search view" test_emacs "(notmuch-search \"$os_x_darwin_thread\") (notmuch-test-wait) (notmuch-search-remove-tag \"tag-from-search-view\")" output=$(notmuch search $os_x_darwin_thread | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" +test_expect_equal EMACS "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" test_begin_subtest "Add tag from notmuch-show view" test_emacs "(notmuch-show \"$os_x_darwin_thread\") (notmuch-show-add-tag \"tag-from-show-view\")" output=$(notmuch search $os_x_darwin_thread | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-show-view unread)" +test_expect_equal EMACS "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox tag-from-show-view unread)" test_begin_subtest "Remove tag from notmuch-show view" test_emacs "(notmuch-show \"$os_x_darwin_thread\") (notmuch-show-remove-tag \"tag-from-show-view\")" output=$(notmuch search $os_x_darwin_thread | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" +test_expect_equal EMACS "$output" "thread:XXX 2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry; [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)" test_begin_subtest "Message with .. in Message-Id:" add_message [id]=123..456@example '[subject]="Message with .. in Message-Id"' @@ -116,10 +121,10 @@ test_emacs '(notmuch-search "id:\"123..456@example\"") (notmuch-show-add-tag "show-remove") (notmuch-show-remove-tag "show-remove")' output=$(notmuch search 'id:"123..456@example"' | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Message with .. in Message-Id (inbox search-add show-add)" +test_expect_equal EMACS "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Message with .. in Message-Id (inbox search-add show-add)" test_begin_subtest "Sending a message via (fake) SMTP" -emacs_deliver_message \ +test_have_prereq EMACS && emacs_deliver_message \ 'Testing message sent via SMTP' \ 'This is a test that messages are sent via SMTP' \ '(message-goto-to) @@ -140,12 +145,12 @@ Content-Type: text/plain; charset=us-ascii This is a test that messages are sent via SMTP EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Verify that sent messages are saved/searchable (via FCC)" notmuch new > /dev/null output=$(notmuch search 'subject:"testing message sent via SMTP"' | notmuch_search_sanitize) -test_expect_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)" +test_expect_equal EMACS "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; Testing message sent via SMTP (inbox)" test_begin_subtest "notmuch-fcc-dirs set to nil" test_emacs "(let ((notmuch-fcc-dirs nil)) @@ -157,7 +162,7 @@ To: Subject: --text follows this line-- EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED # Make another FCC maildir specific for the next test mkdir -p mail/sent-string/cur @@ -175,7 +180,7 @@ Subject: Fcc: ${MAIL_DIR}/sent-string --text follows this line-- EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED # Make more FCC maildirs specific for the next test mkdir -p mail/sent-list-match/cur @@ -198,7 +203,7 @@ Subject: Fcc: ${MAIL_DIR}/sent-list-match --text follows this line-- EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED # Make another FCC maildir specific for the next test mkdir -p mail/sent-list-catch-all/cur @@ -218,7 +223,7 @@ Subject: Fcc: ${MAIL_DIR}/sent-list-catch-all --text follows this line-- EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "notmuch-fcc-dirs set to a list (no match)" test_emacs "(let ((notmuch-fcc-dirs @@ -232,14 +237,14 @@ To: Subject: --text follows this line-- EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Reply within emacs" test_emacs '(notmuch-search "subject:\"testing message sent via SMTP\"") (notmuch-test-wait) (notmuch-search-reply-to-thread) (test-output)' -sed -i -e 's/^In-Reply-To: <.*>$/In-Reply-To: <XXX>/' OUTPUT +sed -i -e 's/^In-Reply-To: <.*>$/In-Reply-To: <XXX>/' EMACS OUTPUT cat <<EOF >EXPECTED From: Notmuch Test Suite <test_suite@notmuchmail.org> To: user@example.com @@ -250,26 +255,26 @@ Fcc: $(pwd)/mail/sent On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote: > This is a test that messages are sent via SMTP EOF -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Save attachment from within emacs using notmuch-show-save-attachments" # save as archive to test that Emacs does not re-compress .gz test_emacs '(let ((standard-input "\"attachment1.gz\"")) (notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com") (notmuch-show-save-attachments))' -test_expect_equal_file attachment1.gz "$EXPECTED/attachment" +test_expect_equal_file EMACS attachment1.gz "$EXPECTED/attachment" test_begin_subtest "Save attachment from within emacs using notmuch-show-save-part" # save as archive to test that Emacs does not re-compress .gz test_emacs '(let ((standard-input "\"attachment2.gz\"")) (notmuch-show-save-part "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com" 5))' -test_expect_equal_file attachment2.gz "$EXPECTED/attachment" +test_expect_equal_file EMACS attachment2.gz "$EXPECTED/attachment" test_begin_subtest "View raw message within emacs" test_emacs '(notmuch-show "id:cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com") (notmuch-show-view-raw-message) (test-output)' -test_expect_equal_file OUTPUT $EXPECTED/raw-message-cf0c4d-52ad0a +test_expect_equal_file EMACS OUTPUT $EXPECTED/raw-message-cf0c4d-52ad0a test_begin_subtest "Hiding/showing signature in notmuch-show view" maildir_storage_thread=$(notmuch search --output=threads id:20091117190054.GU3165@dottiness.seas.harvard.edu) @@ -279,7 +284,7 @@ test_emacs "(notmuch-show \"$maildir_storage_thread\") (search-backward \"Click/Enter to hide.\") (button-activate (button-at (point))) (test-output)" -test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-show-thread-maildir-storage test_begin_subtest "Detection and hiding of top-post quoting of message" add_message '[subject]="The problem with top-posting"' \ @@ -326,13 +331,13 @@ Thanks for the advice! I will be sure to put it to good use. -Top Poster [ 9-line hidden original message. Click/Enter to show. ]" > EXPECTED -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Hiding message in notmuch-show view" test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com") (notmuch-show-toggle-message) (test-visible-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-with-hidden-messages +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-show-thread-with-hidden-messages test_begin_subtest "Hiding message with visible citation in notmuch-show view" test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com") @@ -340,7 +345,7 @@ test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail. (button-activate (button-at (point))) (notmuch-show-toggle-message) (test-visible-output)' -test_expect_equal_file OUTPUT $EXPECTED/notmuch-show-thread-with-hidden-messages +test_expect_equal_file EMACS OUTPUT $EXPECTED/notmuch-show-thread-with-hidden-messages test_begin_subtest "Stashing in notmuch-show" add_message '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' \ @@ -370,7 +375,7 @@ test_emacs '(notmuch-show "id:\"bought\"") (reverse-region (point-min) (point-max)) (test-output)' sed -i -e 's/^.*tmp.emacs\/mail.*$/FILENAME/' OUTPUT -test_expect_equal_file OUTPUT $EXPECTED/emacs-stashing +test_expect_equal_file EMACS OUTPUT $EXPECTED/emacs-stashing test_begin_subtest "Stashing in notmuch-search" test_emacs '(notmuch-search "id:\"bought\"") @@ -381,12 +386,13 @@ test_emacs '(notmuch-search "id:\"bought\"") (yank) (test-output)' sed -i -e 's/^thread:.*$/thread:XXX/' OUTPUT -test_expect_equal $(cat OUTPUT) "thread:XXX" +output=$(cat OUTPUT) +test_expect_equal EMACS "$output" "thread:XXX" test_begin_subtest 'Hiding message following HTML part' test_subtest_known_broken id='html-message@notmuchmail.org' -emacs_deliver_message \ +test_have_prereq EMACS && emacs_deliver_message \ 'HTML message' \ '' \ "(message-goto-eoh) @@ -394,7 +400,7 @@ emacs_deliver_message \ (message-goto-body) (mml-insert-part \"text/html\") (insert \"<body>This is a test HTML message</body>\")" -emacs_deliver_message \ +test_have_prereq EMACS && emacs_deliver_message \ 'Reply to HTML message' \ 'This is a reply to the test HTML message' \ "(message-goto-eoh) @@ -407,7 +413,7 @@ test_emacs "(notmuch-show \"id:$id\") \ (notmuch-show-next-message) \ (notmuch-show-toggle-message) \ (test-visible-output \"EXPECTED\")" -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest 'notmuch-show-advance-and-archive with invisible signature' message1='id:20091118010116.GC25380@dottiness.seas.harvard.edu' @@ -421,14 +427,14 @@ test_emacs "(notmuch-search \"$message1 or $message2\") (test-output)" test_emacs "(notmuch-show \"$message2\") (test-output \"EXPECTED\")" -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Refresh show buffer" test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com") (test-visible-output "EXPECTED") (notmuch-show-refresh-view) (test-visible-output)' -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_begin_subtest "Refresh modified show buffer" test_subtest_known_broken @@ -439,6 +445,6 @@ test_emacs '(notmuch-show "id:f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail. (test-visible-output "EXPECTED") (notmuch-show-refresh-view) (test-visible-output)' -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file EMACS OUTPUT EXPECTED test_done -- 1.7.7.3