forked from pool/python-apipkg
Accepting request 925833 from home:bnavigator:branches:devel:languages:python:pytest
- Update to v2.1.0
* fix race condition for import of modules using apipkg.initpkg
in Python 3.3+ by updating existing modules in-place rather
than replacing in sys.modules with an apipkg.ApiModule
instances. This race condition exists for import statements
(and __import__) in Python 3.3+ where sys.modules is checked
before obtaining an import lock, and for
importlib.import_module in Python 3.11+ for the same reason.
- Release 2.0.1
* fix race conditions for attribute creation
- Release 2.0.0
* also transfer __spec__ attribute
* make py.test hack more specific to avoid hiding real errors
* switch from Travis CI to GitHub Actions
* modernize package build
* reformat code with black
- Drop pytest4.patch
OBS-URL: https://build.opensuse.org/request/show/925833
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-apipkg?expand=0&rev=11
This commit is contained in:
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6
|
|
||||||
size 11186
|
|
||||||
3
apipkg-2.1.0.tar.gz
Normal file
3
apipkg-2.1.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:a4be31cf8081e660d2cdea6edfb8a0f39f385866abdcfcfa45e5a0887345cb70
|
||||||
|
size 16346
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
--- a/test_apipkg.py
|
|
||||||
+++ b/test_apipkg.py
|
|
||||||
@@ -13,7 +13,7 @@ ModuleType = types.ModuleType
|
|
||||||
class TestRealModule:
|
|
||||||
|
|
||||||
def setup_class(cls):
|
|
||||||
- cls.tmpdir = py.test.ensuretemp('test_apipkg')
|
|
||||||
+ cls.tmpdir = py.path.local('test_apipkg')
|
|
||||||
sys.path = [str(cls.tmpdir)] + sys.path
|
|
||||||
pkgdir = cls.tmpdir.ensure('realtest', dir=1)
|
|
||||||
|
|
||||||
@@ -319,8 +319,10 @@ def test_error_loading_one_element(monke
|
|
||||||
import errorloading1
|
|
||||||
assert isinstance(errorloading1, apipkg.ApiModule)
|
|
||||||
assert errorloading1.y == 0
|
|
||||||
- py.test.raises(ImportError, 'errorloading1.x')
|
|
||||||
- py.test.raises(ImportError, 'errorloading1.x')
|
|
||||||
+ with pytest.raises(ImportError):
|
|
||||||
+ errorloading1.x
|
|
||||||
+ with pytest.raises(ImportError):
|
|
||||||
+ errorloading1.x
|
|
||||||
|
|
||||||
|
|
||||||
def test_onfirstaccess(tmpdir, monkeypatch):
|
|
||||||
@@ -493,7 +495,8 @@ def test_aliasmodule_proxy_methods(tmpdi
|
|
||||||
assert doit is orig.doit
|
|
||||||
|
|
||||||
del proxy.doit
|
|
||||||
- py.test.raises(AttributeError, "orig.doit")
|
|
||||||
+ with pytest.raises(AttributeError):
|
|
||||||
+ orig.doit
|
|
||||||
|
|
||||||
proxy.doit = doit
|
|
||||||
assert orig.doit is doit
|
|
||||||
@@ -1,3 +1,24 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 17 12:03:03 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to v2.1.0
|
||||||
|
* fix race condition for import of modules using apipkg.initpkg
|
||||||
|
in Python 3.3+ by updating existing modules in-place rather
|
||||||
|
than replacing in sys.modules with an apipkg.ApiModule
|
||||||
|
instances. This race condition exists for import statements
|
||||||
|
(and __import__) in Python 3.3+ where sys.modules is checked
|
||||||
|
before obtaining an import lock, and for
|
||||||
|
importlib.import_module in Python 3.11+ for the same reason.
|
||||||
|
- Release 2.0.1
|
||||||
|
* fix race conditions for attribute creation
|
||||||
|
- Release 2.0.0
|
||||||
|
* also transfer __spec__ attribute
|
||||||
|
* make py.test hack more specific to avoid hiding real errors
|
||||||
|
* switch from Travis CI to GitHub Actions
|
||||||
|
* modernize package build
|
||||||
|
* reformat code with black
|
||||||
|
- Drop pytest4.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Dec 8 10:59:41 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
Tue Dec 8 10:59:41 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python
|
# spec file
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -26,17 +26,13 @@
|
|||||||
%bcond_with test
|
%bcond_with test
|
||||||
%endif
|
%endif
|
||||||
Name: python-apipkg%{psuffix}
|
Name: python-apipkg%{psuffix}
|
||||||
Version: 1.5
|
Version: 2.1.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Namespace control and lazy-import mechanism
|
Summary: Namespace control and lazy-import mechanism
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/pytest-dev/apipkg/
|
URL: https://github.com/pytest-dev/apipkg/
|
||||||
Source: https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/a/apipkg/apipkg-%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM pytest4.patch bsc#[0-9]+ mimi.vx@gmail.com
|
|
||||||
# Collected upstream fixes for gh#pytest-dev/apipkg#14 and
|
|
||||||
# gh#pytest-dev/apipkg#15
|
|
||||||
Patch0: pytest4.patch
|
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
%endif
|
%endif
|
||||||
@@ -50,16 +46,18 @@ BuildArch: noarch
|
|||||||
%description
|
%description
|
||||||
With apipkg you can control the exported namespace of a
|
With apipkg you can control the exported namespace of a
|
||||||
python package and greatly reduce the number of imports for your users.
|
python package and greatly reduce the number of imports for your users.
|
||||||
It is a `small pure python module`_ that works on virtually all Python
|
It is a small pure python module that works on CPython 2.7 and 3.4+,
|
||||||
versions, including CPython2.3 to Python3.1, Jython and PyPy. It co-operates
|
Jython and PyPy. It co-operates well with Python's help() system,
|
||||||
well with Python's ``help()`` system, custom importers (PEP302) and common
|
custom importers (PEP302) and common command line completion tools.
|
||||||
command line completion tools.
|
|
||||||
|
|
||||||
Usage is very simple: you can require 'apipkg' as a dependency or you
|
Usage is very simple: you can require 'apipkg' as a dependency or you
|
||||||
can copy paste the <100 Lines of code into your project.
|
can copy paste the ~200 lines of code into your project.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n apipkg-%{version}
|
%autosetup -p1 -n apipkg-%{version}
|
||||||
|
# Fix Python 2 install error on old setuptools in Leap
|
||||||
|
# https://github.com/pypa/setuptools/issues/1136
|
||||||
|
sed -i '/use_scm_version/ a \ package_dir={"": "src"},' setup.py
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
|
|||||||
Reference in New Issue
Block a user