aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@MIT.EDU>2013-05-31 20:40:05 -0400
committerGravatar David Bremner <bremner@debian.org>2013-06-01 08:56:16 -0300
commit08fde50bf3a4c54f6413aff4052e0d84392463f9 (patch)
tree211409ceef966edec6c7e8bb9d58201ccf224104 /test
parenta13b388243247a423a8c8476e35a4ebe6c9bde5b (diff)
emacs: Use async process helper for search
Previously, search started the async notmuch process directly. Now, it uses `notmuch-start-notmuch'. This simplifies the process sentinel a bit and means that we no longer have to worry about errors interleaved with the JSON output. We also update the tests of Emacs error handling, since the error output is now separated from the search results buffer.
Diffstat (limited to 'test')
-rwxr-xr-xtest/emacs36
1 files changed, 32 insertions, 4 deletions
diff --git a/test/emacs b/test/emacs
index 3b26d32f..e3cf4690 100755
--- a/test/emacs
+++ b/test/emacs
@@ -855,11 +855,10 @@ test_expect_success "Rendering HTML mail with images" \
'cat OUTPUT && grep -q smiley OUTPUT'
-test_begin_subtest "Search handles subprocess errors"
+test_begin_subtest "Search handles subprocess error exit codes"
cat > notmuch_fail <<EOF
#!/bin/sh
echo This is output
-echo This is an error >&2
exit 1
EOF
chmod a+x notmuch_fail
@@ -876,8 +875,6 @@ sed -i -e 's/^\[.*\]$/[XXX]/' ERROR
test_expect_equal "$(cat OUTPUT; echo ---; cat MESSAGES; echo ---; cat ERROR)" "\
Error: Unexpected output from notmuch search:
This is output
-Error: Unexpected output from notmuch search:
-This is an error
End of search results.
---
$PWD/notmuch_fail exited with status 1 (see *Notmuch errors* for more details)
@@ -887,4 +884,35 @@ $PWD/notmuch_fail exited with status 1
command: $PWD/notmuch_fail search --format\=json --format-version\=1 --sort\=newest-first tag\:inbox
exit status: 1"
+test_begin_subtest "Search handles subprocess warnings"
+cat > notmuch_fail <<EOF
+#!/bin/sh
+echo This is output
+echo This is a warning >&2
+echo This is another warning >&2
+exit 0
+EOF
+chmod a+x notmuch_fail
+test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\"))
+ (with-current-buffer \"*Messages*\" (erase-buffer))
+ (with-current-buffer \"*Notmuch errors*\" (erase-buffer))
+ (notmuch-search \"tag:inbox\")
+ (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)" "\
+Error: Unexpected output from notmuch search:
+This is output
+End of search results.
+---
+This is a warning (see *Notmuch errors* for more details)
+---
+[XXX]
+This is a warning
+This is another warning"
+
test_done