Support tox against multiple Python versions using pyenv
authorKarl O. Pinc <kop@karlpinc.com>
Wed, 9 Dec 2020 23:01:47 +0000 (17:01 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Wed, 9 Dec 2020 23:01:47 +0000 (17:01 -0600)
Makefile_pgwui.mk

index 4ead50e66540f4cfe5a4d5428b317185c60362e7..3b2607d0075fa52f56bba5464c8ebe311d6e44cf 100644 (file)
 # This works on debian...
 PYTHON_EXE=python3
 VIRTUALENV=virtualenv -p ${PYTHON_EXE}
+# (Optional) where pyenv is installed (git clone somepath)
+# For running tox against multiple python versions
+PYENV_INSTALLATION := $(HOME)/.pyenv
+PYENV_BIN := $(PYENV_INSTALLATION)/bin
 
 TARGETS =
 EXTRA_TARGETS = README.html
@@ -64,7 +68,17 @@ publish: check-manifest upload push
 ## run_tests           Run regression tests
 .PHONY: run_tests
 run_tests: devel/testenv
-       devel/testenv/bin/tox --skip-missing-interpreters
+       if [ -x $(PYENV_BIN)/pyenv ] ; then \
+         (set -e ; \
+          export PYENV_ROOT=$(PYENV_INSTALLATION) ; \
+          export PATH="$(PYENV_BIN):$$PATH" ; \
+          bash -c 'set -e ; \
+                   eval "$$(pyenv init -)" ; \
+                   pyenv shell system $$(pyenv versions --bare) ; \
+                   devel/testenv/bin/tox --skip-missing-interpreters' ) ; \
+       else \
+         devel/testenv/bin/tox --skip-missing-interpreters ; \
+       fi
 
 ## dist                Create sdist Python package in ./dist
 .PHONY: dist