CI: Add pip-upgrade tests
Related: rhbz#1932713
This commit is contained in:
parent
e9e8996aeb
commit
75ed7533ad
40
tests/pip_install_upgrade/runtest.sh
Executable file
40
tests/pip_install_upgrade/runtest.sh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/sh -eux
|
||||||
|
# This script requires root privileges and you should never run it on your own machine
|
||||||
|
test $EUID -eq 0
|
||||||
|
|
||||||
|
PYTHON_VERSION=$(/usr/bin/python3 -c 'import sys; print("{}.{}".format(*sys.version_info))')
|
||||||
|
RPM_SITELIB="/usr/lib/python${PYTHON_VERSION}/site-packages"
|
||||||
|
LOCAL_SITELIB="/usr/local/lib/python${PYTHON_VERSION}/site-packages"
|
||||||
|
USER_SITELIB="/home/fedora-test-user/.local/lib/python${PYTHON_VERSION}/site-packages"
|
||||||
|
|
||||||
|
# First, let's install older Pello with pip as if it was installed by RPM
|
||||||
|
# This is an approximation, but it usually works
|
||||||
|
RPM_BUILD_ROOT=/ /usr/bin/pip install 'Pello==1.0.1'
|
||||||
|
|
||||||
|
# Now, we'll upgrade it with regular pip
|
||||||
|
/usr/bin/pip install --upgrade 'Pello==1.0.2'
|
||||||
|
|
||||||
|
# pip should see it
|
||||||
|
/usr/bin/pip freeze | grep '^Pello==1\.0\.2$'
|
||||||
|
|
||||||
|
# Both installations should still exist
|
||||||
|
test -d "${RPM_SITELIB}/Pello-1.0.1-py${PYTHON_VERSION}.egg-info" || test -d "${RPM_SITELIB}/Pello-1.0.1.dist-info"
|
||||||
|
test -d "${LOCAL_SITELIB}/Pello-1.0.2.dist-info"
|
||||||
|
|
||||||
|
# Let's ditch the local one
|
||||||
|
/usr/bin/pip uninstall --yes Pello
|
||||||
|
|
||||||
|
# It should only remove one of them
|
||||||
|
test -d "${RPM_SITELIB}/Pello-1.0.1-py${PYTHON_VERSION}.egg-info" || test -d "${RPM_SITELIB}/Pello-1.0.1.dist-info"
|
||||||
|
! test -d "${LOCAL_SITELIB}/Pello-1.0.2.dist-info"
|
||||||
|
|
||||||
|
# And pip should still see the RPM-installed one
|
||||||
|
/usr/bin/pip freeze | grep '^Pello==1\.0\.1$'
|
||||||
|
|
||||||
|
# Again, but as regular user
|
||||||
|
useradd fedora-test-user
|
||||||
|
su fedora-test-user -c '/usr/bin/pip install "Pello==1.0.2"'
|
||||||
|
test -d "${USER_SITELIB}/Pello-1.0.2.dist-info"
|
||||||
|
su fedora-test-user -c '/usr/bin/pip freeze' | grep '^Pello==1\.0\.2$'
|
||||||
|
su fedora-test-user -c '/usr/bin/pip uninstall --yes Pello'
|
||||||
|
su fedora-test-user -c '/usr/bin/pip freeze' | grep '^Pello==1\.0\.1$'
|
@ -69,6 +69,7 @@
|
|||||||
- pyproject_clikit:
|
- pyproject_clikit:
|
||||||
dir: pyproject-rpm-macros/tests
|
dir: pyproject-rpm-macros/tests
|
||||||
run: ./mocktest.sh python-clikit
|
run: ./mocktest.sh python-clikit
|
||||||
|
- pip_install_upgrade
|
||||||
required_packages:
|
required_packages:
|
||||||
- gcc
|
- gcc
|
||||||
- virtualenv
|
- virtualenv
|
||||||
@ -86,3 +87,6 @@
|
|||||||
- mock
|
- mock
|
||||||
- rpmdevtools
|
- rpmdevtools
|
||||||
- rpm-build
|
- rpm-build
|
||||||
|
- grep
|
||||||
|
- util-linux
|
||||||
|
- shadow-utils
|
||||||
|
Loading…
Reference in New Issue
Block a user