diff --git a/test/emacs b/test/emacs index 5403930b..5067d67b 100755 --- a/test/emacs +++ b/test/emacs @@ -853,4 +853,27 @@ test_expect_success "Rendering HTML mail with images" \ 'cat OUTPUT && grep -q smiley OUTPUT' +test_begin_subtest "Search handles subprocess errors" +cat > notmuch_fail <&2 +exit 1 +EOF +chmod a+x notmuch_fail +test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\")) + (notmuch-search \"tag:inbox\") + (notmuch-test-wait) + (test-output) + (with-current-buffer \"*Notmuch errors*\" + (test-output \"ERROR\")))" +test_expect_equal "$(cat OUTPUT ERROR)" "\ +Error: Unexpected output from notmuch search: +This is output +Error: Unexpected output from notmuch search: +This is an error +End of search results. +Error invoking notmuch. $PWD/notmuch_fail search --format=json --sort=newest-first tag:inbox exited with status 1." + + test_done