summaryrefslogtreecommitdiff
path: root/pbr
diff options
context:
space:
mode:
authorClark Boylan <clark.boylan@gmail.com>2023-01-06 09:34:59 -0800
committerClark Boylan <clark.boylan@gmail.com>2023-01-06 09:34:59 -0800
commit571e14581d3502b37932b8e7f8c51766cdd001e6 (patch)
tree7152df2a10c80db34c74382be9bd635658e311f0 /pbr
parent61c6a4bcb305cd14cd913fc88ade4b1c0d21eb8c (diff)
downloadpbr-571e14581d3502b37932b8e7f8c51766cdd001e6.tar.gz
Run PBR integration on Ubuntu Focal too
Python 3.10 on Jammy is not compatible with old pip and setuptools due to collections.abc moves. It is still desireable to test modern PBR functions against these old library versions because old distro installs will often use latest PBR. Update our testing to also run PBR integration testing on Focal selecting appropriate pip and setuptools versions based on the running python version. This should help ensure PBR continues to run on old platforms even as we modernize pip. Change-Id: Ib53f637d5826bb51a348e3e629fbdbabec2a95e0
Diffstat (limited to 'pbr')
-rw-r--r--pbr/tests/test_integration.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/pbr/tests/test_integration.py b/pbr/tests/test_integration.py
index 8b5e76a..2f5c0ab 100644
--- a/pbr/tests/test_integration.py
+++ b/pbr/tests/test_integration.py
@@ -264,16 +264,29 @@ class TestMarkersPip(base.BaseTestCase):
allow_fail=False)[0])
-class TestLTSSupport(base.BaseTestCase):
-
- # These versions come from the versions installed from the 'virtualenv'
- # command from the 'python-virtualenv' package.
- scenarios = [
+# Handle collections.abc moves in python breaking old pip
+# These versions come from the versions installed from the 'virtualenv'
+# command from the 'python-virtualenv' package.
+if sys.version_info[0:3] < (3, 10, 0):
+ lts_scenarios = [
+ ('Bionic', {'modules': ['pip==9.0.1', 'setuptools==39.0.1']}),
+ ('Stretch', {'modules': ['pip==9.0.1', 'setuptools==33.1.1']}),
+ ('EL8', {'modules': ['pip==9.0.3', 'setuptools==39.2.0']}),
+ ('Buster', {'modules': ['pip==18.1', 'setuptools==40.8.0']}),
+ ('Focal', {'modules': ['pip==20.0.2', 'setuptools==45.2.0']}),
+ ]
+else:
+ lts_scenarios = [
('Bullseye', {'modules': ['pip==20.3.4', 'setuptools==52.0.0']}),
('Focal', {'modules': ['pip==20.0.2', 'setuptools==45.2.0']}),
('Jammy', {'modules': ['pip==22.0.2', 'setuptools==59.6.0']}),
]
+
+class TestLTSSupport(base.BaseTestCase):
+
+ scenarios = lts_scenarios
+
@testtools.skipUnless(
os.environ.get('PBR_INTEGRATION', None) == '1',
'integration tests not enabled',