- Add minimal-dependencies.patch fixing the issue with test.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-zope.location?expand=0&rev=16
This commit is contained in:
Matej Cepl 2025-01-30 13:21:08 +00:00 committed by Git OBS Bridge
commit e0e2610fb7
8 changed files with 296 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

121
minimal-dependencies.patch Normal file
View File

@ -0,0 +1,121 @@
From bbe277f55cd69de23cdd32d277cc30e837ef70b3 Mon Sep 17 00:00:00 2001
From: Michael Howitz <icemac@gmx.net>
Date: Thu, 30 Jan 2025 09:14:32 +0100
Subject: [PATCH] Add tests for minimal dependencies.
Add `copy` extra to include the `zope.copy` dependency.
Fixes #5.
---
.meta.toml | 16 +++++++++++++++-
CHANGES.rst | 3 +++
setup.py | 17 ++++++++++++++---
src/zope/location/testing.py | 10 ++++++++++
src/zope/location/tests/test_configure.py | 12 +++++++++++-
src/zope/location/tests/test_pickling.py | 3 +++
tox.ini | 10 ++++++++++
7 files changed, 66 insertions(+), 5 deletions(-)
create mode 100644 src/zope/location/testing.py
diff --git a/setup.py b/setup.py
index c12779a..f5b72bd 100644
--- a/setup.py
+++ b/setup.py
@@ -37,8 +37,11 @@ def read(*rnames):
'zope.component >= 4.0.1',
]
-TESTS_REQUIRE = ZCML_REQUIRES + COMPONENT_REQUIRES + [
+COPY_REQUIRES = [
'zope.copy >= 4.0',
+]
+
+TESTS_REQUIRE = [
'zope.testrunner',
]
@@ -57,7 +60,7 @@ def read(*rnames):
+ '\n\n' +
read('CHANGES.rst')
),
- license='ZPL 2.1',
+ license='ZPL-2.1',
keywords=('zope location structural'),
classifiers=[
'Development Status :: 5 - Production/Stable',
@@ -93,7 +96,15 @@ def read(*rnames):
extras_require={
'zcml': ZCML_REQUIRES,
'component': COMPONENT_REQUIRES,
- 'test': TESTS_REQUIRE,
+ 'copy': COPY_REQUIRES,
+ 'test-minimal': TESTS_REQUIRE,
+ 'test-component': TESTS_REQUIRE + COMPONENT_REQUIRES + ZCML_REQUIRES,
+ 'test': (
+ TESTS_REQUIRE
+ + ZCML_REQUIRES
+ + COMPONENT_REQUIRES
+ + COPY_REQUIRES
+ ),
'docs': DOCS_REQUIRE,
},
include_package_data=True,
diff --git a/src/zope/location/testing.py b/src/zope/location/testing.py
new file mode 100644
index 0000000..bf28b3f
--- /dev/null
+++ b/src/zope/location/testing.py
@@ -0,0 +1,10 @@
+import importlib
+import unittest
+
+
+def skipUnlessImportable(module: str):
+ try:
+ importlib.import_module(module)
+ except ModuleNotFoundError: # pragma: no cover
+ return unittest.skip(f"{module!r} not importable")
+ return lambda func: func
diff --git a/src/zope/location/tests/test_configure.py b/src/zope/location/tests/test_configure.py
index 332faa5..5f1bf4f 100644
--- a/src/zope/location/tests/test_configure.py
+++ b/src/zope/location/tests/test_configure.py
@@ -15,12 +15,22 @@
"""
import unittest
+from zope.location.testing import skipUnlessImportable
+
+@skipUnlessImportable('zope.component')
class Test_ZCML_loads(unittest.TestCase):
def test_it(self):
import zope.component # no registrations made if not present
- ADAPTERS_REGISTERED = 4
+
+ try:
+ import zope.copy
+ ADAPTERS_REGISTERED = 4
+ except ModuleNotFoundError: # pragma: no cover
+ ADAPTERS_REGISTERED = 3
+ else:
+ del zope.copy
from zope.configuration.xmlconfig import XMLConfig
from zope.configuration.xmlconfig import _clearContext
from zope.configuration.xmlconfig import _getContext
diff --git a/src/zope/location/tests/test_pickling.py b/src/zope/location/tests/test_pickling.py
index ddcc274..4c19709 100644
--- a/src/zope/location/tests/test_pickling.py
+++ b/src/zope/location/tests/test_pickling.py
@@ -13,7 +13,10 @@
##############################################################################
import unittest
+from zope.location.testing import skipUnlessImportable
+
+@skipUnlessImportable('zope.copy')
class LocationCopyHookTests(unittest.TestCase):
def _getTargetClass(self):

3
pre_checkin.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/sh
cp python-zope.location.changes python-zope.location-doc.changes

View File

@ -0,0 +1,57 @@
-------------------------------------------------------------------
Thu Jan 30 12:35:12 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Add minimal-dependencies.patch fixing the issue with test.
-------------------------------------------------------------------
Fri Jan 3 10:47:30 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Skip failing test and open an issue upstream
-------------------------------------------------------------------
Mon Dec 18 13:28:34 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 5.0:
* Drop support for Python 2.7, 3.5, 3.6.
-------------------------------------------------------------------
Fri Jun 9 13:14:19 UTC 2023 - ecsos <ecsos@opensuse.org>
- Add %{?sle15_python_module_pythons}
-------------------------------------------------------------------
Wed Dec 7 22:51:19 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to version 4.3
* Add support for Python 3.8, 3.9, 3.10, 3.11.
* Drop support for Python 3.4.
-------------------------------------------------------------------
Fri Apr 5 11:13:00 UTC 2019 - Marketa Calabkova <mcalabkova@suse.com>
- update to version 4.2
* Add support for Python 3.5, 3.6 and 3.7.
* Drop support for Python 2.6, 3.2 and 3.3.
* Add a page to the docs on hacking zope.location.
* Note additional documentation dependencies.
* Remove internal _compat implementation module.
- drop *-doc subpackage, use multibuild instead.
-------------------------------------------------------------------
Thu Jul 13 22:39:07 UTC 2017 - aloisio@gmx.com
- Update to version 4.0.3
* Added Python 3.4 support.
* Updated boostrap.py to version 2.2.
- Split docs and tests into separate -doc package since running
tests and sometimes building docs had become very messy.
Also see (gh#/zopefoundation/zope.proxy#18)
- Converted to single-spec
-------------------------------------------------------------------
Mon Jul 29 09:48:26 UTC 2013 - hpj@urpla.net
- version 4.0.2: initial build

85
python-zope.location.spec Normal file
View File

@ -0,0 +1,85 @@
#
# spec file for package python-zope.location
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2013 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-zope.location%{psuffix}
Version: 5.0
Release: 0
Summary: Zope Location
License: ZPL-2.1
Group: Development/Languages/Python
URL: https://www.python.org/pypi/zope.location
Source: https://files.pythonhosted.org/packages/source/z/zope.location/zope.location-%{version}.tar.gz
# PATCH-FIX-UPSTREAM https://github.com/zopefoundation/zope.location/pull/14 Add tests for minimal dependencies.
Patch: minimal-dependencies.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: %{python_module zope.schema >= 4.2.2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-zope.interface >= 4.0.2
Requires: python-zope.proxy >= 4.0.1
Requires: python-zope.schema >= 4.2.2
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module zope.component >= 4.0.1}
BuildRequires: %{python_module zope.configuration}
BuildRequires: %{python_module zope.copy >= 4.0}
BuildRequires: %{python_module zope.proxy}
BuildRequires: %{python_module zope.testrunner}
%endif
%python_subpackages
%description
In Zope3, location are special objects that has a structural location.
%prep
%autosetup -p1 -n zope.location-%{version}
rm -rf src/zope.location.egg-info
%build
%pyproject_wheel
%install
%if !%{with test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%if %{with test}
%check
%python_expand PYTHONPATH=src %{_bindir}/zope-testrunner-%{$python_bin_suffix} -vvv --test-path src
%endif
%if !%{with test}
%files %{python_files}
%license LICENSE.txt
%doc COPYRIGHT.txt CHANGES.rst README.rst
%{python_sitelib}/*
%endif
%changelog

BIN
zope.location-5.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.