X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Ftest-lib.sh;h=d1fbc054dde05b11c9b7646146e97f0adcd6c5a5;hb=8ae753f30fb90419c50b9bb1fc87618dd1663bc9;hp=bffac77a870656e82ba98d9e342c41e06fd95276;hpb=2621f6cef19acc99745c389f5e324fea55f655d8;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index bffac77a..d1fbc054 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -1,4 +1,3 @@ -#!/usr/bin/env bash # # Copyright (c) 2005 Junio C Hamano # @@ -50,6 +49,7 @@ TZ=UTC TERM=dumb export LANG LC_ALL PAGER TERM TZ GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} +TEST_EMACS=${TEST_EMACS:-${EMACS:-emacs}} # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -116,6 +116,16 @@ do esac done +if test -n "$debug"; then + print_subtest () { + printf " %-4s" "[$((test_count - 1))]" + } +else + print_subtest () { + true + } +fi + if test -n "$color"; then say_color () { ( @@ -132,6 +142,7 @@ if test -n "$color"; then printf " " printf "$@" tput sgr0 + print_subtest ) } else @@ -140,6 +151,7 @@ else shift printf " " printf "$@" + print_subtest } fi @@ -310,7 +322,7 @@ generate_message () fi if [ -z "${template[date]}" ]; then - template[date]="Tue, 05 Jan 2001 15:43:57 -0000" + template[date]="Fri, 05 Jan 2001 15:43:57 +0000" fi additional_headers="" @@ -885,7 +897,7 @@ export NOTMUCH_CONFIG=$NOTMUCH_CONFIG # # --load Force loading of notmuch.el and test-lib.el -exec emacs --no-init-file --no-site-file \ +exec ${TEST_EMACS} --no-init-file --no-site-file \ --directory "$TEST_DIRECTORY/../emacs" --load notmuch.el \ --directory "$TEST_DIRECTORY" --load test-lib.el \ "\$@" @@ -895,8 +907,11 @@ EOF test_emacs () { # test dependencies beforehand to avoid the waiting loop below - test_require_external_prereq emacs || return - test_require_external_prereq emacsclient || return + missing_dependencies= + test_require_external_prereq dtach || missing_dependencies=1 + test_require_external_prereq emacs || missing_dependencies=1 + test_require_external_prereq emacsclient || missing_dependencies=1 + test -z "$missing_dependencies" || return if [ -z "$EMACS_SERVER" ]; then server_name="notmuch-test-suite-$$" @@ -923,8 +938,14 @@ test_python() { export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib export PYTHONPATH=$TEST_DIRECTORY/../bindings/python + # Some distros (e.g. Arch Linux) ship Python 2.* as /usr/bin/python2, + # most others as /usr/bin/python. So first try python2, and fallback to + # python if python2 doesn't exist. + cmd=python2 + [[ "$test_missing_external_prereq_python2_" = t ]] && cmd=python + (echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \ - | python - + | $cmd - } # Creates a script that counts how much time it is executed and calls @@ -1189,3 +1210,4 @@ test_declare_external_prereq emacsclient test_declare_external_prereq gdb test_declare_external_prereq gpg test_declare_external_prereq python +test_declare_external_prereq python2