X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Femacs-show;h=9f2ccb0e54fb86182e0448a035a9c0f07fa059ac;hb=6b405143d76bdbb99a101ae88b2e63224371d911;hp=b670abf65ed22623183316fbe45b46664b6c3a05;hpb=3bd8494da0dfef973c1328b16cd848f144e3ac27;p=notmuch diff --git a/test/emacs-show b/test/emacs-show index b670abf6..9f2ccb0e 100755 --- a/test/emacs-show +++ b/test/emacs-show @@ -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