pytest: Fix configure to find pytest when installed using pip3.

Installing pytest through pip3 (at least sometimes) doesn't create a script.
This means calling `which` won't work.
Changed configure so that it can also test if the module is present by calling python/python3.
Change the error message for when pytest can't be found, so that it's clear to the user `configure` must be ran again after installing pytest.
This commit is contained in:
lucash-dev 2018-09-04 19:29:06 -07:00 committed by Rusty Russell
parent cefb6925b2
commit b52fb14726
2 changed files with 12 additions and 1 deletions

View File

@ -216,7 +216,7 @@ check:
pytest: $(ALL_PROGRAMS)
ifndef PYTEST
@echo "py.test is required to run the integration tests, please install using 'pip3 install -r tests/requirements.txt'"
@echo "py.test is required to run the integration tests, please install using 'pip3 install -r tests/requirements.txt', and rerun 'configure'."
exit 1
else
# Explicitly hand DEVELOPER and VALGRIND so you can override on make cmd line.

11
configure vendored
View File

@ -71,6 +71,17 @@ find_pytest()
return
fi
done
PYTHON_BINS="python python3"
for p in $PYTHON_BINS; do
if [ "$(which $p)" != "" ] ; then
$p --version 2>&1 | grep -q "Python 3." || continue
if $p -c "import pytest" ; then
echo "$p -m pytest"
return
fi
fi
done
}
PYTEST=${PYTEST:-`find_pytest`}