Run tests as regular user
For this to work, we run the smoke test from a temporary directory, on the CI /var/str/smoke is not writable by non-root.
This commit is contained in:
parent
fd113d4cf8
commit
18de9ca2b3
2 changed files with 27 additions and 19 deletions
|
|
@ -11,8 +11,9 @@ TOX=${TOX:-true}
|
|||
CYTHON=${CYTHON:-true}
|
||||
INSTALL_OR_SKIP=${INSTALL_OR_SKIP:-false}
|
||||
|
||||
# clean from possible older runs
|
||||
rm -rf venv .tox __pycache__ .pytest* test_*.py *.pyx *.c *.so ensurepiptestroot || :
|
||||
# Work from a custom directory
|
||||
workdir="$(mktemp --directory)"
|
||||
cd "$workdir"
|
||||
|
||||
if [ "$INSTALL_OR_SKIP" == "true" ] && [ ! -f "/usr/bin/$PYTHON" ]; then
|
||||
dnf -y install "/usr/bin/$PYTHON" || :
|
||||
|
|
@ -130,3 +131,7 @@ EOF
|
|||
|
||||
# A more complex example with pytest
|
||||
tox
|
||||
|
||||
# Clean up if everything else went well
|
||||
cd -
|
||||
rm -rf "$workdir"
|
||||
|
|
|
|||
37
tests.yml
37
tests.yml
|
|
@ -6,6 +6,8 @@
|
|||
- dnf:
|
||||
name: "*"
|
||||
state: latest
|
||||
- ansible.builtin.user:
|
||||
name: testuser
|
||||
|
||||
- hosts: localhost
|
||||
roles:
|
||||
|
|
@ -15,56 +17,57 @@
|
|||
tests:
|
||||
- smoke_default:
|
||||
dir: smoke
|
||||
run: ./venv.sh
|
||||
run: runuser testuser -c './venv.sh'
|
||||
- smoke27:
|
||||
dir: smoke
|
||||
run: VERSION=2.7 METHOD=virtualenv ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=2.7 METHOD=virtualenv ./venv.sh'
|
||||
- smoke27_seeder_pip:
|
||||
dir: smoke
|
||||
run: VERSION=2.7 METHOD=virtualenv-seeder-pip ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=2.7 METHOD=virtualenv-seeder-pip ./venv.sh'
|
||||
- smoke35:
|
||||
dir: smoke
|
||||
run: VERSION=3.5 METHOD=virtualenv-no-download INSTALL_OR_SKIP=true ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.5 METHOD=virtualenv-no-download INSTALL_OR_SKIP=true ./venv.sh'
|
||||
- smoke36:
|
||||
dir: smoke
|
||||
run: VERSION=3.6 METHOD=venv TOX=false ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.6 METHOD=venv TOX=false ./venv.sh'
|
||||
- smoke37:
|
||||
dir: smoke
|
||||
run: VERSION=3.7 METHOD=venv ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.7 METHOD=venv ./venv.sh'
|
||||
- smoke38:
|
||||
dir: smoke
|
||||
run: VERSION=3.8 METHOD=venv ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.8 METHOD=venv ./venv.sh'
|
||||
- smoke39:
|
||||
dir: smoke
|
||||
run: VERSION=3.9 METHOD=venv ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.9 METHOD=venv ./venv.sh'
|
||||
- smoke311:
|
||||
dir: smoke
|
||||
run: VERSION=3.11 METHOD=venv CYTHON=false ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.11 METHOD=venv CYTHON=false ./venv.sh'
|
||||
- smoke39_seeder_pip:
|
||||
dir: smoke
|
||||
run: VERSION=3.9 METHOD=virtualenv-seeder-pip ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.9 METHOD=virtualenv-seeder-pip ./venv.sh'
|
||||
- smoke34_optional:
|
||||
dir: smoke
|
||||
run: VERSION=3.4 METHOD=venv INSTALL_OR_SKIP=true ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.4 METHOD=venv INSTALL_OR_SKIP=true ./venv.sh'
|
||||
- smokepypy:
|
||||
dir: smoke
|
||||
run: VERSION=2.7 METHOD=virtualenv PYTHON=pypy ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=2.7 METHOD=virtualenv PYTHON=pypy ./venv.sh'
|
||||
- smokepypy38:
|
||||
dir: smoke
|
||||
run: VERSION=3.8 METHOD=venv PYTHON=pypy3.8 ./venv.sh
|
||||
run: runuser testuser -c 'VERSION=3.8 METHOD=venv PYTHON=pypy3.8 ./venv.sh'
|
||||
- selftest37:
|
||||
dir: selftest
|
||||
run: VERSION=3.7 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh
|
||||
run: runuser testuser -c 'VERSION=3.7 X="-x test_socket -x test_asyncgen -x test_asyncio -x test_compile -x test_concurrent_futures -x test_itertools -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_shutil -x test_time -x test_multiprocessing_spawn -x test_threading -x test_wsgiref" ./parallel.sh'
|
||||
- debugtest38:
|
||||
dir: selftest
|
||||
run: VERSION=3.8 PYTHON="python3-debug" X="test_ssl" ./parallel.sh
|
||||
run: runuser testuser -c 'VERSION=3.8 PYTHON="python3-debug" X="test_ssl" ./parallel.sh'
|
||||
- debugflags:
|
||||
dir: flags
|
||||
run: python3-debug ./assertflags.py -O0
|
||||
run: runuser testuser -c 'python3-debug ./assertflags.py -O0'
|
||||
- marshalparser_compatibility:
|
||||
dir: marshalparser
|
||||
run: SAMPLE=10 test_marshalparser_compatibility.sh
|
||||
run: runuser testuser -c 'SAMPLE=10 test_marshalparser_compatibility.sh'
|
||||
required_packages:
|
||||
- util-linux # for runuser
|
||||
- dnf
|
||||
- gcc
|
||||
- gcc-c++
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue