echo debug-quick-random >> "$GNUPGHOME"/gpg.conf
fi
echo no-emit-version >> "$GNUPGHOME"/gpg.conf
+
+ # Change this if we ship a new test key
+ FINGERPRINT="5AEAB11F5E33DCE875DDB75B6D92612D94E46381"
+ SELF_USERID="Notmuch Test Suite <test_suite@notmuchmail.org> (INSECURE!)"
+ printf '%s:6:\n' "$FINGERPRINT" | gpg --quiet --batch --no-tty --import-ownertrust
}
# Each test should start with something like this, after copyright notices:
"(let ((message-send-mail-function 'message-smtpmail-send-it)
(mail-host-address \"example.com\")
(smtpmail-smtp-server \"localhost\")
- (smtpmail-smtp-service \"25025\"))
+ (smtpmail-smtp-service \"${smtp_dummy_port}\"))
(notmuch-mua-mail)
(message-goto-to)
(insert \"test_suite@notmuchmail.org\nDate: 01 Jan 2000 12:00:00 -0000\")
# Accepts arbitrary extra emacs/elisp functions to modify the message
# before sending, which is useful to doing things like attaching files
# to the message and encrypting/signing.
+#
+# If any GNU-style long-arguments (like --quiet or --decrypt=true) are
+# at the head of the argument list, they are sent directly to "notmuch
+# new" after message delivery
emacs_fcc_message ()
{
+ local nmn_args=''
+ while [[ "$1" =~ ^-- ]]; do
+ nmn_args="$nmn_args $1"
+ shift
+ done
local subject="$1"
local body="$2"
shift 2
(insert \"${body}\")
$@
(notmuch-mua-send-and-exit))" || return 1
- notmuch new >/dev/null
+ notmuch new $nmn_args >/dev/null
}
# Add an existing, fixed corpus of email to the database.
corpus=${1:-default}
rm -rf ${MAIL_DIR}
- if [ -d $TEST_DIRECTORY/corpora.mail/$corpus ]; then
- cp -a $TEST_DIRECTORY/corpora.mail/$corpus ${MAIL_DIR}
- else
- cp -a $NOTMUCH_SRCDIR/test/corpora/$corpus ${MAIL_DIR}
- notmuch new >/dev/null || die "'notmuch new' failed while adding email corpus"
- mkdir -p $TEST_DIRECTORY/corpora.mail
- cp -a ${MAIL_DIR} $TEST_DIRECTORY/corpora.mail/$corpus
- fi
+ cp -a $NOTMUCH_SRCDIR/test/corpora/$corpus ${MAIL_DIR}
+ notmuch new >/dev/null || die "'notmuch new' failed while adding email corpus"
}
test_begin_subtest ()
notmuch_dir_sanitize | notmuch_built_with_sanitize
}
+notmuch_show_part ()
+{
+ awk '/^\014part}/{ f=0 }; { if (f) { print $0 } } /^\014part{ ID: '"$1"'/{ f=1 }'
+}
+
# End of notmuch helper functions
# Use test_set_prereq to tell that a particular prerequisite is available.
}
test_ruby() {
- MAIL_DIR=$MAIL_DIR ruby -I $NOTMUCH_SRCDIR/bindings/ruby> OUTPUT
+ MAIL_DIR=$MAIL_DIR $NOTMUCH_RUBY -I $NOTMUCH_SRCDIR/bindings/ruby> OUTPUT
}
test_C () {
}
-. "$NOTMUCH_SRCDIR/test/test-lib-common.sh" || exit 1
+# Where to run the tests
+TEST_DIRECTORY=$NOTMUCH_BUILDDIR/test
-if [ "${NOTMUCH_GMIME_MAJOR}" = 3 ]; then
- test_subtest_broken_gmime_3 () {
- test_subtest_known_broken
- }
- test_subtest_broken_gmime_2 () {
- true
- }
-else
- test_subtest_broken_gmime_3 () {
- true
- }
- test_subtest_broken_gmime_2 () {
- test_subtest_known_broken
- }
-fi
+. "$NOTMUCH_SRCDIR/test/test-lib-common.sh" || exit 1
emacs_generate_script