From 85adc756c97646ae63e68fc2f80afd6b34b86fa9 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 19 Oct 2019 23:10:24 -0300 Subject: [PATCH] tests: run python-cffi tests The entire python-cffi test suite is considered as a single test at the level of the notmuch test suite. This might or might not be ideal, but it gets them run. --- configure | 39 ++++++++++++++++++++++++++++++++------- test/T391-python-cffi.sh | 14 ++++++++++++++ 2 files changed, 46 insertions(+), 7 deletions(-) create mode 100755 test/T391-python-cffi.sh diff --git a/configure b/configure index b467643c..79ef34b3 100755 --- a/configure +++ b/configure @@ -671,13 +671,38 @@ if [ $have_python -eq 0 ]; then errors=$((errors + 1)) fi -printf "Checking for python3 cffi... " -if "$python" -c 'import sys,cffi; assert sys.version_info >= (3,0)' >/dev/null 2>&1; then - printf "Yes.\n" - have_python3_cffi=1 -else - printf "No.\n" - have_python3_cffi=0 +have_python3=0 +if [ $have_python -eq 1 ]; then + printf "Checking for python3..." + if "$python" -c 'import sys; assert sys.version_info >= (3,0)' > /dev/null 2>&1; then + printf "Yes.\n" + have_python3=1 + else + printf "No.\n" + fi +fi + +have_python3_cffi=0 +have_python3_pytest=0 +if [ $have_python3 -eq 1 ]; then + printf "Checking for python3 cffi... " + if "$python" -c 'import cffi' >/dev/null 2>&1; then + printf "Yes.\n" + have_python3_cffi=1 + else + printf "No.\n" + fi + + printf "Checking for python3 pytest (>= 3.0)... " + conf=$(mktemp) + printf "[pytest]\nminversion=3.0\n" > $conf + if pytest-3 -c $conf --version >/dev/null 2>&1; then + printf "Yes.\n" + have_python3_pytest=1 + else + printf "No.\n" + fi + rm -f $conf fi printf "Checking for valgrind development files... " diff --git a/test/T391-python-cffi.sh b/test/T391-python-cffi.sh new file mode 100755 index 00000000..e4f80dc6 --- /dev/null +++ b/test/T391-python-cffi.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +test_description="python bindings (pytest)" +. $(dirname "$0")/test-lib.sh || exit 1 + +if [ $NOTMUCH_HAVE_PYTHON3_CFFI -eq 0 -o $NOTMUCH_HAVE_PYTHON3_PYTEST -eq 0 ]; then + test_done +fi + + +test_begin_subtest "python cffi tests" +pytest_dir=$NOTMUCH_SRCDIR/bindings/python-cffi/build/stage +printf "[pytest]\nminversion = 3.0\naddopts = -ra\n" > $pytest_dir/pytest.ini +test_expect_success "(cd $pytest_dir && ${NOTMUCH_PYTHON} -m pytest --log-file=$TMP_DIRECTORY/test.output)" +test_done