From f08c6266f0a68a87b33362d2c60a0c3cd1f70bb2a7dbf05f02b6b012fb5111c3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Tue, 21 Feb 2023 07:48:20 +0000 Subject: [PATCH] - Add denose.patch () and enable tests. - Clean up SPEC file OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cchardet?expand=0&rev=13 --- denose.patch | 125 ++++++++++++++++++++++++++++++++++++++++ python-cchardet.changes | 10 ++++ python-cchardet.spec | 21 +++++-- 3 files changed, 150 insertions(+), 6 deletions(-) create mode 100644 denose.patch diff --git a/denose.patch b/denose.patch new file mode 100644 index 0000000..918da1c --- /dev/null +++ b/denose.patch @@ -0,0 +1,125 @@ +--- + requirements-dev.txt | 1 - + setup.cfg | 4 ---- + src/tests/test.py | 32 +++++++------------------------- + 3 files changed, 7 insertions(+), 30 deletions(-) + +--- a/requirements-dev.txt ++++ b/requirements-dev.txt +@@ -1,5 +1,4 @@ + chardet==3.0.4 +-nose==1.3.7 + tox==3.20.1 + Cython==0.29.21 + # pylint==2.6.0 +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,7 +1,3 @@ +-[nosetests] +-verbose = 1 +-nocapture = 1 +- + [egg_info] + tag_build = + tag_date = 0 +--- a/src/tests/test.py ++++ b/src/tests/test.py +@@ -3,7 +3,6 @@ import glob + import os + import string + +-from nose.tools import eq_ + import cchardet + + SKIP_LIST = [ +@@ -26,14 +25,11 @@ SKIP_LIST_02.extend(SKIP_LIST) + class TestCChardet(): + def test_ascii(self): + detected_encoding = cchardet.detect(b'abcdefghijklmnopqrstuvwxyz') +- eq_( +- 'ascii', +- detected_encoding['encoding'].lower(), ++ assert 'ascii' == detected_encoding['encoding'].lower(), \ + 'Expected %s, but got %s' % ( + 'ascii', + detected_encoding['encoding'].lower() + ) +- ) + + def test_detect(self): + testfiles = glob.glob('tests/testdata/*/*.txt') +@@ -46,15 +42,13 @@ class TestCChardet(): + with open(testfile, 'rb') as f: + msg = f.read() + detected_encoding = cchardet.detect(msg) +- eq_( +- expected_charset.lower(), +- detected_encoding['encoding'].lower(), ++ assert expected_charset.lower() == \ ++ detected_encoding['encoding'].lower(), \ + 'Expected %s, but got %s for "%s"' % ( + expected_charset.lower(), + detected_encoding['encoding'].lower(), + testfile + ) +- ) + + def test_detector(self): + detector = cchardet.UniversalDetector() +@@ -67,14 +61,11 @@ class TestCChardet(): + line = f.readline() + detector.close() + detected_encoding = detector.result +- eq_( +- "shift_jis", +- detected_encoding['encoding'].lower(), ++ assert "shift_jis" == detected_encoding['encoding'].lower(), \ + 'Expected %s, but got %s' % ( + "shift_jis", + detected_encoding['encoding'].lower() + ) +- ) + + def test_github_issue_20(self): + """ +@@ -109,37 +100,28 @@ class TestCChardet(): + def test_utf8_with_bom(self): + sample = b'\xEF\xBB\xBF' + detected_encoding = cchardet.detect(sample) +- eq_( +- "utf-8-sig", +- detected_encoding['encoding'].lower(), ++ assert "utf-8-sig" == detected_encoding['encoding'].lower(), \ + 'Expected %s, but got %s' % ( + "utf-8-sig", + detected_encoding['encoding'].lower() + ) +- ) + + def test_null_bytes(self): + sample = b'ABC\x00\x80\x81' + detected_encoding = cchardet.detect(sample) + +- eq_( +- None, +- detected_encoding['encoding'], ++ assert detected_encoding['encoding'] is None, \ + 'Expected None, but got %s' % ( + detected_encoding['encoding'] + ) +- ) + + # def test_iso8859_2_csv(self): + # testfile = 'tests/samples/iso8859-2.csv' + # with open(testfile, 'rb') as f: + # msg = f.read() + # detected_encoding = cchardet.detect(msg) +- # eq_( +- # "iso8859-2", +- # detected_encoding['encoding'].lower(), ++ # assert "iso8859-2" == detected_encoding['encoding'].lower(), \ + # 'Expected %s, but got %s' % ( + # "iso8859-2", + # detected_encoding['encoding'].lower() + # ) +- # ) diff --git a/python-cchardet.changes b/python-cchardet.changes index 512344b..6b9fb50 100644 --- a/python-cchardet.changes +++ b/python-cchardet.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Feb 21 07:47:56 UTC 2023 - Matej Cepl + +- Add denose.patch () and enable tests. + +------------------------------------------------------------------- +Tue Feb 21 07:27:48 UTC 2023 - Matej Cepl + +- Clean up SPEC file + ------------------------------------------------------------------- Mon Feb 20 13:12:19 UTC 2023 - ecsos diff --git a/python-cchardet.spec b/python-cchardet.spec index 4416f82..9c1e705 100644 --- a/python-cchardet.spec +++ b/python-cchardet.spec @@ -16,7 +16,6 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-cchardet Version: 2.1.7 @@ -25,9 +24,14 @@ Summary: CChardet is high speed universal character encoding detector License: GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1 URL: https://github.com/PyYoshi/cChardet Source: https://files.pythonhosted.org/packages/source/c/cchardet/cchardet-%{version}.tar.gz +# PATCH-FIX-UPSTREAM denose.patch bsc#[0-9]+ mcepl@suse.com +# Remove dependency on nose +Patch0: denose.patch BuildRequires: %{python_module Cython} BuildRequires: %{python_module devel} -BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkgconfig @@ -41,16 +45,20 @@ Requires(postun):update-alternatives cChardet is high speed universal character encoding detector. - binding to `uchardet`_. %prep -%setup -q -n cchardet-%{version} +%autosetup -p1 -n cchardet-%{version} %build -%python_build +%pyproject_wheel %install -%python_install +%pyproject_install %python_clone -a %{buildroot}%{_bindir}/cchardetect %python_expand %fdupes %{buildroot}%{$python_sitearch} +%check +cd src +%pytest_arch tests/test.py + %post %python_install_alternative cchardetect @@ -61,6 +69,7 @@ cChardet is high speed universal character encoding detector. - binding to `ucha %license COPYING %doc README.rst %python_alternative %{_bindir}/cchardetect -%{python_sitearch}/* +%{python_sitearch}/cchardet +%{python_sitearch}/cchardet-%{version}*-info %changelog