X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=ff18fae616b2aaf1a27dae10216309ded3006349;hb=75bdce79527571c12c5de0c630747d6262b73fbd;hp=04d93f7d07c03dee970716b805dbb8c14cea6134;hpb=652baa6fe6a93e401463e17a4ce6577efd3f7fea;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index 04d93f7d..ff18fae6 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -55,6 +55,9 @@ done,*) ;; esac +# STDIN from /dev/null. EOF for readers (and ENOTTY for tty related ioctls). +exec &1 7>&2 # Make xtrace debugging (when used) use redirected STDERR, with verbose lead: @@ -120,6 +123,8 @@ add_gnupg_home () # Change this if we ship a new test key FINGERPRINT="5AEAB11F5E33DCE875DDB75B6D92612D94E46381" + SELF_USERID="Notmuch Test Suite (INSECURE!)" + printf '%s:6:\n' "$FINGERPRINT" | gpg --quiet --batch --no-tty --import-ownertrust } # Each test should start with something like this, after copyright notices: @@ -129,15 +134,7 @@ add_gnupg_home () # ' # . ./test-lib.sh || exit 1 -[ "x$ORIGINAL_TERM" != "xdumb" ] && ( - TERM=$ORIGINAL_TERM && - export TERM && - [ -t 1 ] && - tput bold >/dev/null 2>&1 && - tput setaf 1 >/dev/null 2>&1 && - tput sgr0 >/dev/null 2>&1 - ) && - color=t +color=maybe while test "$#" -ne 0 do @@ -178,6 +175,21 @@ else } fi +test -n "$COLORS_WITHOUT_TTY" || [ -t 1 ] || color= + +if [ -n "$color" ] && [ "$ORIGINAL_TERM" != 'dumb' ] && ( + TERM=$ORIGINAL_TERM && + export TERM && + tput bold + tput setaf + tput sgr0 + ) >/dev/null 2>&1 +then + color=t +else + color= +fi + if test -n "$color"; then say_color () { ( @@ -315,16 +327,17 @@ 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} - # eval'ing smtp-dummy --background will set smtp_dummy_pid - smtp_dummy_pid= + # eval'ing smtp-dummy --background will set smtp_dummy_pid and -_port + local smtp_dummy_pid= smtp_dummy_port= eval `$TEST_DIRECTORY/smtp-dummy --background sent_message` test -n "$smtp_dummy_pid" || return 1 + test -n "$smtp_dummy_port" || return 1 test_emacs \ "(let ((message-send-mail-function 'message-smtpmail-send-it) - (mail-host-address \"example.com\") + (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\") @@ -332,7 +345,7 @@ emacs_deliver_message () (insert \"${subject}\") (message-goto-body) (insert \"${body}\") - $@ + $* (notmuch-mua-send-and-exit))" # In case message was sent properly, client waits for confirmation @@ -376,7 +389,7 @@ emacs_fcc_message () (insert \"${subject}\") (message-goto-body) (insert \"${body}\") - $@ + $* (notmuch-mua-send-and-exit))" || return 1 notmuch new $nmn_args >/dev/null } @@ -394,14 +407,8 @@ add_email_corpus () 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 () @@ -1000,7 +1007,7 @@ test_emacs () { rm -f OUTPUT touch OUTPUT - ${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(notmuch-test-progn $@)" + ${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(notmuch-test-progn $*)" } test_python() {