X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=418eaa7f6404097f0ba31a0a3a4fe8f9a66d7f6d;hb=0b6349d70557589563f6eb2a23c2a1fa1330e54a;hp=168123a2c267773f6537dca8bb13e3c66da10253;hpb=a09921bdfb47ff15f32bcea9f24e8399b1b8db36;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index 168123a2..418eaa7f 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -245,6 +245,12 @@ increment_mtime () # Generate the message in directory 'directory/of/choice' within # the mail store. The directory will be created if necessary. # +# [filename]=name +# +# Store the message in file 'name'. The default is to store it +# in 'msg-', where is three-digit number of the +# message. +# # [body]=text # # Text to use as the body of the email message @@ -281,10 +287,14 @@ generate_message () local additional_headers gen_msg_cnt=$((gen_msg_cnt + 1)) - gen_msg_name=msg-$(printf "%03d" $gen_msg_cnt) + if [ -z "${template[filename]}" ]; then + gen_msg_name="msg-$(printf "%03d" $gen_msg_cnt)" + else + gen_msg_name=${template[filename]} + fi if [ -z "${template[id]}" ]; then - gen_msg_id="${gen_msg_name}@notmuch-test-suite" + gen_msg_id="${gen_msg_name%:2,*}@notmuch-test-suite" else gen_msg_id="${template[id]}" fi @@ -748,7 +758,6 @@ test_emacs () { cat < run_emacs #!/bin/sh export PATH=$PATH -export HOME=$HOME export NOTMUCH_CONFIG=$NOTMUCH_CONFIG # We assume that the user will give a command-line argument only if @@ -757,10 +766,30 @@ if [ \$# -gt 0 ]; then BATCH=--batch fi -emacs \$BATCH --no-site-file --directory ../../emacs --load notmuch.el \ +# Here's what we are using here: +# +# --batch: Quit after given commands and print all (messages) +# +# --no-init-file Don't load users ~/.emacs +# +# --no-site-file Don't load the site-wide startup stuff +# +# --directory Ensure that the local notmuch.el source is found +# +# --load Force loading of notmuch.el +# +# notmuch-test-wait Function for tests to use to wait for process completion +# +# message-signature Avoiding appending user's signature on messages +# +# set-frame-width 80 columns (avoids crazy 10-column default of --batch) + +emacs \$BATCH --no-init-file --no-site-file \ + --directory ../../emacs --load notmuch.el \ --eval "(defun notmuch-test-wait () (while (get-buffer-process (current-buffer)) (sleep-for 0.1)))" \ + --eval "(setq message-signature nil)" \ --eval "(progn (set-frame-width (window-frame (get-buffer-window)) 80) \$@)" EOF chmod a+x ./run_emacs @@ -869,8 +898,7 @@ rm -fr "$test" || { } MAIL_DIR="${TMP_DIRECTORY}/mail" -export HOME="${TMP_DIRECTORY}" -export NOTMUCH_CONFIG="${HOME}/notmuch-config" +export NOTMUCH_CONFIG="${TMP_DIRECTORY}/notmuch-config" mkdir -p "${test}" mkdir -p "${MAIL_DIR}" @@ -891,7 +919,6 @@ EOF cd -P "$test" || error "Cannot setup test environment" this_test=${0##*/} -this_test=${this_test%%-*} for skp in $NOTMUCH_SKIP_TESTS do to_skip=