X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Femacs-show;h=9f2ccb0e54fb86182e0448a035a9c0f07fa059ac;hp=ec3be8b9ee02e689c3d86ccc03a3eb6e374bad7a;hb=401dbebd4803477563eff03d719605ed37a8e44d;hpb=87a05adba3b2f4b57f0efb138b0a601d3eb48ade diff --git a/test/emacs-show b/test/emacs-show index ec3be8b9..9f2ccb0e 100755 --- a/test/emacs-show +++ b/test/emacs-show @@ -1,7 +1,7 @@ #!/usr/bin/env bash test_description="emacs notmuch-show view" -. test-lib.sh +. ./test-lib.sh EXPECTED=$TEST_DIRECTORY/emacs-show.expected-output @@ -163,4 +163,38 @@ EOF test_expect_equal_file OUTPUT EXPECTED +test_begin_subtest "Show handles subprocess errors" +cat > notmuch_fail <&2 +exit 1 +EOF +chmod a+x notmuch_fail +test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\")) + (with-current-buffer \"*Messages*\" (erase-buffer)) + (condition-case err + (notmuch-show \"*\") + (error (message \"%s\" (second err)))) + (notmuch-test-wait) + (with-current-buffer \"*Messages*\" + (test-output \"MESSAGES\")) + (with-current-buffer \"*Notmuch errors*\" + (test-output \"ERROR\")) + (test-output))" +sed -i -e 's/^\[.*\]$/[XXX]/' ERROR +test_expect_equal "$(cat OUTPUT; echo ---; cat MESSAGES; echo ---; cat ERROR)" "\ +--- +This is an error (see *Notmuch errors* for more details) +--- +[XXX] +This is an error +command: $PWD/notmuch_fail show --format\\=json --format-version\\=1 --exclude\\=false \\' \\* \\' +exit status: 1 +stderr: +This is an error +stdout: +This is output" + + test_done