mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test: replace $PWD with YYY in emacs & emacs-show tests
When executed command line is written to *Notmuch errors* buffer, shell-quote-argument will backslash-escape any char that is not in "POSIX filename characters" (i.e. matching "[^-0-9a-zA-Z_./\n]"). Currently in two emacs tests shell has expanded $PWD as part of emacs variable, which will later be fed to #'shell-quote-argument and finally written to ERROR file. If $PWD contained non-POSIX filename characters, data in ERROR file will not match $PWD when later comparing in shell. Therefore, in these two particular cases the escaped $PWD is replaced with YYY in ERROR file and expected content is adjusted accordingly.
This commit is contained in:
parent
9c25d4bbf0
commit
2560996b7e
3 changed files with 24 additions and 12 deletions
15
test/emacs
15
test/emacs
|
@ -881,15 +881,16 @@ test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\"))
|
|||
(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)" "\
|
||||
|
||||
test_expect_equal "$(notmuch_emacs_error_sanitize notmuch_fail OUTPUT MESSAGES ERROR)" "\
|
||||
=== OUTPUT ===
|
||||
End of search results.
|
||||
---
|
||||
$PWD/notmuch_fail exited with status 1 (see *Notmuch errors* for more details)
|
||||
---
|
||||
=== MESSAGES ===
|
||||
YYY/notmuch_fail exited with status 1 (see *Notmuch errors* for more details)
|
||||
=== ERROR ===
|
||||
[XXX]
|
||||
$PWD/notmuch_fail exited with status 1
|
||||
command: $PWD/notmuch_fail search --format\=sexp --format-version\=2 --sort\=newest-first tag\:inbox
|
||||
YYY/notmuch_fail exited with status 1
|
||||
command: YYY/notmuch_fail search --format\=sexp --format-version\=2 --sort\=newest-first tag\:inbox
|
||||
exit status: 1"
|
||||
|
||||
test_begin_subtest "Search handles subprocess warnings"
|
||||
|
|
|
@ -181,14 +181,14 @@ test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\"))
|
|||
(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)" "\
|
||||
---
|
||||
test_expect_equal "$(notmuch_emacs_error_sanitize notmuch_fail OUTPUT MESSAGES ERROR)" "\
|
||||
=== OUTPUT ===
|
||||
=== MESSAGES ===
|
||||
This is an error (see *Notmuch errors* for more details)
|
||||
---
|
||||
=== ERROR ===
|
||||
[XXX]
|
||||
This is an error
|
||||
command: $PWD/notmuch_fail show --format\\=sexp --format-version\\=1 --exclude\\=false \\' \\* \\'
|
||||
command: YYY/notmuch_fail show --format\\=sexp --format-version\\=1 --exclude\\=false \\' \\* \\'
|
||||
exit status: 1
|
||||
stderr:
|
||||
This is an error
|
||||
|
|
|
@ -628,6 +628,17 @@ notmuch_json_show_sanitize ()
|
|||
-e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g'
|
||||
}
|
||||
|
||||
notmuch_emacs_error_sanitize ()
|
||||
{
|
||||
local command=$1
|
||||
shift
|
||||
for file in "$@"; do
|
||||
echo "=== $file ==="
|
||||
cat "$file"
|
||||
done | sed \
|
||||
-e 's/^\[.*\]$/[XXX]/' \
|
||||
-e "s|^\(command: \)\{0,1\}/.*/$command|\1YYY/$command|"
|
||||
}
|
||||
# End of notmuch helper functions
|
||||
|
||||
# Use test_set_prereq to tell that a particular prerequisite is available.
|
||||
|
|
Loading…
Reference in a new issue