From 4e7f3dded550f92808f46b975ed8f346e3229772 Mon Sep 17 00:00:00 2001 From: Carl George Date: Oct 08 2018 20:38:59 +0000 Subject: Backport upstream commit for newer pytest compatibility https://github.com/pallets/click/commit/20b4b1c0d1564ab4ef44b7d27d5b650735e28be3 --- diff --git a/0001-Remove-outdated-comment-about-Click-3.0.patch b/0001-Remove-outdated-comment-about-Click-3.0.patch deleted file mode 100644 index bd5bdd9..0000000 --- a/0001-Remove-outdated-comment-about-Click-3.0.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4fa671b4afdde8e103a03b39dcdc66e1a10a16fa Mon Sep 17 00:00:00 2001 -From: Adam Dangoor -Date: Mon, 31 Jul 2017 17:58:41 +0100 -Subject: [PATCH 1/3] Remove outdated comment about Click 3.0 - ---- - click/core.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/click/core.py b/click/core.py -index 7456451..18fa9a5 100644 ---- a/click/core.py -+++ b/click/core.py -@@ -68,7 +68,6 @@ def invoke_param_callback(callback, ctx, param, value): - args = getattr(code, 'co_argcount', 3) - - if args < 3: -- # This will become a warning in Click 3.0: - from warnings import warn - warn(Warning('Invoked legacy parameter callback "%s". The new ' - 'signature for such callbacks starting with ' --- -2.14.2 - diff --git a/0002-Add-pytest-option-to-not-capture-warnings.patch b/0002-Add-pytest-option-to-not-capture-warnings.patch deleted file mode 100644 index ed34f7b..0000000 --- a/0002-Add-pytest-option-to-not-capture-warnings.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 6e7951c511b8316a73d9a8d9c4cc130becd99e93 Mon Sep 17 00:00:00 2001 -From: Adam Dangoor -Date: Mon, 31 Jul 2017 18:06:20 +0100 -Subject: [PATCH 2/3] Add pytest option to not capture warnings - ---- - pytest.ini | 2 ++ - 1 file changed, 2 insertions(+) - create mode 100644 pytest.ini - -diff --git a/pytest.ini b/pytest.ini -new file mode 100644 -index 0000000..1ceab94 ---- /dev/null -+++ b/pytest.ini -@@ -0,0 +1,2 @@ -+[pytest] -+addopts = -p no:warnings --- -2.14.2 - diff --git a/0003-Catch-and-test-pytest-warning.patch b/0003-Catch-and-test-pytest-warning.patch deleted file mode 100644 index ab8609b..0000000 --- a/0003-Catch-and-test-pytest-warning.patch +++ /dev/null @@ -1,54 +0,0 @@ -From e6fb0fe8bc75e7931fe86e95442eec09b49caee7 Mon Sep 17 00:00:00 2001 -From: Adam Dangoor -Date: Mon, 31 Jul 2017 19:45:24 +0100 -Subject: [PATCH 3/3] Catch and test pytest warning - ---- - pytest.ini | 2 -- - tests/test_compat.py | 15 +++++++++++++-- - 2 files changed, 13 insertions(+), 4 deletions(-) - delete mode 100644 pytest.ini - -diff --git a/pytest.ini b/pytest.ini -deleted file mode 100644 -index 1ceab94..0000000 ---- a/pytest.ini -+++ /dev/null -@@ -1,2 +0,0 @@ --[pytest] --addopts = -p no:warnings -diff --git a/tests/test_compat.py b/tests/test_compat.py -index e4ecdc8..d86110a 100644 ---- a/tests/test_compat.py -+++ b/tests/test_compat.py -@@ -1,3 +1,5 @@ -+import pytest -+ - import click - - -@@ -11,10 +13,19 @@ if click.__version__ >= '3.0': - def cli(foo): - click.echo(foo) - -- result = runner.invoke(cli, ['--foo', 'wat']) -+ with pytest.warns(Warning) as records: -+ result = runner.invoke(cli, ['--foo', 'wat']) -+ -+ [warning_record] = records -+ warning_message = str(warning_record.message) -+ assert 'Invoked legacy parameter callback' in warning_message - assert result.exit_code == 0 -+ # Depending on the pytest version, the warning message may be -+ # in `result.output`. -+ # -+ # In pytest version 3.1 pytest started capturing warnings by default. -+ # See https://docs.pytest.org/en/latest/warnings.html#warnings-capture. - assert 'WAT' in result.output -- assert 'Invoked legacy parameter callback' in result.output - - - def test_bash_func_name(): --- -2.14.2 - diff --git a/python-click.spec b/python-click.spec index 2218512..8de7c8b 100644 --- a/python-click.spec +++ b/python-click.spec @@ -16,11 +16,8 @@ Summary: Simple wrapper around optparse for powerful command line utiliti License: BSD URL: https://github.com/mitsuhiko/click Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz -# https://bugzilla.redhat.com/show_bug.cgi?id=1500962 -# https://github.com/pallets/click/pull/838 -Patch0: 0001-Remove-outdated-comment-about-Click-3.0.patch -Patch1: 0002-Add-pytest-option-to-not-capture-warnings.patch -Patch2: 0003-Catch-and-test-pytest-warning.patch +# https://github.com/pallets/click/commit/20b4b1c0d1564ab4ef44b7d27d5b650735e28be3 +Patch3: update-tests-to-work-with-newer-pytest-versions.patch BuildArch: noarch @@ -98,6 +95,7 @@ export LC_ALL=en_US.UTF-8 %changelog * Mon Oct 08 2018 Carl George - 6.7-7 - Add python3_other subpackage +- Backport upstream commit for newer pytest compatibility * Thu Oct 12 2017 Igor Gnatenko - 6.7-6 - Fixup EPEL packaging diff --git a/update-tests-to-work-with-newer-pytest-versions.patch b/update-tests-to-work-with-newer-pytest-versions.patch new file mode 100644 index 0000000..ae61949 --- /dev/null +++ b/update-tests-to-work-with-newer-pytest-versions.patch @@ -0,0 +1,62 @@ +From 20b4b1c0d1564ab4ef44b7d27d5b650735e28be3 Mon Sep 17 00:00:00 2001 +From: Armin Ronacher +Date: Sat, 23 Dec 2017 09:27:57 +0100 +Subject: [PATCH] Updated tests to work with newer pytest versions + +--- + tests/test_basic.py | 2 +- + tests/test_compat.py | 9 +++++---- + tests/test_options.py | 2 +- + 3 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/tests/test_basic.py b/tests/test_basic.py +index 045f6085..960cd327 100644 +--- a/tests/test_basic.py ++++ b/tests/test_basic.py +@@ -357,7 +357,7 @@ def cli(foo): + def test_evaluation_order(runner): + called = [] + +- def memo(ctx, value): ++ def memo(ctx, param, value): + called.append(value) + return value + +diff --git a/tests/test_compat.py b/tests/test_compat.py +index e4ecdc81..9dacc21d 100644 +--- a/tests/test_compat.py ++++ b/tests/test_compat.py +@@ -1,4 +1,5 @@ + import click ++import pytest + + + if click.__version__ >= '3.0': +@@ -11,10 +12,10 @@ def legacy_callback(ctx, value): + def cli(foo): + click.echo(foo) + +- result = runner.invoke(cli, ['--foo', 'wat']) +- assert result.exit_code == 0 +- assert 'WAT' in result.output +- assert 'Invoked legacy parameter callback' in result.output ++ with pytest.warns(Warning, match='Invoked legacy parameter callback'): ++ result = runner.invoke(cli, ['--foo', 'wat']) ++ assert result.exit_code == 0 ++ assert 'WAT' in result.output + + + def test_bash_func_name(): +diff --git a/tests/test_options.py b/tests/test_options.py +index 9dd8cdff..8bdda1f1 100644 +--- a/tests/test_options.py ++++ b/tests/test_options.py +@@ -199,7 +199,7 @@ def cmd(arg): + + + def test_custom_validation(runner): +- def validate_pos_int(ctx, value): ++ def validate_pos_int(ctx, param, value): + if value < 0: + raise click.BadParameter('Value needs to be positive') + return value