]> git.notmuchmail.org Git - notmuch/blobdiff - test/test-lib.sh
emacs: fix docstring for `notmuch-search-line-faces'.
[notmuch] / test / test-lib.sh
index a48faf5cf5298dc724cffa510bcc3eb3dec26c4e..b5e346c0c544abdfdfe7700b7b14385123d72719 100644 (file)
@@ -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
 
@@ -919,6 +931,20 @@ test_emacs () {
        emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
 }
 
+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) \
+               | $cmd -
+}
+
 # Creates a script that counts how much time it is executed and calls
 # notmuch.  $notmuch_counter_command is set to the path to the
 # generated script.  Use notmuch_counter_value() function to get the
@@ -1180,3 +1206,5 @@ test_declare_external_prereq emacs
 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