Adapt to support pytest4 (#1706285)
This commit is contained in:
parent
995f06fbf4
commit
393aabe0f8
140
pytest4.patch
Normal file
140
pytest4.patch
Normal file
@ -0,0 +1,140 @@
|
||||
diff --git a/setup.cfg b/setup.cfg
|
||||
index 4666800..e09e5e8 100644
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -89,7 +89,7 @@ command = py342.cmd
|
||||
[env:3.4.2 x86]
|
||||
command = py342_x86.cmd
|
||||
|
||||
-[pytest]
|
||||
+[tool:pytest]
|
||||
# Folders 'pytest' unit testing framework should avoid when collecting test
|
||||
# cases to run, e.g. internal build & version control system folders.
|
||||
norecursedirs = .git .hg .svn build dist
|
||||
diff --git a/tests/test_argument_parser.py b/tests/test_argument_parser.py
|
||||
index 64a5778..402e318 100644
|
||||
--- a/tests/test_argument_parser.py
|
||||
+++ b/tests/test_argument_parser.py
|
||||
@@ -95,7 +95,7 @@ class MockParamType:
|
||||
# the argument parsing functionality. This will remove code duplication
|
||||
# between different binding implementations and make their features more
|
||||
# balanced.
|
||||
- pytest.mark.xfail(reason="Not yet implemented.")("rpc")
|
||||
+ pytest.param("rpc", marks=pytest.mark.xfail(reason="Not yet implemented.")),
|
||||
))
|
||||
def test_binding_uses_argument_parsing(monkeypatch, binding_style):
|
||||
"""
|
||||
@@ -158,7 +158,7 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
# the argument parsing functionality. This will remove code duplication
|
||||
# between different binding implementations and make their features more
|
||||
# balanced.
|
||||
- pytest.mark.xfail(reason="Not yet implemented.")("rpc")
|
||||
+ pytest.param("rpc", marks=pytest.mark.xfail(reason="Not yet implemented.")),
|
||||
))
|
||||
def test_binding_for_an_operation_with_no_input_uses_argument_parsing(
|
||||
monkeypatch, binding_style):
|
||||
diff --git a/tests/test_input_parameters.py b/tests/test_input_parameters.py
|
||||
index f4ab7a7..4a817a4 100644
|
||||
--- a/tests/test_input_parameters.py
|
||||
+++ b/tests/test_input_parameters.py
|
||||
@@ -268,8 +268,8 @@ class TestUnsupportedParameterDefinitions:
|
||||
self.service = client.service
|
||||
|
||||
@pytest.mark.parametrize("test_args_required", (
|
||||
- pytest.mark.xfail(reason="empty choice member items not supported")(
|
||||
- True),
|
||||
+ pytest.param(True, marks=pytest.mark.xfail(
|
||||
+ reason="empty choice member items not supported")),
|
||||
False))
|
||||
def test_choice_containing_an_empty_sequence(self, test_args_required):
|
||||
"""
|
||||
@@ -295,15 +295,16 @@ class TestUnsupportedParameterDefinitions:
|
||||
@pytest.mark.parametrize("choice", (
|
||||
# Explicitly marked as optional and containing only non-optional
|
||||
# elements.
|
||||
- pytest.mark.xfail(reason="suds does not yet support minOccurs/"
|
||||
- "maxOccurs attributes on all/choice/sequence order indicators")(
|
||||
+ pytest.param(
|
||||
"""\
|
||||
<xsd:complexType>
|
||||
<xsd:choice minOccurs="0">
|
||||
<xsd:element name="aString" type="xsd:string" />
|
||||
<xsd:element name="anInteger" type="xsd:integer" />
|
||||
</xsd:choice>
|
||||
- </xsd:complexType>"""),
|
||||
+ </xsd:complexType>""", marks=pytest.mark.xfail(
|
||||
+ reason="suds does not yet support minOccurs/"
|
||||
+ "maxOccurs attributes on all/choice/sequence order indicators")),
|
||||
# Explicitly marked as optional and containing at least one
|
||||
# non-optional element.
|
||||
"""\
|
||||
diff --git a/tests/test_request_construction.py b/tests/test_request_construction.py
|
||||
index 3fef3fe..90e42bd 100644
|
||||
--- a/tests/test_request_construction.py
|
||||
+++ b/tests/test_request_construction.py
|
||||
@@ -94,9 +94,12 @@ def parametrize_single_element_input_test(param_names, param_values):
|
||||
args, request_body = next_value[:2]
|
||||
xfail = len(next_value) == 3
|
||||
param = (xsd, external_element_name, args, request_body)
|
||||
- if xfail:
|
||||
- param = pytest.mark.xfail(param, reason=next_value[2])
|
||||
- expanded_param_values.append(param)
|
||||
+ #if xfail:
|
||||
+ # param = pytest.mark.xfail(param, reason=next_value[2])
|
||||
+ #expanded_param_values.append(param)
|
||||
+ # Manually skip xfails for now since there's no way to mark
|
||||
+ if not xfail:
|
||||
+ expanded_param_values.append(param)
|
||||
return (param_names, expanded_param_values), {}
|
||||
|
||||
|
||||
diff --git a/tests/test_sax_encoder.py b/tests/test_sax_encoder.py
|
||||
index f7d1f37..65deb70 100644
|
||||
--- a/tests/test_sax_encoder.py
|
||||
+++ b/tests/test_sax_encoder.py
|
||||
@@ -141,7 +141,7 @@ symmetric_decoded_encoded_test_data__broken_encode = [
|
||||
(e, d) for d, e in
|
||||
symmetric_decoded_encoded_test_data +
|
||||
symmetric_decoded_encoded_test_data__broken_encode] + [
|
||||
- pytest.mark.xfail((e, d), reason="CDATA encoding not supported yet")
|
||||
+ pytest.param(e, d, marks=pytest.mark.xfail(reason="CDATA encoding not supported yet"))
|
||||
for d, e in symmetric_decoded_encoded_test_data__broken] + [
|
||||
# Character reference lookalikes.
|
||||
(x, x) for x in (
|
||||
@@ -164,7 +164,7 @@ def test_decode(input, expected):
|
||||
|
||||
@pytest.mark.parametrize(("input", "expected"),
|
||||
symmetric_decoded_encoded_test_data + [
|
||||
- pytest.mark.xfail(x, reason="CDATA encoding not supported yet") for x in
|
||||
+ pytest.param(x, y, marks=pytest.mark.xfail(reason="CDATA encoding not supported yet")) for x, y in
|
||||
symmetric_decoded_encoded_test_data__broken +
|
||||
symmetric_decoded_encoded_test_data__broken_encode] + [
|
||||
# Double encoding.
|
||||
diff --git a/tests/testutils/indirect_parametrize.py b/tests/testutils/indirect_parametrize.py
|
||||
index a8f1e0f..4be9950 100644
|
||||
--- a/tests/testutils/indirect_parametrize.py
|
||||
+++ b/tests/testutils/indirect_parametrize.py
|
||||
@@ -112,19 +112,15 @@ def pytest_configure(config):
|
||||
"argument list and keyword argument dictionary) based on the received "
|
||||
"input data. For more detailed information see the "
|
||||
"indirect_parametrize pytest plugin implementation module.")
|
||||
+ """pytest hook publishing references in the toplevel pytest namespace."""
|
||||
+ pytest.indirect_parametrize = indirect_parametrize
|
||||
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
"""pytest hook called for all detected test functions."""
|
||||
- func = metafunc.function
|
||||
- try:
|
||||
- mark = func.indirect_parametrize
|
||||
- except AttributeError:
|
||||
+ mark = metafunc.definition.get_closest_marker('indirect_parametrize')
|
||||
+ if not mark:
|
||||
return
|
||||
args, kwargs = mark.args[0](*mark.args[1:], **mark.kwargs)
|
||||
metafunc.parametrize(*args, **kwargs)
|
||||
|
||||
-
|
||||
-def pytest_namespace():
|
||||
- """pytest hook publishing references in the toplevel pytest namespace."""
|
||||
- return {'indirect_parametrize': indirect_parametrize}
|
@ -21,9 +21,10 @@ services and WSDL based objects can be easily inspected.
|
||||
Summary: %{sum}
|
||||
Name: python-suds
|
||||
Version: 0.7
|
||||
Release: 0.10.%{shortcommit}%{?dist}
|
||||
Release: 0.11.%{shortcommit}%{?dist}
|
||||
Source0: https://bitbucket.org/jurko/suds/get/%{shortcommit}.tar.bz2
|
||||
Patch0: fix_http_test.patch
|
||||
Patch1: pytest4.patch
|
||||
License: LGPLv3+
|
||||
BuildArch: noarch
|
||||
URL: https://bitbucket.org/jurko/suds
|
||||
@ -49,6 +50,7 @@ Summary: %{sum}
|
||||
mv jurko-suds-%{shortcommit} %{py2_builddir}
|
||||
pushd %{py2_builddir}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
popd
|
||||
%if 0%{?with_python3}
|
||||
cp -a %{py2_builddir} %{py3_builddir}
|
||||
@ -97,6 +99,9 @@ popd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Jun 11 2019 Scott Talbert <swt@techie.net> - 0.7-0.11.94664ddd46a6
|
||||
- Adapt to support pytest4 (#1706285)
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.7-0.10.94664ddd46a6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user