From 2621f6cef19acc99745c389f5e324fea55f655d8 Mon Sep 17 00:00:00 2001 From: Thomas Jost Date: Wed, 7 Dec 2011 10:46:17 +0100 Subject: 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. --- test/test-lib.sh | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/test-lib.sh') diff --git a/test/test-lib.sh b/test/test-lib.sh index a48faf5c..bffac77a 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 -- cgit v1.2.3