From d06c69a096d3e2c1c2ab1850108a8efd9d988014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 13 Jan 2023 11:54:47 +0100 Subject: [PATCH] Adjust %pyproject_buildrequires tests for tox 4 Fixes: https://bugzilla.redhat.com/2160687 --- pyproject-rpm-macros.spec | 6 +- pyproject_buildrequires_testcases.yaml | 127 +++++++++++++++++-------- test_pyproject_buildrequires.py | 7 +- 3 files changed, 98 insertions(+), 42 deletions(-) diff --git a/pyproject-rpm-macros.spec b/pyproject-rpm-macros.spec index 8f93bdc..d6a01fe 100644 --- a/pyproject-rpm-macros.spec +++ b/pyproject-rpm-macros.spec @@ -10,7 +10,7 @@ License: MIT # Increment Y and reset Z when new macros or features are added # Increment Z when this is a bugfix or a cosmetic change # Dropping support for EOL Fedoras is *not* considered a breaking change -Version: 1.5.0 +Version: 1.5.1 Release: 1%{?dist} # Macro files @@ -127,6 +127,10 @@ export HOSTNAME="rpmbuild" # to speedup tox in network-less mock, see rhbz#1856 %license LICENSE %changelog +* Fri Jan 13 2023 Miro Hrončok - 1.5.1-1 +- Adjusts %%pyproject_buildrequires tests for tox 4 +- Fixes: rhbz#2160687 + * Mon Nov 28 2022 Miro Hrončok - 1.5.0-1 - Use %%py3_test_envvars in %%tox when available diff --git a/pyproject_buildrequires_testcases.yaml b/pyproject_buildrequires_testcases.yaml index 50f9d4e..75934df 100644 --- a/pyproject_buildrequires_testcases.yaml +++ b/pyproject_buildrequires_testcases.yaml @@ -413,14 +413,24 @@ Tox dependencies: toxdep2 commands = true - expected: | - python3dist(setuptools) >= 40.8 - python3dist(wheel) - python3dist(wheel) - python3dist(tox-current-env) >= 0.0.6 - python3dist(toxdep1) - python3dist(toxdep2) - python3dist(inst) + expected: + - | # tox 3 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(toxdep1) + python3dist(toxdep2) + python3dist(inst) + - | # tox 4 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(tox) + python3dist(toxdep1) + python3dist(toxdep2) + python3dist(inst) result: 0 Tox extras: @@ -455,20 +465,36 @@ Tox extras: extra1 commands = true - expected: | - python3dist(setuptools) >= 40.8 - python3dist(wheel) - python3dist(wheel) - python3dist(tox-current-env) >= 0.0.6 - python3dist(toxdep) - python3dist(inst) - python3dist(dep11) > 11.0 - python3dist(dep12) - python3dist(dep21) - python3dist(dep22) - python3dist(dep23) - python3dist(extra-dep) - python3dist(extra-dep[extra_dep]) + expected: + - | # tox 3 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(toxdep) + python3dist(inst) + python3dist(dep11) > 11.0 + python3dist(dep12) + python3dist(dep21) + python3dist(dep22) + python3dist(dep23) + python3dist(extra-dep) + python3dist(extra-dep[extra_dep]) + - | # tox 4 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(tox) + python3dist(toxdep) + python3dist(inst) + python3dist(dep11) > 11.0 + python3dist(dep12) + python3dist(dep21) + python3dist(dep22) + python3dist(dep23) + python3dist(extra-dep) + python3dist(extra-dep[extra_dep]) result: 0 Tox provision unsatisfied: @@ -496,14 +522,24 @@ Tox provision unsatisfied: deps = toxdep1 toxdep2 - expected: | - python3dist(setuptools) >= 40.8 - python3dist(wheel) - python3dist(wheel) - python3dist(tox-current-env) >= 0.0.6 - python3dist(tox) >= 3.999 - python3dist(setuptools) > 40.0 - python3dist(wheel) > 2.0 + expected: + - | # tox 3 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(tox) >= 3.999 + python3dist(setuptools) > 40.0 + python3dist(wheel) > 2.0 + - | # tox 4 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(tox) >= 3.999 + python3dist(setuptools) > 40.0 + python3dist(wheel) > 2.0 + python3dist(tox) >= 3.999 result: 0 Tox provision satisfied: @@ -530,16 +566,27 @@ Tox provision satisfied: deps = toxdep1 toxdep2 - expected: | - python3dist(setuptools) >= 40.8 - python3dist(wheel) - python3dist(wheel) - python3dist(tox-current-env) >= 0.0.6 - python3dist(tox) >= 3.5 - python3dist(setuptools) > 40.0 - python3dist(toxdep1) - python3dist(toxdep2) - python3dist(inst) + expected: + - | # tox 3 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(tox) >= 3.5 + python3dist(setuptools) > 40.0 + python3dist(toxdep1) + python3dist(toxdep2) + python3dist(inst) + - | # tox 4 + python3dist(setuptools) >= 40.8 + python3dist(wheel) + python3dist(wheel) + python3dist(tox-current-env) >= 0.0.6 + python3dist(setuptools) > 40.0 + python3dist(tox) >= 3.5 + python3dist(toxdep1) + python3dist(toxdep2) + python3dist(inst) result: 0 Default build system, unmet deps in requirements file: diff --git a/test_pyproject_buildrequires.py b/test_pyproject_buildrequires.py index f9b2650..74f3ae8 100644 --- a/test_pyproject_buildrequires.py +++ b/test_pyproject_buildrequires.py @@ -71,7 +71,12 @@ def test_data(case_name, capfd, tmp_path, monkeypatch): out, err = capfd.readouterr() if 'expected' in case: - assert out == case['expected'] + expected = case['expected'] + if isinstance(expected, list): + # at least one of them needs to match + assert any(out == e for e in expected) + else: + assert out == expected # stderr_contains may be a string or list of strings stderr_contains = case.get('stderr_contains')