- Add remove-six.patch to remove six dependency, gh#datadriventests/ddt#110

- Remove python_module macro definition
- More specific python_sitelib in %files

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ddt?expand=0&rev=38
This commit is contained in:
Daniel Garcia 2022-11-16 17:26:11 +00:00 committed by Git OBS Bridge
parent af270c3037
commit 13d276717d
3 changed files with 88 additions and 5 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Nov 16 17:20:57 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
- Add remove-six.patch to remove six dependency
- Remove python_module macro definition
- More specific python_sitelib in %files
-------------------------------------------------------------------
Mon Sep 26 10:38:04 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -16,7 +16,6 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-ddt
Version: 1.6.0
@ -25,8 +24,9 @@ Summary: Data-Driven/Decorated Tests
License: MIT
URL: https://github.com/txels/ddt
Source: https://files.pythonhosted.org/packages/source/d/ddt/ddt-%{version}.tar.gz
# PATCH-FIX-UPSTREAM remove-six.patch gh#datadriventests/ddt#110
Patch0: remove-six.patch
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@ -44,8 +44,7 @@ BuildRequires: python2-mock
A library to multiply test cases.
%prep
%setup -q -n ddt-%{version}
%autopatch -p1
%autosetup -p1 -n ddt-%{version}
%build
%python_build
@ -60,6 +59,8 @@ A library to multiply test cases.
%files %{python_files}
%doc CONTRIBUTING.md README.md
%license LICENSE.md
%{python_sitelib}/*
%{python_sitelib}/ddt.py
%{python_sitelib}/ddt-%{version}*-info
%pycache_only %{python_sitelib}/__pycache__
%changelog

75
remove-six.patch Normal file
View File

@ -0,0 +1,75 @@
Index: ddt-1.6.0/test/test_functional.py
===================================================================
--- ddt-1.6.0.orig/test/test_functional.py
+++ ddt-1.6.0/test/test_functional.py
@@ -1,8 +1,8 @@
import os
import json
+import sys
from sys import modules
import pytest
-import six
try:
from unittest import mock
@@ -444,35 +444,35 @@ def test_ddt_data_doc_attribute():
assert getattr(getattr(ddt_mytest, 'second_test_3'), '__doc__') is None
-def test_ddt_data_unicode():
+@pytest.mark.skipif(sys.version_info.major > 2, reason='Python2 only test')
+def test_ddt_data_unicode_py2():
"""
Test that unicode strings are converted to function names correctly
"""
- # We test unicode support separately for python 2 and 3
-
- if six.PY2:
+ @ddt
+ class Mytest(object):
+ @data(u'ascii', u'non-ascii-\N{SNOWMAN}', {u'\N{SNOWMAN}': 'data'})
+ def test_hello(self, val):
+ pass
+
+ assert getattr(Mytest, 'test_hello_1_ascii') is not None
+ assert getattr(Mytest, 'test_hello_2_non_ascii__u2603') is not None
+ assert getattr(Mytest, 'test_hello_3') is not None
- @ddt
- class Mytest(object):
- @data(u'ascii', u'non-ascii-\N{SNOWMAN}', {u'\N{SNOWMAN}': 'data'})
- def test_hello(self, val):
- pass
-
- assert getattr(Mytest, 'test_hello_1_ascii') is not None
- assert getattr(Mytest, 'test_hello_2_non_ascii__u2603') is not None
- assert getattr(Mytest, 'test_hello_3') is not None
-
- elif six.PY3:
-
- @ddt
- class Mytest(object):
- @data('ascii', 'non-ascii-\N{SNOWMAN}', {'\N{SNOWMAN}': 'data'})
- def test_hello(self, val):
- pass
-
- assert getattr(Mytest, 'test_hello_1_ascii') is not None
- assert getattr(Mytest, 'test_hello_2_non_ascii__') is not None
- assert getattr(Mytest, 'test_hello_3') is not None
+@pytest.mark.skipif(sys.version_info.major < 3, reason='Python3 only test')
+def test_ddt_data_unicode_py3():
+ """
+ Test that unicode strings are converted to function names correctly
+ """
+ @ddt
+ class Mytest(object):
+ @data('ascii', 'non-ascii-\N{SNOWMAN}', {'\N{SNOWMAN}': 'data'})
+ def test_hello(self, val):
+ pass
+
+ assert getattr(Mytest, 'test_hello_1_ascii') is not None
+ assert getattr(Mytest, 'test_hello_2_non_ascii__') is not None
+ assert getattr(Mytest, 'test_hello_3') is not None
def test_ddt_data_object():