From 41eef2c4dc8857a6ecf281dce8dedf6fad40132b Mon Sep 17 00:00:00 2001 From: Petr Šplíchal Date: Jul 20 2018 08:54:27 +0000 Subject: Move to smoke, support choosing python version --- diff --git a/smoke/venv.sh b/smoke/venv.sh new file mode 100755 index 0000000..b20291f --- /dev/null +++ b/smoke/venv.sh @@ -0,0 +1,67 @@ +#!/bin/sh -eux + +# set python version +VERSION=${VERSION:-3.7} +PYTHON=python$VERSION + +# clean from possible older runs +rm -rf venv .tox __pycache__ .pytest* test_*.py *.pyx *.c *.so || : + +# check the we can create the venv +$PYTHON -m venv venv + +# and activate it +source venv/bin/activate + +# run python in it +python -c 'import sys; print(sys.version)' | head -n1 | grep $VERSION + +# install packages with pip +python -m pip install pytest + +# run tests +cat > test_foo.py << EOF +def test_foo(): + assert True +EOF + +python -m pytest -v test_foo.py + +# check that we can do extension modules +cat > module.pyx << EOF +cdef int add(int a, int b): + return a + b + +def two(): + cdef int a = 1 + cdef int b = 1 + return add(a, b) +EOF + +cat > setup.py << EOF +from setuptools import setup +from Cython.Build import cythonize + +setup(ext_modules = cythonize('module.pyx')) +EOF + +python -m pip install Cython +python setup.py build_ext --inplace + +python -c 'import module; print(module.two())' | grep '^2$' + +# deactivate has unset variable, it's known +set +u +deactivate +set -u + +# use it with tox +cat > tox.ini << EOF +[tox] +skipsdist = True +[testenv] +deps = pytest +commands = python -m pytest -v test_foo.py +EOF + +tox -e py${VERSION/./} diff --git a/tests-venv b/tests-venv deleted file mode 100755 index bb36258..0000000 --- a/tests-venv +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -eux - -# TODO set this from outside depending on the package -VERSION=3.7 -PYTHON=python$VERSION - -# clean from possible older runs -rm -rf venv .tox __pycache__ .pytest* test_*.py *.pyx *.c *.so || : - -# check the we can create the venv -$PYTHON -m venv venv - -# and activate it -source venv/bin/activate - -# run python in it -python -c 'import sys; print(sys.version)' | head -n1 | grep $VERSION - -# install packages with pip -python -m pip install pytest - -# run tests -cat > test_foo.py << EOF -def test_foo(): - assert True -EOF - -python -m pytest -v test_foo.py - -# check that we can do extension modules -cat > module.pyx << EOF -cdef int add(int a, int b): - return a + b - -def two(): - cdef int a = 1 - cdef int b = 1 - return add(a, b) -EOF - -cat > setup.py << EOF -from setuptools import setup -from Cython.Build import cythonize - -setup(ext_modules = cythonize('module.pyx')) -EOF - -python -m pip install Cython -python setup.py build_ext --inplace - -python -c 'import module; print(module.two())' | grep '^2$' - -# deactivate has unset variable, it's known -set +u -deactivate -set -u - -# use it with tox -cat > tox.ini << EOF -[tox] -skipsdist = True -[testenv] -deps = pytest -commands = python -m pytest -v test_foo.py -EOF - -tox -e py${VERSION/./}