aboutsummaryrefslogtreecommitdiff
path: root/test/test-lib.sh
diff options
context:
space:
mode:
authorThomas Jost <schnouki@schnouki.net>2011-12-07 10:46:17 +0100
committerDavid Bremner <bremner@debian.org>2011-12-11 10:40:14 -0400
commit2621f6cef19acc99745c389f5e324fea55f655d8 (patch)
tree9020f0e0ed2a7d8e75c50e0f301e7201d04924be /test/test-lib.sh
parent3aca0ea421786e7dc6416390f236886e2f03c58e (diff)
test: add a function to run Python tests
The new test_python() function makes writing Python tests a little easier: - it sets the environment variables as needed - it redirects stdout to the OUTPUT file (like test_emacs()). This commit also declares python as an external prereq. The stdout redirection is required to avoid trouble when running commands like "python 'script' | sort > OUTPUT": in such a case, any error due to a missing external prereq would be "swallowed" by sort, resulting to a failed test instead of a skipped one.
Diffstat (limited to 'test/test-lib.sh')
-rw-r--r--test/test-lib.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/test-lib.sh b/test/test-lib.sh
index a48faf5..bffac77 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -919,6 +919,14 @@ test_emacs () {
emacsclient --socket-name="$EMACS_SERVER" --eval "(progn $@)"
}
+test_python() {
+ export LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib
+ export PYTHONPATH=$TEST_DIRECTORY/../bindings/python
+
+ (echo "import sys; _orig_stdout=sys.stdout; sys.stdout=open('OUTPUT', 'w')"; cat) \
+ | python -
+}
+
# 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 +1188,4 @@ 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