diff options
author | Sam James <sam@gentoo.org> | 2021-11-19 07:31:58 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-11-19 07:31:58 +0000 |
commit | 82da190150b78c4c9a32aa58a4ea5ba56e2c669c (patch) | |
tree | 1225d77d534b23583b48eb922fc2c69195779380 /dev-python/pyudev | |
parent | dev-python/jupyter_client: Stabilize 7.0.6 ppc64, #823521 (diff) | |
download | gentoo-82da190150b78c4c9a32aa58a4ea5ba56e2c669c.tar.gz gentoo-82da190150b78c4c9a32aa58a4ea5ba56e2c669c.tar.bz2 gentoo-82da190150b78c4c9a32aa58a4ea5ba56e2c669c.zip |
dev-python/pyudev: [QA] "revbump, fix tests, py310"
This reverts commit 7f94bc4ee4f8c40a1ae0b5418b2a08ea3b50507c.
Patch doesn't apply; reverting for now to avoid build failures.
Bug: https://bugs.gentoo.org/824630
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/pyudev')
-rw-r--r-- | dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch | 142 | ||||
-rw-r--r-- | dev-python/pyudev/files/pyudev-0.22-pytest-4.patch | 56 | ||||
-rw-r--r-- | dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch | 126 | ||||
-rw-r--r-- | dev-python/pyudev/pyudev-0.22.0-r1.ebuild | 53 |
4 files changed, 0 insertions, 377 deletions
diff --git a/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch b/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch deleted file mode 100644 index 7489a890edba..000000000000 --- a/dev-python/pyudev/files/pyudev-0.22-fix-hypothesis.patch +++ /dev/null @@ -1,142 +0,0 @@ -commit c27845613527091201160a578eacd36a538dea81 -Author: mulhern <amulhern@redhat.com> -Date: Thu May 3 09:12:26 2018 -0400 - - Eliminate Hypothesis warnings - - * Reduce the max_examples value so that tests don't trigger Hypothesis's - deadline check. - * Turn generators into lists, so that Hypothesis can consistently repeat the - tests (presumably for shrinking). - - Signed-off-by: mulhern <amulhern@redhat.com> - -diff --git a/tests/_constants.py b/tests/_constants.py -index fb85f30..7003a5c 100644 ---- a/tests/_constants.py -+++ b/tests/_constants.py -@@ -53,7 +53,7 @@ def _check_device(device): - return False - - --_DEVICE_DATA = udev.DeviceDatabase.db() -+_DEVICE_DATA = [d for d in udev.DeviceDatabase.db()] - _DEVICES = [Devices.from_path(_CONTEXT, d.device_path) for d in _DEVICE_DATA] - - -@@ -69,7 +69,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): - :type filter_func: Device -> bool - """ - strategy = strategies.sampled_from( -- x for x in _CONTEXT.list_devices() if filter_func(x)) -+ [x for x in _CONTEXT.list_devices() if filter_func(x)]) - - if require_existing: - strategy = strategy.filter(_check_device) -@@ -89,7 +89,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): - _SYSNAME_STRATEGY = device_strategy().map(lambda x: x.sys_name) - - _PROPERTY_STRATEGY = device_strategy().flatmap( -- lambda d: strategies.sampled_from(d.properties.items())) -+ lambda d: strategies.sampled_from([p for p in d.properties.items()])) - - _MATCH_PROPERTY_STRATEGY = \ - _PROPERTY_STRATEGY.filter(lambda p: p[0][-4:] != "_ENC") -@@ -104,7 +104,7 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): - # an attribute key and value pair - _ATTRIBUTE_STRATEGY = \ - _ATTRIBUTES_STRATEGY.flatmap( -- lambda attrs: strategies.sampled_from(attrs.available_attributes).map( -+ lambda attrs: strategies.sampled_from([a for a in attrs.available_attributes]).map( - lambda key: (key, attrs.get(key)) - ) - ) -@@ -119,11 +119,11 @@ def device_strategy(require_existing=True, filter_func=lambda x: True): - ) - - # the tags object for a given device --_TAGS_STRATEGY = device_strategy().map(lambda d: d.tags) -+_TAGS_STRATEGY = device_strategy().map(lambda d: [t for t in d.tags]) - - # an arbitrary tag belonging to a given device - _TAG_STRATEGY = \ -- _TAGS_STRATEGY.filter(lambda t: sum(1 for _ in t) != 0).flatmap( -+ _TAGS_STRATEGY.filter(lambda t: t != []).flatmap( - strategies.sampled_from - ) - -diff --git a/tests/_device_tests/_device_tests.py b/tests/_device_tests/_device_tests.py -index 0350a10..3e8710a 100644 ---- a/tests/_device_tests/_device_tests.py -+++ b/tests/_device_tests/_device_tests.py -@@ -352,7 +352,7 @@ def test_key_subset(self, a_context, device_datum): - frozenset(device.properties.keys()) - - @given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA)) -- @settings(max_examples=100) -+ @settings(max_examples=1) - def test_getitem(self, a_context, device_datum): - device = Devices.from_path(a_context, device_datum.device_path) - for prop in device_datum.properties: -diff --git a/tests/test_discover.py b/tests/test_discover.py -index e623435..3cf9e8c 100644 ---- a/tests/test_discover.py -+++ b/tests/test_discover.py -@@ -46,7 +46,7 @@ - from hypothesis import strategies - - _CONTEXT = pyudev.Context() --_DEVICES = _CONTEXT.list_devices() -+_DEVICES = [d for d in _CONTEXT.list_devices()] - - NUM_TESTS = 5 - -diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py -index c9c6a67..a9662bd 100644 ---- a/tests/test_enumerate.py -+++ b/tests/test_enumerate.py -@@ -90,7 +90,7 @@ class TestEnumerator(object): - - @failed_health_check_wrapper - @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) -- @settings(max_examples=50) -+ @settings(max_examples=10) - def test_match_subsystem(self, context, subsystem): - """ - Subsystem match matches devices w/ correct subsystem. -@@ -102,7 +102,7 @@ def test_match_subsystem(self, context, subsystem): - - @failed_health_check_wrapper - @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) -- @settings(max_examples=5) -+ @settings(max_examples=1) - def test_match_subsystem_nomatch(self, context, subsystem): - """ - Subsystem no match gets no subsystem with subsystem. -@@ -126,7 +126,7 @@ def test_match_subsystem_nomatch_unfulfillable(self, context, subsystem): - - @failed_health_check_wrapper - @given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY) -- @settings(max_examples=5) -+ @settings(max_examples=1) - def test_match_subsystem_nomatch_complete(self, context, subsystem): - """ - Test that w/ respect to the universe of devices returned by -@@ -155,7 +155,7 @@ def test_match_sys_name(self, context, sysname): - - @failed_health_check_wrapper - @given(_CONTEXT_STRATEGY, _MATCH_PROPERTY_STRATEGY) -- @settings(max_examples=50) -+ @settings(max_examples=25) - def test_match_property_string(self, context, pair): - """ - Match property only gets devices with that property. -@@ -243,7 +243,7 @@ class TestEnumeratorMatchCombinations(object): - min_size=2, - max_size=3, - unique_by=lambda p: p[0])) -- @settings(max_examples=20) -+ @settings(max_examples=2) - def test_combined_property_matches(self, context, ppairs): - """ - Test for behaviour as observed in #1 diff --git a/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch b/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch deleted file mode 100644 index a8a4e4c3bcea..000000000000 --- a/dev-python/pyudev/files/pyudev-0.22-pytest-4.patch +++ /dev/null @@ -1,56 +0,0 @@ -commit f962902b8298d97622b97693aba90032e5b9d2ec -Author: FFY00 <filipe.lains@gmail.com> -Date: Fri May 24 19:08:41 2019 +0100 - - tests: fix tests for pytest 4.0 - -diff --git a/tests/plugins/mock_libudev.py b/tests/plugins/mock_libudev.py -index aefeb31..0bde07b 100644 ---- a/tests/plugins/mock_libudev.py -+++ b/tests/plugins/mock_libudev.py -@@ -32,6 +32,7 @@ - from contextlib import contextmanager - from collections import namedtuple - -+import pytest - import mock - - Node = namedtuple('Node', 'name value next') -@@ -93,5 +94,6 @@ def libudev_list(libudev, function, items): - EXPOSED_FUNCTIONS = [libudev_list] - - --def pytest_namespace(): -- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) -+def pytest_configure(): -+ for f in EXPOSED_FUNCTIONS: -+ setattr(pytest, f.__name__, f) -diff --git a/tests/plugins/privileged.py b/tests/plugins/privileged.py -index 92328b9..c636980 100644 ---- a/tests/plugins/privileged.py -+++ b/tests/plugins/privileged.py -@@ -71,5 +71,6 @@ def unload_dummy(): - EXPOSED_FUNCTIONS = [load_dummy, unload_dummy] - - --def pytest_namespace(): -- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) -+def pytest_configure(): -+ for f in EXPOSED_FUNCTIONS: -+ setattr(pytest, f.__name__, f) -diff --git a/tests/plugins/travis.py b/tests/plugins/travis.py -index 46466c2..15a780e 100644 ---- a/tests/plugins/travis.py -+++ b/tests/plugins/travis.py -@@ -38,8 +38,9 @@ def is_on_travis_ci(): - EXPOSED_FUNCTIONS = [is_on_travis_ci] - - --def pytest_namespace(): -- return dict((f.__name__, f) for f in EXPOSED_FUNCTIONS) -+def pytest_configure(): -+ for f in EXPOSED_FUNCTIONS: -+ setattr(pytest, f.__name__, f) - - - def pytest_runtest_setup(item): diff --git a/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch b/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch deleted file mode 100644 index dd5b892606a3..000000000000 --- a/dev-python/pyudev/files/pyudev-0.22-remove-flaky-tests.patch +++ /dev/null @@ -1,126 +0,0 @@ -commit a35c394f7f4eb714eeaab1b8ed7977f822e29fa9 -Author: mulhern <amulhern@redhat.com> -Date: Wed May 2 15:50:45 2018 -0400 - - Get rid of all test_match_attribute_* methods - - These tests are rendered flaky by the volatility of attribute values. - - Signed-off-by: mulhern <amulhern@redhat.com> - -diff --git a/tests/test_enumerate.py b/tests/test_enumerate.py -index f054799..c9c6a67 100644 ---- a/tests/test_enumerate.py -+++ b/tests/test_enumerate.py -@@ -200,77 +200,6 @@ def test_match_property_bool(self, context, pair): - for device in devices - ) - -- @failed_health_check_wrapper -- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) -- @settings(max_examples=50) -- def test_match_attribute_nomatch_unfulfillable(self, context, pair): -- """ -- Match and no match for a key/value gives empty set. -- """ -- key, value = pair -- devices = context.list_devices() -- devices.match_attribute(key, value) -- devices.match_attribute(key, value, nomatch=True) -- assert not list(devices) -- -- @failed_health_check_wrapper -- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) -- @settings(max_examples=50) -- def test_match_attribute_nomatch_complete(self, context, pair): -- """ -- Test that w/ respect to the universe of devices returned by -- list_devices() a match and its inverse are complements of each other. -- """ -- key, value = pair -- m_devices = frozenset(context.list_devices().match_attribute( -- key, value)) -- nm_devices = frozenset(context.list_devices().match_attribute( -- key, value, nomatch=True)) -- _test_intersection_and_union(context, m_devices, nm_devices) -- -- @failed_health_check_wrapper -- @given(_CONTEXT_STRATEGY, _ATTRIBUTE_STRATEGY) -- @settings(max_examples=50) -- def test_match_attribute_string(self, context, pair): -- """ -- Test that matching attribute as string works. -- """ -- key, value = pair -- devices = context.list_devices().match_attribute(key, value) -- assert all(device.attributes.get(key) == value for device in devices) -- -- @failed_health_check_wrapper -- @given(_CONTEXT_STRATEGY, -- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_int(x[1]))) -- @settings(max_examples=50) -- def test_match_attribute_int(self, context, pair): -- """ -- Test matching integer attribute. -- """ -- key, value = pair -- int_value = int(value) -- devices = context.list_devices().match_attribute(key, int_value) -- for device in devices: -- attributes = device.attributes -- assert attributes.get(key) == value -- assert device.attributes.asint(key) == int_value -- -- @failed_health_check_wrapper -- @given(_CONTEXT_STRATEGY, -- _ATTRIBUTE_STRATEGY.filter(lambda x: _is_bool(x[1]))) -- @settings(max_examples=50) -- def test_match_attribute_bool(self, context, pair): -- """ -- Test matching boolean attribute. -- """ -- key, value = pair -- bool_value = True if int(value) == 1 else False -- devices = context.list_devices().match_attribute(key, bool_value) -- for device in devices: -- attributes = device.attributes -- assert attributes.get(key) == value -- assert attributes.asbool(key) == bool_value -- - @_UDEV_TEST(154, "test_match_tag") - @failed_health_check_wrapper - @given(_CONTEXT_STRATEGY, _TAG_STRATEGY) -@@ -335,33 +264,6 @@ def test_combined_property_matches(self, context, ppairs): - ) - ) - -- @given(_CONTEXT_STRATEGY, -- strategies.lists( -- elements=_ATTRIBUTE_STRATEGY, -- min_size=2, -- max_size=3, -- unique_by=lambda p: p[0])) -- @settings(max_examples=20) -- def test_combined_attribute_matches(self, context, apairs): -- """ -- Test for conjunction of attributes. -- -- If matching multiple attributes, then the result is the intersection of -- the matching sets, i.e., the resulting filter is a conjunction. -- """ -- enumeration = context.list_devices() -- -- for key, value in apairs: -- enumeration.match_attribute(key, value) -- -- _test_direct_and_complement( -- context, -- frozenset(enumeration), -- lambda d: all( -- d.attributes.get(key) == value for key, value in apairs -- ) -- ) -- - @given(_CONTEXT_STRATEGY, - strategies.lists( - elements=_MATCH_PROPERTY_STRATEGY, diff --git a/dev-python/pyudev/pyudev-0.22.0-r1.ebuild b/dev-python/pyudev/pyudev-0.22.0-r1.ebuild deleted file mode 100644 index 08a505993aac..000000000000 --- a/dev-python/pyudev/pyudev-0.22.0-r1.ebuild +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{7..10} ) - -inherit distutils-r1 - -DESCRIPTION="Python binding to libudev" -HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" -IUSE="qt5" - -RDEPEND=" - dev-python/six[${PYTHON_USEDEP}] - virtual/udev - qt5? ( dev-python/PyQt5[${PYTHON_USEDEP}] ) -" -DEPEND="${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - test? ( - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - )" - -DOCS=( CHANGES.rst README.rst ) - -PATCHES=( - "${FILESDIR}/pyudev-0.22-pytest-4.patch" - "${FILESDIR}/pyudev-0.22-remove-flaky-tests.patch" - "${FILESDIR}/pyudev-0.22-fix-hypothesis.patch" -) - -distutils_enable_tests pytest - -python_prepare_all() { - if use test; then - ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/'," - ewarn "change it to /var/tmp to ensure tests will pass." - fi - - # tests are known to pass then fail on alternate runs - # tests: fix run_path - sed -i -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \ - tests/test_core.py || die - - distutils-r1_python_prepare_all -} |