test: add tests wrt ignoring user-specified files and directories

Files and directories which are specified in 'new.ignore' in the
config file shouldn't be indexed nor reported by `notmuch new'.

This is basically Pieter's work with Austin's comments addressed.
This commit is contained in:
Tomi Ollila 2012-02-15 11:17:30 +02:00 committed by David Bremner
parent e4ceb19cc7
commit 863c149514

View file

@ -153,4 +153,26 @@ rm -rf "${MAIL_DIR}"/two
output=$(NOTMUCH_NEW)
test_expect_equal "$output" "No new mail. Removed 3 messages."
# This test requires that notmuch new has been run at least once.
test_begin_subtest "Skip and report non-mail files"
generate_message
mkdir -p "${MAIL_DIR}"/.git && touch "${MAIL_DIR}"/.git/config
touch "${MAIL_DIR}"/ignored_file
touch "${MAIL_DIR}"/.ignored_hidden_file
output=$(NOTMUCH_NEW 2>&1)
test_expect_equal "$output" \
"Note: Ignoring non-mail file: ${MAIL_DIR}/.git/config
Note: Ignoring non-mail file: ${MAIL_DIR}/.ignored_hidden_file
Note: Ignoring non-mail file: ${MAIL_DIR}/ignored_file
Added 1 new message to the database."
test_begin_subtest "Ignore files and directories specified in new.ignore"
test_subtest_known_broken
generate_message
notmuch config set new.ignore .git ignored_file .ignored_hidden_file
touch "${MAIL_DIR}"/.git # change .git's mtime for notmuch new to rescan.
output=$(NOTMUCH_NEW 2>&1)
test_expect_equal "$output" "Added 1 new message to the database."
test_done