X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Ftest-lib.sh;h=22e387e49d0a8067351de747f8ce2ea90d6f8ceb;hp=48bace2c9368915d16ccaa9d9f9ec0dd67ca0e99;hb=47afbdfb7995d703987a273bccc3a60fedc6dd08;hpb=273d896097830235eca5f1bc87ac03e381280f1c diff --git a/test/test-lib.sh b/test/test-lib.sh index 48bace2c..22e387e4 100755 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -213,16 +213,6 @@ remove_cr () { tr '\015' Q | sed -e 's/Q$//' } -# Notmuch helper functions -increment_mtime_amount=0 -increment_mtime () -{ - dir="$1" - - increment_mtime_amount=$((increment_mtime_amount + 1)) - touch -d "+${increment_mtime_amount} seconds" "$dir" -} - # Generate a new message in the mail directory, with a unique message # ID and subject. The message is not added to the index. # @@ -364,9 +354,6 @@ Date: ${template[date]} ${additional_headers} ${template[body]} EOF - - # Ensure that the mtime of the containing directory is updated - increment_mtime "$(dirname "${gen_msg_filename}")" } # Generate a new message and add it to the database. @@ -392,7 +379,7 @@ emacs_deliver_message () shift 2 # before we can send a message, we have to prepare the FCC maildir mkdir -p "$MAIL_DIR"/sent/{cur,new,tmp} - ../smtp-dummy sent_message & + $TEST_DIRECTORY/smtp-dummy sent_message & smtp_dummy_pid=$! test_emacs \ "(let ((message-send-mail-function 'message-smtpmail-send-it) @@ -421,12 +408,12 @@ emacs_deliver_message () add_email_corpus () { rm -rf ${MAIL_DIR} - if [ -d ../corpus.mail ]; then - cp -a ../corpus.mail ${MAIL_DIR} + if [ -d $TEST_DIRECTORY/corpus.mail ]; then + cp -a $TEST_DIRECTORY/corpus.mail ${MAIL_DIR} else - cp -a ../corpus ${MAIL_DIR} + cp -a $TEST_DIRECTORY/corpus ${MAIL_DIR} notmuch new >/dev/null - cp -a ${MAIL_DIR} ../corpus.mail + cp -a ${MAIL_DIR} $TEST_DIRECTORY/corpus.mail fi } @@ -829,6 +816,8 @@ test_done () { echo + [ -n "$EMACS_SERVER" ] && test_emacs '(kill-emacs)' + if [ "$test_failure" = "0" ]; then if [ "$test_broken" = "0" ]; then rm -rf "$remove_tmp" @@ -848,16 +837,8 @@ emacs_generate_script () { export PATH=$PATH export NOTMUCH_CONFIG=$NOTMUCH_CONFIG -# We assume that the user will give a command-line argument only if -# wanting to run in batch mode. -if [ \$# -gt 0 ]; then - BATCH=--batch -fi - # 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 @@ -866,16 +847,24 @@ fi # # --load Force loading of notmuch.el and test-lib.el -emacs \$BATCH --no-init-file --no-site-file \ - --directory "$TMP_DIRECTORY/../../emacs" --load notmuch.el \ - --directory "$TMP_DIRECTORY/.." --load test-lib.el \ - --eval "(progn \$@)" +emacs --no-init-file --no-site-file \ + --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \ + --directory "$TEST_DIRECTORY" --load test-lib.el \ + "\$@" EOF chmod a+x "$TMP_DIRECTORY/run_emacs" } test_emacs () { - "$TMP_DIRECTORY/run_emacs" "$@" + if [ -z "$EMACS_SERVER" ]; then + EMACS_SERVER="notmuch-test-suite-$$" + "$TMP_DIRECTORY/run_emacs" \ + --daemon \ + --eval "(setq server-name \"$EMACS_SERVER\")" \ + --eval "(orphan-watchdog $$)" || return + fi + + emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)" } @@ -931,11 +920,11 @@ then test ! -d "$symlink_target" && test "#!" != "$(head -c 2 < "$symlink_target")" then - symlink_target=../valgrind.sh + symlink_target=$TEST_DIRECTORY/valgrind.sh fi case "$base" in *.sh|*.perl) - symlink_target=../unprocessed-script + symlink_target=$TEST_DIRECTORY/unprocessed-script esac # create the link, or replace it if it is out of date make_symlink "$symlink_target" "$GIT_VALGRIND/bin/$base" || exit