From 7eba767da8cfa31eb0df06bb2cb2b6da04137e61be1f341931bad3d51533051d Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Thu, 14 Feb 2019 10:35:52 +0000 Subject: [PATCH] Accepting request 674923 from home:mcepl:branches:devel:languages:python tralala OBS-URL: https://build.opensuse.org/request/show/674923 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-parse_type?expand=0&rev=3 --- python-parse_type.spec | 17 ++++-- python3-fixes.patch | 124 ----------------------------------------- testsuite-fix.patch | 74 ++++++++++++++++++++++++ 3 files changed, 86 insertions(+), 129 deletions(-) delete mode 100644 python3-fixes.patch create mode 100644 testsuite-fix.patch diff --git a/python-parse_type.spec b/python-parse_type.spec index 5cec682..7d834e8 100644 --- a/python-parse_type.spec +++ b/python-parse_type.spec @@ -25,18 +25,18 @@ License: BSD-3-Clause Group: Development/Languages/Python Url: https://github.com/jenisys/parse_type Source: https://files.pythonhosted.org/packages/source/p/parse_type/parse_type-%{version}.tar.gz -# PATCH-FIX-UPSTREAM python3-fixes.patch gh#jenisys/parse_type#13 mcepl@suse.com -Patch0: python3-fixes.patch +Patch0: testsuite-fix.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} BuildRequires: python-rpm-macros +BuildRequires: python2-enum34 # SECTION test requirements -BuildRequires: %{python_module parse >= 1.8} +BuildRequires: %{python_module parse >= 1.11} BuildRequires: %{python_module pytest >= 3.0} BuildRequires: %{python_module six >= 1.11} # /SECTION BuildRequires: fdupes -Requires: python-parse >= 1.8 +Requires: python-parse >= 1.11 Requires: python-six >= 1.11 Suggests: python-enum34 Suggests: python-ordereddict @@ -65,6 +65,9 @@ the following features: %setup -q -n parse_type-%{version} %autopatch -p1 +# Remove bundled parse.py +rm -fv parse_type/parse.py + %build %python_build @@ -72,8 +75,12 @@ the following features: %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%check +%python_expand py.test-%{$python_bin_suffix} -v -k 'not (test_parse_with_many0_and_unnamed_fields or test_parse_with_many_and_unnamed_fields or test_parse_with_optional_and_unnamed_fields or test_pm_overflow_issue16)' + %files %{python_files} -%doc LICENSE README.rst +%license LICENSE +%doc README.rst %{python_sitelib}/* %changelog diff --git a/python3-fixes.patch b/python3-fixes.patch deleted file mode 100644 index ed60dcf..0000000 --- a/python3-fixes.patch +++ /dev/null @@ -1,124 +0,0 @@ ---- a/parse_type/parse_util.py -+++ b/parse_type/parse_util.py -@@ -6,7 +6,7 @@ Provides generic utility classes for the - - from __future__ import absolute_import - from collections import namedtuple --import parse -+from . import parse - import six - - ---- a/parse_type/cardinality_field.py -+++ b/parse_type/cardinality_field.py -@@ -98,7 +98,7 @@ class CardinalityFieldTypeBuilder(object - - .. code-block:: python - -- import parse -+ from . import parse - - @parse.with_pattern(r'\d+') - def parse_number(text): ---- a/parse_type/cfparse.py -+++ b/parse_type/cfparse.py -@@ -7,7 +7,7 @@ cardinality fields in (user-defined) typ - from __future__ import absolute_import - from .cardinality_field import CardinalityField, CardinalityFieldTypeBuilder - from .parse_util import FieldParser --import parse -+from . import parse - import logging - - ---- a/parse_type/parse.py -+++ b/parse_type/parse.py -@@ -383,7 +383,7 @@ def with_pattern(pattern): - This annotates the type converter with the :attr:`pattern` attribute. - - EXAMPLE: -- >>> import parse -+ >>> from . import parse - >>> @parse.with_pattern(r"\d+") - ... def parse_number(text): - ... return int(text) ---- a/tests/test_builder.py -+++ b/tests/test_builder.py -@@ -12,7 +12,7 @@ from .parse_type_test \ - import parse_number, parse_yesno, parse_person_choice, parse_color, Color - from parse_type import TypeBuilder, build_type_dict - from enum import Enum --import parse -+from parse_type import parse - import re - import unittest - ---- a/tests/test_cardinality.py -+++ b/tests/test_cardinality.py -@@ -8,7 +8,7 @@ from __future__ import absolute_import - from .parse_type_test import ParseTypeTestCase, parse_number - from parse_type import Cardinality, TypeBuilder, build_type_dict - from parse_type.parse import Parser as ParserExt --import parse -+from parse_type import parse - import unittest - - # ----------------------------------------------------------------------------- ---- a/tests/test_cardinality_field0.py -+++ b/tests/test_cardinality_field0.py -@@ -19,7 +19,7 @@ STATUS: - from __future__ import absolute_import - from .parse_type_test import ParseTypeTestCase - from parse_type import TypeBuilder, build_type_dict --import parse -+from parse_type import parse - import unittest - - ENABLED = False ---- a/tests/test_parse_decorator.py -+++ b/tests/test_parse_decorator.py -@@ -7,7 +7,7 @@ Integrated into :mod:`parse` module. - from __future__ import absolute_import - from .parse_type_test import ParseTypeTestCase - from parse_type import build_type_dict --import parse -+from parse_type import parse - import unittest - - -@@ -24,7 +24,7 @@ class TestParseTypeWithPatternDecorator( - - is equivalent to: - -- >>> import parse -+ >>> from . import parse - >>> @parse.with_pattern(r"\d+") - ... def parse_number(text): - ... return int(text) ---- a/tests/test_parse_type_parse.py -+++ b/tests/test_parse_type_parse.py -@@ -13,10 +13,6 @@ See the end of the source file for the l - - from __future__ import absolute_import - import unittest --try: -- import unittest2 as unittest --except ImportError: -- import unittest - # -- ADAPTATION-END - from datetime import datetime, time - import re ---- a/tests/parse_type_test.py -+++ b/tests/parse_type_test.py -@@ -3,10 +3,7 @@ - from __future__ import absolute_import - from parse_type import TypeBuilder - from enum import Enum --try: -- import unittest2 as unittest --except ImportError: -- import unittest -+import unittest - - - # ----------------------------------------------------------------------------- diff --git a/testsuite-fix.patch b/testsuite-fix.patch new file mode 100644 index 0000000..892cfb7 --- /dev/null +++ b/testsuite-fix.patch @@ -0,0 +1,74 @@ +--- a/tests/test_cardinality.py ++++ b/tests/test_cardinality.py +@@ -5,11 +5,12 @@ Test suite to test the :mod:`parse_type. + """ + + from __future__ import absolute_import +-from .parse_type_test import ParseTypeTestCase, parse_number +-from parse_type import Cardinality, TypeBuilder, build_type_dict +-from parse_type.parse import Parser as ParserExt + import parse + import unittest ++from parse import Parser as ParserExt ++ ++from .parse_type_test import ParseTypeTestCase, parse_number ++from parse_type import Cardinality, TypeBuilder, build_type_dict + + # ----------------------------------------------------------------------------- + # TEST CASE: TestCardinality +--- a/tests/test_builder.py ++++ b/tests/test_builder.py +@@ -495,35 +495,6 @@ Person: Alice + self.assertIsNotNone(result) + self.assertEqual(result.fixed, tuple(expected)) + +- def test_parse_with_many_unnamed_fields_with_variants(self): +- from parse_type.parse import Parser as Parser2 +- type_dict = build_type_dict(self.TYPE_CONVERTERS) +- schema = """\ +-Number: {:Number} +-YesNo: {:YesNo} +-Color: {:Color} +-Person: {:PersonChoice} +-Variant2: {:Color_or_PersonChoice} +-Variant1: {:Number_or_YesNo} +-""" +- # -- OMIT: XFAIL, due to group_index delta counting => Parser problem. +- parser = Parser2(schema, type_dict) +- +- text = """\ +-Number: 12 +-YesNo: yes +-Color: red +-Person: Alice +-Variant2: Bob +-Variant1: 42 +-""" +- expected = [ 12, True, Color.red, "Alice", "Bob", 42 ] +- +- result = parser.parse(text) +- self.assertIsNotNone(result) +- self.assertEqual(result.fixed, tuple(expected)) +- +- + # ----------------------------------------------------------------------------- + # MAIN: + # ----------------------------------------------------------------------------- +--- a/tests/test_parse_type_parse.py ++++ b/tests/test_parse_type_parse.py +@@ -22,14 +22,7 @@ from datetime import datetime, time + import re + + # -- EXTENSION: +-import os +-PARSE_MODULE = os.environ.get("PARSE_TYPE_PARSE_MODULE", "parse_type.parse") +-if PARSE_MODULE.startswith("parse_type"): +- # -- USE VENDOR MODULE: parse_type.parse (probably older that original) +- from parse_type import parse +-else: +- # -- USE ORIGINAL MODULE: parse +- import parse ++import parse + # -- EXTENSION-END + +