diff options
author | Thomas Jost <schnouki@schnouki.net> | 2011-12-07 10:46:17 +0100 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2011-12-11 10:40:14 -0400 |
commit | 2621f6cef19acc99745c389f5e324fea55f655d8 (patch) | |
tree | 9020f0e0ed2a7d8e75c50e0f301e7201d04924be /test | |
parent | 3aca0ea421786e7dc6416390f236886e2f03c58e (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')
-rwxr-xr-x | test/python | 6 | ||||
-rw-r--r-- | test/test-lib.sh | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/test/python b/test/python index f737749f..c3aa7266 100755 --- a/test/python +++ b/test/python @@ -5,9 +5,7 @@ test_description="python bindings" add_email_corpus test_begin_subtest "compare thread ids" -LD_LIBRARY_PATH=$TEST_DIRECTORY/../lib \ -PYTHONPATH=$TEST_DIRECTORY/../bindings/python \ -python <<EOF | sort > OUTPUT +test_python <<EOF import notmuch db = notmuch.Database(mode=notmuch.Database.MODE.READ_WRITE) q_new = notmuch.Query(db, 'tag:inbox') @@ -15,5 +13,5 @@ for t in q_new.search_threads(): print t.get_thread_id() EOF notmuch search --output=threads tag:inbox | sed s/^thread:// | sort > EXPECTED -test_expect_equal_file OUTPUT EXPECTED +test_expect_equal_file <(sort OUTPUT) EXPECTED test_done 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 |