forked from pool/python-pyudev
syntactically correct and skip over tests we cannot run because
of missing /dev gh#pyudev/pyudev#404. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pyudev?expand=0&rev=36
This commit is contained in:
parent
c0ee678bc4
commit
475b148545
@ -1,9 +1,109 @@
|
||||
---
|
||||
pytest.ini | 5 ++++-
|
||||
tests/_device_tests/_attributes_tests.py | 1 +
|
||||
tests/_device_tests/_device_tests.py | 1 +
|
||||
tests/_device_tests/_devices_tests.py | 3 +++
|
||||
tests/test_enumerate.py | 3 +++
|
||||
tests/test_util.py | 2 ++
|
||||
6 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/pytest.ini
|
||||
+++ b/pytest.ini
|
||||
@@ -1,3 +1,5 @@
|
||||
@@ -1,3 +1,6 @@
|
||||
-[tool:pytest]
|
||||
+[pytest]
|
||||
# do not search for tests in build directory
|
||||
norecursedirs = .* _* build
|
||||
+markers =
|
||||
+ conversion
|
||||
+ real_udev
|
||||
--- a/tests/_device_tests/_attributes_tests.py
|
||||
+++ b/tests/_device_tests/_attributes_tests.py
|
||||
@@ -124,6 +124,7 @@ class TestAttributes(object):
|
||||
with pytest.raises(ValueError):
|
||||
device.attributes.asbool(key)
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@_UDEV_TEST(167, "test_available_attributes")
|
||||
@given(strategies.sampled_from(_DEVICES))
|
||||
@settings(max_examples=5)
|
||||
--- a/tests/_device_tests/_devices_tests.py
|
||||
+++ b/tests/_device_tests/_devices_tests.py
|
||||
@@ -127,6 +127,7 @@ class TestDevices(object):
|
||||
assert error.subsystem == 'no_such_subsystem'
|
||||
assert error.sys_name == 'foobar'
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@failed_health_check_wrapper
|
||||
@given(
|
||||
_CONTEXT_STRATEGY,
|
||||
@@ -142,6 +143,7 @@ class TestDevices(object):
|
||||
Devices.from_device_number(a_context, typ, a_device.device_number)
|
||||
assert a_device == device
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@failed_health_check_wrapper
|
||||
@given(
|
||||
_CONTEXT_STRATEGY,
|
||||
@@ -177,6 +179,7 @@ class TestDevices(object):
|
||||
with pytest.raises(DeviceNotFoundByNumberError):
|
||||
Devices.from_device_number(_CONTEXT, 'foobar', 100)
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@failed_health_check_wrapper
|
||||
@given(
|
||||
_CONTEXT_STRATEGY,
|
||||
--- a/tests/test_util.py
|
||||
+++ b/tests/test_util.py
|
||||
@@ -124,6 +124,7 @@ def raise_valueerror():
|
||||
_CHAR_DEVICES = list(_CONTEXT.list_devices(subsystem="tty"))
|
||||
|
||||
|
||||
+@pytest.mark.real_udev
|
||||
@pytest.mark.skipif(len(_CHAR_DEVICES) == 0, reason='no tty devices')
|
||||
@given(strategies.sampled_from(_CHAR_DEVICES))
|
||||
@settings(max_examples=5)
|
||||
@@ -137,6 +138,7 @@ def test_get_device_type_character_devic
|
||||
_BLOCK_DEVICES = list(_CONTEXT.list_devices(subsystem="block"))
|
||||
|
||||
|
||||
+@pytest.mark.real_udev
|
||||
@pytest.mark.skipif(len(_BLOCK_DEVICES) == 0, reason='no block devices')
|
||||
@given(strategies.sampled_from(_BLOCK_DEVICES))
|
||||
@settings(max_examples=5)
|
||||
--- a/tests/_device_tests/_device_tests.py
|
||||
+++ b/tests/_device_tests/_device_tests.py
|
||||
@@ -216,6 +216,7 @@ class TestDevice(object):
|
||||
if device.device_node:
|
||||
assert is_unicode_string(device.device_node)
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@given(_CONTEXT_STRATEGY, strategies.sampled_from(_DEVICE_DATA))
|
||||
@settings(max_examples=5)
|
||||
def test_device_number(self, a_context, device_datum):
|
||||
--- a/tests/test_enumerate.py
|
||||
+++ b/tests/test_enumerate.py
|
||||
@@ -19,6 +19,7 @@ from __future__ import (print_function,
|
||||
absolute_import)
|
||||
|
||||
import mock
|
||||
+import pytest
|
||||
|
||||
from hypothesis import given
|
||||
from hypothesis import settings
|
||||
@@ -233,6 +234,7 @@ class TestEnumeratorMatchCombinations(ob
|
||||
Test combinations of matches.
|
||||
"""
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@given(_CONTEXT_STRATEGY,
|
||||
strategies.lists(
|
||||
elements=_MATCH_PROPERTY_STRATEGY,
|
||||
@@ -260,6 +262,7 @@ class TestEnumeratorMatchCombinations(ob
|
||||
)
|
||||
)
|
||||
|
||||
+ @pytest.mark.real_udev
|
||||
@given(_CONTEXT_STRATEGY, _SUBSYSTEM_STRATEGY, _SYSNAME_STRATEGY,
|
||||
_MATCH_PROPERTY_STRATEGY)
|
||||
@settings(max_examples=10)
|
||||
|
@ -2,8 +2,8 @@
|
||||
Thu Oct 8 23:03:04 UTC 2020 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Add pytest_register_mark.patch to make the test suite at least
|
||||
syntactically correct. Unfortunately, it is still broken
|
||||
gh#pyudev/pyudev#404.
|
||||
syntactically correct and skip over tests we cannot run because
|
||||
of missing /dev gh#pyudev/pyudev#404.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 28 21:38:51 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||
|
@ -25,14 +25,15 @@ License: LGPL-2.1-or-later
|
||||
Group: Development/Libraries/Python
|
||||
URL: http://pyudev.readthedocs.org/
|
||||
Source0: https://files.pythonhosted.org/packages/source/p/pyudev/pyudev-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM pytest_register_mark.patch bsc#[0-9]+ mcepl@suse.com
|
||||
# Add missing mark registration
|
||||
# PATCH-FIX-UPSTREAM pytest_register_mark.patch gh#pyudev/pyudev#404 mcepl@suse.com
|
||||
# Add missing mark registration and register and use another mark
|
||||
Patch0: pytest_register_mark.patch
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module six}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: udev
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
Requires: libudev1
|
||||
Requires: python-six
|
||||
@ -70,8 +71,8 @@ sed -i -e "s|'sphinx.ext.intersphinx',\\?||" -e "s|'sphinxcontrib.issuetracker',
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
# Test suite fails gh#pyudev/pyudev#404
|
||||
%pytest || true
|
||||
# We don't have real /dev in osc build chroot gh#pyudev/pyudev#404
|
||||
%pytest -k 'not real_udev'
|
||||
|
||||
%files %{python_files}
|
||||
%license COPYING
|
||||
|
Loading…
Reference in New Issue
Block a user