Sync from SUSE:ALP:Source:Standard:1.0 python-py revision 94ad4a38884c57b6e08347598088840f
This commit is contained in:
commit
36a77835ba
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal 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
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
409
pr_222.patch
Normal file
409
pr_222.patch
Normal file
@ -0,0 +1,409 @@
|
||||
From f4ed62ad39f289d09b3efdfed7305f935ce60bfc Mon Sep 17 00:00:00 2001
|
||||
From: Stanislav Levin <slev@altlinux.org>
|
||||
Date: Tue, 4 Jun 2019 14:33:36 +0300
|
||||
Subject: [PATCH] Fix Pytest4.x compatibility errors
|
||||
|
||||
This patch should fix such errors/warnings as:
|
||||
|
||||
- raises / warns with a string as the second argument
|
||||
Deprecated since version 4.1.
|
||||
|
||||
- pytest_funcarg__ prefix
|
||||
Removed in version 4.0.
|
||||
|
||||
- getfuncargvalue
|
||||
|
||||
- Metafunc.addcall
|
||||
Removed in version 4.0.
|
||||
|
||||
Fixes: https://github.com/pytest-dev/py/issues/209
|
||||
Signed-off-by: Stanislav Levin <slev@altlinux.org>
|
||||
---
|
||||
doc/faq.txt | 14 -------------
|
||||
testing/code/test_assertion.py | 9 +++------
|
||||
testing/code/test_code.py | 3 ++-
|
||||
testing/code/test_excinfo.py | 12 ++++++-----
|
||||
testing/code/test_source.py | 18 ++++++++---------
|
||||
testing/io_/test_capture.py | 15 +++++++++-----
|
||||
testing/io_/test_terminalwriter.py | 17 ++++++++--------
|
||||
testing/io_/test_terminalwriter_linewidth.py | 6 ++++++
|
||||
testing/log/test_log.py | 6 ++++--
|
||||
testing/path/common.py | 7 ++++---
|
||||
testing/path/conftest.py | 16 +++++++--------
|
||||
testing/path/test_cacheutil.py | 6 ++++--
|
||||
testing/path/test_svnauth.py | 6 ++++--
|
||||
testing/path/test_svnurl.py | 21 +++++++++++++-------
|
||||
testing/path/test_svnwc.py | 17 ++++++++++------
|
||||
testing/root/test_builtin.py | 6 ++++--
|
||||
testing/root/test_std.py | 3 ++-
|
||||
17 files changed, 100 insertions(+), 82 deletions(-)
|
||||
|
||||
Index: py-1.9.0/testing/code/test_assertion.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/code/test_assertion.py
|
||||
+++ py-1.9.0/testing/code/test_assertion.py
|
||||
@@ -18,15 +18,12 @@ def test_assert():
|
||||
|
||||
|
||||
def test_assert_within_finally():
|
||||
- excinfo = py.test.raises(ZeroDivisionError, """
|
||||
+ with py.test.raises(ZeroDivisionError,
|
||||
+ match=".*division.* by zero"):
|
||||
try:
|
||||
- 1/0
|
||||
+ 1 / 0
|
||||
finally:
|
||||
i = 42
|
||||
- """)
|
||||
- s = excinfo.exconly()
|
||||
- assert re.search("ZeroDivisionError:.*division", s) is not None
|
||||
-
|
||||
|
||||
def test_assert_multiline_1():
|
||||
try:
|
||||
Index: py-1.9.0/testing/code/test_code.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/code/test_code.py
|
||||
+++ py-1.9.0/testing/code/test_code.py
|
||||
@@ -18,7 +18,8 @@ def test_code_gives_back_name_for_not_ex
|
||||
def test_code_with_class():
|
||||
class A:
|
||||
pass
|
||||
- py.test.raises(TypeError, "py.code.Code(A)")
|
||||
+ with py.test.raises(TypeError):
|
||||
+ py.code.Code(A)
|
||||
|
||||
if True:
|
||||
def x():
|
||||
Index: py-1.9.0/testing/code/test_excinfo.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/code/test_excinfo.py
|
||||
+++ py-1.9.0/testing/code/test_excinfo.py
|
||||
@@ -145,7 +145,8 @@ class TestTraceback_f_g_h:
|
||||
|
||||
def test_traceback_cut_excludepath(self, testdir):
|
||||
p = testdir.makepyfile("def f(): raise ValueError")
|
||||
- excinfo = py.test.raises(ValueError, "p.pyimport().f()")
|
||||
+ with py.test.raises(ValueError) as excinfo:
|
||||
+ p.pyimport().f()
|
||||
basedir = py.path.local(py.test.__file__).dirpath()
|
||||
newtraceback = excinfo.traceback.cut(excludepath=basedir)
|
||||
for x in newtraceback:
|
||||
@@ -273,8 +274,8 @@ def test_tbentry_reinterpret():
|
||||
def test_excinfo_exconly():
|
||||
excinfo = py.test.raises(ValueError, h)
|
||||
assert excinfo.exconly().startswith('ValueError')
|
||||
- excinfo = py.test.raises(ValueError,
|
||||
- "raise ValueError('hello\\nworld')")
|
||||
+ with py.test.raises(ValueError) as excinfo:
|
||||
+ raise ValueError('hello\\nworld')
|
||||
msg = excinfo.exconly(tryshort=True)
|
||||
assert msg.startswith('ValueError')
|
||||
assert msg.endswith("world")
|
||||
@@ -350,10 +351,11 @@ def test_codepath_Queue_example():
|
||||
|
||||
|
||||
class TestFormattedExcinfo:
|
||||
- def pytest_funcarg__importasmod(self, request):
|
||||
+ @pytest.fixture
|
||||
+ def importasmod(self, request):
|
||||
def importasmod(source):
|
||||
source = py.code.Source(source)
|
||||
- tmpdir = request.getfuncargvalue("tmpdir")
|
||||
+ tmpdir = request.getfixturevalue("tmpdir")
|
||||
modpath = tmpdir.join("mod.py")
|
||||
tmpdir.ensure("__init__.py")
|
||||
modpath.write(source)
|
||||
Index: py-1.9.0/testing/code/test_source.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/code/test_source.py
|
||||
+++ py-1.9.0/testing/code/test_source.py
|
||||
@@ -272,7 +272,8 @@ class TestSourceParsingAndCompiling:
|
||||
co = self.source.compile()
|
||||
py.builtin.exec_(co, globals())
|
||||
f(7)
|
||||
- excinfo = py.test.raises(AssertionError, "f(6)")
|
||||
+ with py.test.raises(AssertionError) as excinfo:
|
||||
+ f(6)
|
||||
frame = excinfo.traceback[-1].frame
|
||||
stmt = frame.code.fullsource.getstatement(frame.lineno)
|
||||
#print "block", str(block)
|
||||
@@ -326,14 +327,13 @@ def test_getstartingblock_multiline():
|
||||
|
||||
def test_getline_finally():
|
||||
def c(): pass
|
||||
- excinfo = py.test.raises(TypeError, """
|
||||
- teardown = None
|
||||
- try:
|
||||
- c(1)
|
||||
- finally:
|
||||
- if teardown:
|
||||
- teardown()
|
||||
- """)
|
||||
+ with py.test.raises(TypeError) as excinfo:
|
||||
+ teardown = None
|
||||
+ try:
|
||||
+ c(1)
|
||||
+ finally:
|
||||
+ if teardown:
|
||||
+ teardown()
|
||||
source = excinfo.traceback[-1].statement
|
||||
assert str(source).strip() == 'c(1)'
|
||||
|
||||
Index: py-1.9.0/testing/io_/test_capture.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/io_/test_capture.py
|
||||
+++ py-1.9.0/testing/io_/test_capture.py
|
||||
@@ -1,6 +1,7 @@
|
||||
from __future__ import with_statement
|
||||
|
||||
import os, sys
|
||||
+import pytest
|
||||
import py
|
||||
|
||||
needsdup = py.test.mark.skipif("not hasattr(os, 'dup')")
|
||||
@@ -45,7 +46,8 @@ class TestTextIO:
|
||||
f = py.io.TextIO()
|
||||
if sys.version_info >= (3,0):
|
||||
f.write("\u00f6")
|
||||
- py.test.raises(TypeError, "f.write(bytes('hello', 'UTF-8'))")
|
||||
+ with py.test.raises(TypeError):
|
||||
+ f.write(bytes('hello', 'UTF-8'))
|
||||
else:
|
||||
f.write(unicode("\u00f6", 'UTF-8'))
|
||||
f.write("hello") # bytes
|
||||
@@ -56,7 +58,8 @@ class TestTextIO:
|
||||
def test_bytes_io():
|
||||
f = py.io.BytesIO()
|
||||
f.write(tobytes("hello"))
|
||||
- py.test.raises(TypeError, "f.write(totext('hello'))")
|
||||
+ with py.test.raises(TypeError):
|
||||
+ f.write(totext('hello'))
|
||||
s = f.getvalue()
|
||||
assert s == tobytes("hello")
|
||||
|
||||
@@ -70,8 +73,9 @@ def test_dontreadfrominput():
|
||||
py.test.raises(ValueError, f.fileno)
|
||||
f.close() # just for completeness
|
||||
|
||||
-def pytest_funcarg__tmpfile(request):
|
||||
- testdir = request.getfuncargvalue("testdir")
|
||||
+@pytest.fixture
|
||||
+def tmpfile(request):
|
||||
+ testdir = request.getfixturevalue("testdir")
|
||||
f = testdir.makepyfile("").open('wb+')
|
||||
request.addfinalizer(f.close)
|
||||
return f
|
||||
@@ -315,7 +319,8 @@ class TestStdCapture:
|
||||
print ("XXX which indicates an error in the underlying capturing")
|
||||
print ("XXX mechanisms")
|
||||
cap = self.getcapture()
|
||||
- py.test.raises(IOError, "sys.stdin.read()")
|
||||
+ with py.test.raises(IOError):
|
||||
+ sys.stdin.read()
|
||||
out, err = cap.reset()
|
||||
|
||||
def test_suspend_resume(self):
|
||||
Index: py-1.9.0/testing/io_/test_terminalwriter.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/io_/test_terminalwriter.py
|
||||
+++ py-1.9.0/testing/io_/test_terminalwriter.py
|
||||
@@ -107,14 +107,11 @@ def test_unicode_on_file_with_ascii_enco
|
||||
|
||||
win32 = int(sys.platform == "win32")
|
||||
class TestTerminalWriter:
|
||||
- def pytest_generate_tests(self, metafunc):
|
||||
- if "tw" in metafunc.funcargnames:
|
||||
- metafunc.addcall(id="path", param="path")
|
||||
- metafunc.addcall(id="stringio", param="stringio")
|
||||
- metafunc.addcall(id="callable", param="callable")
|
||||
- def pytest_funcarg__tw(self, request):
|
||||
+
|
||||
+ @pytest.fixture(params=["path", "stringio", "callable"])
|
||||
+ def tw(self, request):
|
||||
if request.param == "path":
|
||||
- tmpdir = request.getfuncargvalue("tmpdir")
|
||||
+ tmpdir = request.getfixturevalue("tmpdir")
|
||||
p = tmpdir.join("tmpfile")
|
||||
f = codecs.open(str(p), 'w+', encoding='utf8')
|
||||
tw = py.io.TerminalWriter(f)
|
||||
@@ -182,8 +179,10 @@ class TestTerminalWriter:
|
||||
for color in ("red", "green"):
|
||||
text2 = tw.markup("hello", **{color: True, 'bold': bold})
|
||||
assert text2.find("hello") != -1
|
||||
- py.test.raises(ValueError, "tw.markup('x', wronkw=3)")
|
||||
- py.test.raises(ValueError, "tw.markup('x', wronkw=0)")
|
||||
+ with py.test.raises(ValueError):
|
||||
+ tw.markup('x', wronkw=3)
|
||||
+ with py.test.raises(ValueError):
|
||||
+ tw.markup('x', wronkw=0)
|
||||
|
||||
def test_line_write_markup(self, tw):
|
||||
tw.hasmarkup = True
|
||||
Index: py-1.9.0/testing/io_/test_terminalwriter_linewidth.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/io_/test_terminalwriter_linewidth.py
|
||||
+++ py-1.9.0/testing/io_/test_terminalwriter_linewidth.py
|
||||
@@ -1,6 +1,8 @@
|
||||
# coding: utf-8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
+import pytest
|
||||
+
|
||||
from py._io.terminalwriter import TerminalWriter
|
||||
|
||||
|
||||
@@ -31,6 +33,10 @@ def test_terminal_writer_line_width_upda
|
||||
assert tw.width_of_current_line == 21 # 5*2 + 1 + 5*2
|
||||
|
||||
|
||||
+@pytest.mark.skipif(
|
||||
+ 'sys.version_info > (3,)',
|
||||
+ reason='Bytes are not accepted'
|
||||
+ ' https://github.com/pytest-dev/pytest/issues/4861')
|
||||
def test_terminal_writer_line_width_update_with_wide_bytes():
|
||||
tw = TerminalWriter()
|
||||
tw.write('乇乂ㄒ尺卂 ㄒ卄丨匚匚'.encode('utf-8'))
|
||||
Index: py-1.9.0/testing/log/test_log.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/log/test_log.py
|
||||
+++ py-1.9.0/testing/log/test_log.py
|
||||
@@ -89,8 +89,10 @@ class TestLogConsumer:
|
||||
|
||||
def test_no_auto_producer(self):
|
||||
p = py.log.Producer('x')
|
||||
- py.test.raises(AttributeError, "p._x")
|
||||
- py.test.raises(AttributeError, "p.x_y")
|
||||
+ with py.test.raises(AttributeError):
|
||||
+ p._x
|
||||
+ with py.test.raises(AttributeError):
|
||||
+ p.x_y
|
||||
|
||||
def test_setconsumer_with_producer(self):
|
||||
l = []
|
||||
Index: py-1.9.0/testing/path/common.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/path/common.py
|
||||
+++ py-1.9.0/testing/path/common.py
|
||||
@@ -155,8 +155,8 @@ class CommonFSTests(object):
|
||||
l = path1.listdir()
|
||||
assert path1.join('sampledir') in l
|
||||
assert path1.join('samplefile') in l
|
||||
- py.test.raises(py.error.ENOTDIR,
|
||||
- "path1.join('samplefile').listdir()")
|
||||
+ with py.test.raises(py.error.ENOTDIR):
|
||||
+ path1.join('samplefile').listdir()
|
||||
|
||||
def test_listdir_fnmatchstring(self, path1):
|
||||
l = path1.listdir('s*dir')
|
||||
@@ -300,7 +300,8 @@ class CommonFSTests(object):
|
||||
assert url.mtime() > 0
|
||||
|
||||
def test_relto_wrong_type(self, path1):
|
||||
- py.test.raises(TypeError, "path1.relto(42)")
|
||||
+ with py.test.raises(TypeError):
|
||||
+ path1.relto(42)
|
||||
|
||||
def test_load(self, path1):
|
||||
p = path1.join('samplepickle')
|
||||
Index: py-1.9.0/testing/path/conftest.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/path/conftest.py
|
||||
+++ py-1.9.0/testing/path/conftest.py
|
||||
@@ -1,20 +1,19 @@
|
||||
import py
|
||||
import sys
|
||||
+import pytest
|
||||
from py._path import svnwc as svncommon
|
||||
|
||||
svnbin = py.path.local.sysfind('svn')
|
||||
repodump = py.path.local(__file__).dirpath('repotest.dump')
|
||||
from py.builtin import print_
|
||||
|
||||
-def pytest_funcarg__repowc1(request):
|
||||
+@pytest.fixture
|
||||
+def repowc1(request):
|
||||
if svnbin is None:
|
||||
py.test.skip("svn binary not found")
|
||||
|
||||
- tmpdir = request.getfuncargvalue("tmpdir")
|
||||
- repo, repourl, wc = request.cached_setup(
|
||||
- setup=lambda: getrepowc(tmpdir, "path1repo", "path1wc"),
|
||||
- scope="module",
|
||||
- )
|
||||
+ tmpdir = request.getfixturevalue("tmpdir")
|
||||
+ repo, repourl, wc = getrepowc(tmpdir, "path1repo", "path1wc")
|
||||
for x in ('test_remove', 'test_move', 'test_status_deleted'):
|
||||
if request.function.__name__.startswith(x):
|
||||
#print >>sys.stderr, ("saving repo", repo, "for", request.function)
|
||||
@@ -22,8 +21,9 @@ def pytest_funcarg__repowc1(request):
|
||||
request.addfinalizer(lambda: restore_repowc(_savedrepowc))
|
||||
return repo, repourl, wc
|
||||
|
||||
-def pytest_funcarg__repowc2(request):
|
||||
- tmpdir = request.getfuncargvalue("tmpdir")
|
||||
+@pytest.fixture
|
||||
+def repowc2(request):
|
||||
+ tmpdir = request.getfixturevalue("tmpdir")
|
||||
name = request.function.__name__
|
||||
repo, url, wc = getrepowc(tmpdir, "%s-repo-2" % name, "%s-wc-2" % name)
|
||||
return repo, url, wc
|
||||
Index: py-1.9.0/testing/path/test_cacheutil.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/path/test_cacheutil.py
|
||||
+++ py-1.9.0/testing/path/test_cacheutil.py
|
||||
@@ -12,12 +12,14 @@ class BasicCacheAPITest:
|
||||
assert val == 42
|
||||
|
||||
def test_cache_get_key_error(self):
|
||||
- pytest.raises(KeyError, "self.cache._getentry(-23)")
|
||||
+ with pytest.raises(KeyError):
|
||||
+ self.cache._getentry(-23)
|
||||
|
||||
def test_delentry_non_raising(self):
|
||||
self.cache.getorbuild(100, lambda: 100)
|
||||
self.cache.delentry(100)
|
||||
- pytest.raises(KeyError, "self.cache._getentry(100)")
|
||||
+ with pytest.raises(KeyError):
|
||||
+ self.cache._getentry(100)
|
||||
|
||||
def test_delentry_raising(self):
|
||||
self.cache.getorbuild(100, lambda: 100)
|
||||
Index: py-1.9.0/testing/root/test_builtin.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/root/test_builtin.py
|
||||
+++ py-1.9.0/testing/root/test_builtin.py
|
||||
@@ -56,7 +56,8 @@ def test_frozenset():
|
||||
|
||||
def test_print_simple():
|
||||
from py.builtin import print_
|
||||
- py.test.raises(TypeError, "print_(hello=3)")
|
||||
+ with py.test.raises(TypeError):
|
||||
+ print_(hello=3)
|
||||
f = py.io.TextIO()
|
||||
print_("hello", "world", file=f)
|
||||
s = f.getvalue()
|
||||
@@ -133,7 +134,8 @@ def test_reraise():
|
||||
raise Exception()
|
||||
except Exception:
|
||||
cls, val, tb = sys.exc_info()
|
||||
- excinfo = py.test.raises(Exception, "_reraise(cls, val, tb)")
|
||||
+ with py.test.raises(Exception):
|
||||
+ _reraise(cls, val, tb)
|
||||
|
||||
def test_exec():
|
||||
l = []
|
||||
Index: py-1.9.0/testing/root/test_std.py
|
||||
===================================================================
|
||||
--- py-1.9.0.orig/testing/root/test_std.py
|
||||
+++ py-1.9.0/testing/root/test_std.py
|
||||
@@ -6,7 +6,8 @@ def test_os():
|
||||
assert py.std.os is os
|
||||
|
||||
def test_import_error_converts_to_attributeerror():
|
||||
- py.test.raises(AttributeError, "py.std.xyzalskdj")
|
||||
+ with py.test.raises(AttributeError):
|
||||
+ py.std.xyzalskdj
|
||||
|
||||
def test_std_gets_it():
|
||||
for x in py.std.sys.modules:
|
BIN
py-1.11.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
py-1.11.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
463
python-py.changes
Normal file
463
python-py.changes
Normal file
@ -0,0 +1,463 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 25 14:23:03 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
||||
|
||||
- Skip tests failing with pytest 7.4, they don't matter
|
||||
* failure comes from py.core, which has low usage
|
||||
* https://github.com/pytest-dev/py/issues/288
|
||||
* according to that this code is not used in Tumbleweed anyway
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:30:10 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add sle15_python_module_pythons (jsc#PED-68)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 13 22:43:30 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Make calling of %{sle15modernpython} optional.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 17 05:13:56 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Remove all traces of py._path.svn{url,wc}. (bsc#1204364, CVE-2022-42969)
|
||||
- Add patch remove-svn-remants.patch to help with that goal.
|
||||
- Refresh pr_222.patch as needed for above.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 29 17:04:41 UTC 2022 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Remove python_module macro definition
|
||||
- Add python-py dep for testing
|
||||
- Use autosetup insteado of setup + patch
|
||||
- More specific python_sitelib in %files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 15 08:13:43 UTC 2022 - Stephan Kulow <coolo@suse.com>
|
||||
|
||||
- use %python_expand for %fdupes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 14 10:53:30 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update in SLE-15 (bsc#1195916, bsc#1196696, jsc#PM-3356, jsc#SLE-23972)
|
||||
- Drop CVE-2020-29651.patch, issue fixed upstream in 1.10.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 23 15:40:00 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 1.11.0:
|
||||
* Support Python 3.11
|
||||
* Support ``NO_COLOR`` environment variable
|
||||
* Update vendored apipkg: 1.5 => 2.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 19 15:21:06 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 1.10.0
|
||||
* Fix a regular expression DoS vulnerability in the py.path.svnwc
|
||||
SVN blame functionality (CVE-2020-29651)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 17 11:43:32 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Devendor apipkg and iniconfig
|
||||
- Add pr_222.patch to activate test suite
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 29 08:51:40 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
|
||||
|
||||
- Update to 1.9.0
|
||||
* Add type annotation stubs
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 6 12:53:25 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 1.8.1:
|
||||
- Handle ``FileNotFoundError`` when trying to import pathlib in
|
||||
``path.common`` on Python 3.4 (#207).
|
||||
- ``py.path.local.samefile`` now works correctly in Python 3 on
|
||||
Windows when dealing with symlinks.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 19 10:08:47 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Switch to multibuild to avoid cycle bsc#1138666
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 27 13:48:08 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Update to 1.8.0:
|
||||
* add ``"importlib"`` pyimport mode for python3.5+, allowing unimportable test suites
|
||||
to contain identically named modules.
|
||||
* fix ``LocalPath.as_cwd()`` not calling ``os.chdir()`` with ``None``, when
|
||||
being invoked from a non-existing directory.
|
||||
- Drop merged patch separators.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 15 11:19:55 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Make tests never fail as they are borked on pytest-4 with
|
||||
most probably no intention of being ever fixed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 15 11:01:39 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Make tests really pass on pytest 3.x series
|
||||
- Add patch to operate better with serparators (from upstream git):
|
||||
* separators.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 12 14:34:40 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||
|
||||
- Drop the doc subpackage, no need for it really
|
||||
- Make sure the tests are realy executed
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 26 13:07:32 UTC 2018 - Ondřej Súkup <mimi.vx@gmail.com>
|
||||
|
||||
- update to 1.7.0
|
||||
* use ``shutil.get_terminal_size()`` in Python 3.3+ to determine the size of the
|
||||
terminal, which produces more accurate results than the previous method.
|
||||
* introduce new ``PY_IGNORE_IMPORTMISMATCH`` environment variable
|
||||
that suppresses ``ImportMismatchError`` exceptions when set to ``1``.
|
||||
* add ``TerminalWriter.width_of_current_line`` (i18n version of
|
||||
``TerminalWriter.chars_on_current_line``), a read-only property
|
||||
that tracks how wide the current line is, attempting to take
|
||||
into account international characters in the calculation.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 2 12:39:13 UTC 2018 - mimi.vx@gmail.com
|
||||
|
||||
- update to 1.5.4
|
||||
* don't make assumptions about fs case sensitivity in ``make_numbered_dir``.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 31 04:37:00 UTC 2018 - toddrme2178@gmail.com
|
||||
|
||||
- update to version 1.5.3
|
||||
* - fix #179: ensure we can support 'from py.error import ...'
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 19 05:51:49 UTC 2017 - arun@gmx.de
|
||||
|
||||
- specfile:
|
||||
* updated url
|
||||
|
||||
- update to version 1.5.2:
|
||||
* fix #169, #170: error importing py.log on Windows: no module named
|
||||
"syslog".
|
||||
|
||||
- changes from version 1.5.1:
|
||||
* fix #167 - prevent pip from installing py in unsupported Python
|
||||
versions.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 15 07:06:05 UTC 2017 - arun@gmx.de
|
||||
|
||||
- update to version 1.5.0:
|
||||
* python 2.6 and 3.3 are no longer supported
|
||||
* deprecate py.std and remove all internal uses
|
||||
* fix #73 turn py.error into an actual module
|
||||
* path join to / no longer produces leading double slashes
|
||||
* fix #82 - remove unsupportable aliases
|
||||
* fix python37 compatibility of path.sysfind on windows by correctly
|
||||
replacing vars
|
||||
* turn iniconfig and apipkg into vendored packages and ease
|
||||
de-vendoring for distributions
|
||||
* fix #68 remove invalid py.test.ensuretemp references
|
||||
* fix #25 - deprecate path.listdir(sort=callable)
|
||||
* add TerminalWriter.chars_on_current_line read-only property that
|
||||
tracks how many characters have been written to the current line.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 30 06:02:11 UTC 2017 - aloisio@gmx.com
|
||||
|
||||
- Update to 1.4.34
|
||||
* fix issue119 / pytest issue708 where tmpdir may fail to make
|
||||
numbered directories when the filesystem is case-insensitive.
|
||||
1.4.33:
|
||||
* avoid imports in calls to py.path.local().fnmatch(). Thanks
|
||||
Andreas Pelme for the PR.
|
||||
* fix issue106: Naive unicode encoding when calling fspath() in
|
||||
python2. Thanks Tiago Nobrega for the PR.
|
||||
* fix issue110: unittest.TestCase.assertWarns fails with py
|
||||
imported.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 23 14:56:48 UTC 2017 - jmatejek@suse.com
|
||||
|
||||
- update to 1.4.32
|
||||
- fix issue70: added ability to copy all stat info in py.path.local.copy.
|
||||
- make TerminalWriter.fullwidth a property. This results in the correct
|
||||
value when the terminal gets resized.
|
||||
- update supported html tags to include recent additions.
|
||||
Thanks Denis Afonso for the PR.
|
||||
- Remove internal code in ``Source.compile`` meant to support earlier Python 3 versions that produced the side effect
|
||||
of leaving ``None`` in ``sys.modules`` when called (see pytest-dev/pytest#2103).
|
||||
Thanks Bruno Oliveira for the PR.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 5 14:47:53 UTC 2016 - jmatejek@suse.com
|
||||
|
||||
- update for singlespec
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 3 18:33:49 UTC 2016 - p.drouand@gmail.com
|
||||
|
||||
- Update download Url
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 23 13:23:33 UTC 2016 - michael@stroeder.com
|
||||
|
||||
- corrected homepage URL
|
||||
- HTTPS URL for pypi source link
|
||||
- update to version 1.4.31
|
||||
* fix local().copy(dest, mode=True) to also work with unicode.
|
||||
* pass better error message with svn EEXIST paths
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 2 10:01:08 UTC 2015 - aj@ajaissle.de
|
||||
|
||||
- update to version 1.4.30:
|
||||
* fix issue68 an assert with a multiline list comprehension was not
|
||||
reported correctly. Thanks Henrik Heibuerger.
|
||||
|
||||
- changes from version 1.4.29:
|
||||
* fix issue55: revert a change to the statement finding algorithm
|
||||
which is used by pytest for generating tracebacks. Thanks Daniel
|
||||
Hahler for initial analysis.
|
||||
* fix pytest issue254 for when traceback rendering can’t find valid
|
||||
source code. Thanks Ionel Cristian Maries.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 30 13:45:03 UTC 2015 - aj@ajaissle.de
|
||||
|
||||
- Split documentation into separate package to avoid build loop
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 22 15:13:02 UTC 2015 - tbechtold@suse.com
|
||||
|
||||
- update to 1.4.28:
|
||||
- fix issue64 -- dirpath regression when "abs=True" is passed.
|
||||
- fix issue59: point to new repo site
|
||||
- allow a new ensuresyspath="append" mode for py.path.local.pyimport()
|
||||
so that a neccessary import path is appended instead of prepended to
|
||||
sys.path
|
||||
- strike undocumented, untested argument to py.path.local.pypkgpath
|
||||
- speed up py.path.local.dirpath by a factor of 10
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 4 14:25:30 UTC 2015 - tbechtold@suse.com
|
||||
|
||||
- update to version 1.4.26:
|
||||
- avoid calling normpath twice in py.path.local
|
||||
- py.builtin._reraise properly reraises under Python3 now.
|
||||
- fix issue53 - remove module index, thanks jenisys.
|
||||
- allow posix path separators when "fnmatch" is called.
|
||||
Thanks Christian Long for the complete PR.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 27 17:35:17 UTC 2014 - dmueller@suse.com
|
||||
|
||||
- update to 1.4.25:
|
||||
- fix issue52: vaguely fix py25 compat of py.path.local (it's not
|
||||
officially supported), also fix docs
|
||||
- fix pytest issue 589: when checking if we have a recursion error
|
||||
check for the specific "maximum recursion depth" text of the exception.
|
||||
- update to 1.4.24:
|
||||
- Fix retrieving source when an else: line has an other statement on
|
||||
the same line.
|
||||
- add localpath read_text/write_text/read_bytes/write_bytes methods
|
||||
as shortcuts and clearer bytes/text interfaces for read/write.
|
||||
Adapted from a PR from Paul Moore.
|
||||
- update to 1.4.23:
|
||||
- use newer apipkg version which makes attribute access on
|
||||
alias modules resolve to None rather than an ImportError.
|
||||
This helps with code that uses inspect.getframeinfo()
|
||||
on py34 which causes a complete walk on sys.modules
|
||||
thus triggering the alias module to resolve and blowing
|
||||
up with ImportError. The negative side is that something
|
||||
like "py.test.X" will now result in None instead of "importerror: pytest"
|
||||
if pytest is not installed. But you shouldn't import "py.test"
|
||||
anyway anymore.
|
||||
- adapt one svn test to only check for any exception instead
|
||||
of specific ones because different svn versions cause different
|
||||
errors and we don't care.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 30 07:50:37 UTC 2014 - toddrme2178@gmail.com
|
||||
|
||||
- Update to 1.4.22
|
||||
- refactor class-level registry on ForkedFunc child start/finish
|
||||
event to become instance based (i.e. passed into the constructor)
|
||||
- Update to 1.4.21
|
||||
- ForkedFunc now has class-level register_on_start/on_exit()
|
||||
methods to allow adding information in the boxed process.
|
||||
Thanks Marc Schlaich.
|
||||
- ForkedFunc in the child opens in "auto-flush" mode for
|
||||
stdout/stderr so that when a subprocess dies you can see
|
||||
its output even if it didn't flush itself.
|
||||
- refactor traceback generation in light of pytest issue 364
|
||||
(shortening tracebacks). you can now set a new traceback style
|
||||
on a per-entry basis such that a caller can force entries to be
|
||||
isplayed as short or long entries.
|
||||
- win32: py.path.local.sysfind(name) will preferrably return files with
|
||||
extensions so that if "X" and "X.bat" or "X.exe" is on the PATH,
|
||||
one of the latter two will be returned.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 6 11:39:52 UTC 2014 - osynge@suse.com
|
||||
|
||||
- Removed unnessisary dependency on python-setuptools especially as this
|
||||
causes a conflict with SLE11sp3
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 12 16:08:39 UTC 2014 - speilicke@suse.com
|
||||
|
||||
- Update to version 1.4.20:
|
||||
+ ignore unicode decode errors in xmlescape. Thanks Anatoly Bubenkoff.
|
||||
+ on python2 modify traceback.format_exception_only to match python3
|
||||
behaviour, namely trying to print unicode for Exception instances
|
||||
+ use a safer way for serializing exception reports (helps to fix
|
||||
pytest issue413)
|
||||
- Drop %check section, we never ran tests. That would need python-pytest
|
||||
and introduce a cycle
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 3 08:30:42 UTC 2014 - mvyskocil@suse.com
|
||||
|
||||
- update to 1.4.19:
|
||||
- merge in apipkg fixes
|
||||
- some micro-optimizations in py/_code/code.py for speeding
|
||||
up pytest runs. Thanks Alex Gaynor for initiative.
|
||||
- check PY_COLORS=1 or PY_COLORS=0 to force coloring/not-coloring
|
||||
for py.io.TerminalWriter() independently from capabilities
|
||||
of the output file. Thanks Marc Abramowitz for the PR.
|
||||
- some fixes to unicode handling in assertion handling.
|
||||
Thanks for the PR to Floris Bruynooghe. (This helps
|
||||
to fix pytest issue 319).
|
||||
- depend on setuptools presence, remove distribute_setup
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 8 21:10:33 UTC 2013 - p.drouand@gmail.com
|
||||
|
||||
- Update to version 1.4.18
|
||||
+ introduce path.ensure_dir() as a synonym for ensure(..., dir=1)
|
||||
+ some unicode/python3 related fixes wrt to path manipulations
|
||||
(if you start passing unicode particular in py2 you might
|
||||
still get problems, though)
|
||||
- Changes from 1.4.17
|
||||
+ make py.io.TerminalWriter() prefer colorama if it is available
|
||||
and avoid empty lines when separator-lines are printed by
|
||||
being defensive and reducing the working terminalwidth by 1
|
||||
+ introduce optional "expanduser" argument to py.path.local
|
||||
to that local("~", expanduser=True) gives the home
|
||||
directory of "user".
|
||||
- Changes from 1.4.16
|
||||
+ fix issue35 - define __gt__ ordering between a local path
|
||||
and strings
|
||||
+ fix issue36 - make chdir() work even if os.getcwd() fails.
|
||||
+ add path.exists/isdir/isfile/islink shortcuts
|
||||
+ introduce local path.as_cwd() context manager.
|
||||
+ introduce p.write(ensure=1) and p.open(ensure=1)
|
||||
where ensure triggers creation of neccessary parent dirs.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 24 11:10:27 UTC 2013 - speilicke@suse.com
|
||||
|
||||
- Require python-setuptools instead of distribute (upstreams merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 25 11:45:11 UTC 2013 - dmueller@suse.com
|
||||
|
||||
- update to 1.4.15:
|
||||
- majorly speed up some common calling patterns with
|
||||
LocalPath.listdir()/join/check/stat functions considerably.
|
||||
- fix an edge case with fnmatch where a glob style pattern appeared
|
||||
in an absolute path.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 27 14:08:03 UTC 2013 - dmueller@suse.com
|
||||
|
||||
- update to 1.4.14:
|
||||
- fix dupfile to work with files that don't carry a mode.
|
||||
- fix getting statementrange/compiling a file ending
|
||||
in a comment line without newline (on python2.5)
|
||||
- for local paths you can pass "mode=True" to a copy()
|
||||
in order to copy permission bits (underlying mechanism
|
||||
is using shutil.copymode)
|
||||
- add paths arguments to py.path.local.sysfind to restrict
|
||||
search to the diretories in the path.
|
||||
- add isdir/isfile/islink to path.stat() objects allowing to perform
|
||||
multiple checks without calling out multiple times
|
||||
- drop py.path.local.__new__ in favour of a simpler __init__
|
||||
- iniconfig: allow "name:value" settings in config files, no space after
|
||||
"name" required
|
||||
- fix issue 27 - NameError in unlikely untested case of saferepr
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 12 16:41:46 UTC 2013 - p.drouand@gmail.com
|
||||
|
||||
- Initial python3 support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 12 16:40:43 UTC 2013 - p.drouand@gmail.com
|
||||
|
||||
- Update to 1.4.12 version:
|
||||
* fix python2.4 support - for pre-AST interpreters re-introduce
|
||||
old way to find statements in exceptions (closes pytest issue 209)
|
||||
* add tox.ini to distribution
|
||||
* fix issue23 - print *,** args information in tracebacks,
|
||||
thanks Manuel Jacob
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 22 13:34:17 UTC 2012 - saschpe@suse.de
|
||||
|
||||
- Update to version 1.4.9:
|
||||
+ fix bug of path.visit() which would not recognize glob-style patterns
|
||||
for the "rec" recursion argument
|
||||
+ changed iniconfig parsing to better conform, now the chars ";"
|
||||
and "#" only mark a comment at the stripped start of a line
|
||||
+ include recent apipkg-1.2
|
||||
+ change internal terminalwriter.line/reline logic to more nicely
|
||||
support file spinners
|
||||
- Changes from version 1.4.8:
|
||||
+ fix issue 13 - correct handling of the tag name object in xmlgen
|
||||
+ fix issue 14 - support raw attribute values in xmlgen
|
||||
+ fix windows terminalwriter printing/re-line problem
|
||||
+ update distribute_setup.py to 0.6.27
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 20 22:04:23 UTC 2012 - saschpe@gmx.de
|
||||
|
||||
- Update to version 1.4.7:
|
||||
* fix issue11 - own test failure with python3.3 / Thanks Benjamin Peterson
|
||||
* help fix pytest issue 102
|
||||
- Changes from version 1.4.6:
|
||||
* help to fix pytest issue99: unify output of
|
||||
ExceptionInfo.getrepr(style="native") with ...(style="long")
|
||||
* fix issue7: source.getstatementrange() now raises proper error
|
||||
if no valid statement can be found
|
||||
* fix issue8: fix code and tests of svnurl/svnwc to work on subversion 1.7 -
|
||||
note that path.status(updates=1) will not properly work svn-17's status
|
||||
--xml output is broken.
|
||||
* make source.getstatementrange() more resilent about non-python code frames
|
||||
(as seen from jnja2)
|
||||
* make trackeback recursion detection more resilent
|
||||
about the eval magic of a decorator library
|
||||
* iniconfig: add support for ; as comment starter
|
||||
* properly handle lists in xmlgen on python3
|
||||
* normalize py.code.getfslineno(obj) to always return a (string, int) tuple
|
||||
defaulting to ("", -1) respectively if no source code can be found for obj.
|
||||
- Changes from version 1.4.5:
|
||||
* improve some unicode handling in terminalwriter and capturing
|
||||
- Spec file cleanup:
|
||||
* BuildRequire python-distribute instead of setuptools
|
||||
* Simplified macro usage
|
||||
* Removed outdated %clean section
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 14 08:48:35 UTC 2011 - saschpe@suse.de
|
||||
|
||||
- Initial version
|
||||
|
111
python-py.spec
Normal file
111
python-py.spec
Normal file
@ -0,0 +1,111 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# 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/
|
||||
#
|
||||
|
||||
|
||||
%define oldpython python
|
||||
%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-py%{psuffix}
|
||||
Version: 1.11.0
|
||||
Release: 0
|
||||
Summary: Library with cross-python path, ini-parsing, io, code, log facilities
|
||||
License: MIT
|
||||
Group: Development/Languages/Python
|
||||
URL: https://github.com/pytest-dev/py
|
||||
Source: https://files.pythonhosted.org/packages/source/p/py/py-%{version}.tar.gz
|
||||
# https://github.com/pytest-dev/py/pull/222
|
||||
Patch0: pr_222.patch
|
||||
# CVE-2022-42969 Remove all traces of svn
|
||||
Patch1: remove-svn-remants.patch
|
||||
BuildRequires: %{python_module apipkg}
|
||||
BuildRequires: %{python_module iniconfig}
|
||||
BuildRequires: %{python_module setuptools_scm}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
Requires: python-apipkg
|
||||
Requires: python-iniconfig
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Obsoletes: %{oldpython}-py-docs
|
||||
BuildArch: noarch
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module py = %{version}}
|
||||
BuildRequires: %{python_module pytest}
|
||||
%endif
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
The py lib is a Python development support library featuring
|
||||
the following tools and modules:
|
||||
|
||||
* py.path: uniform local and svn path objects
|
||||
* py.apipkg: explicit API control and lazy-importing
|
||||
* py.iniconfig: easy parsing of .ini files
|
||||
* py.code: dynamic code generation and introspection
|
||||
* py.path: uniform local and svn path objects
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n py-%{version}
|
||||
|
||||
rm -rf py.egg-info
|
||||
rm -f tox.ini
|
||||
# https://github.com/pytest-dev/py/issues/162
|
||||
rm -f testing/log/test_warning.py
|
||||
rm -r py/_vendored_packages
|
||||
|
||||
# CVE-2022-42969 Remove all traces of svn
|
||||
pushd py/_path
|
||||
rm svnwc.py svnurl.py
|
||||
popd
|
||||
pushd testing/path
|
||||
rm conftest.py svntestbase.py test_svnauth.py test_svnurl.py test_svnwc.py
|
||||
popd
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
||||
%install
|
||||
%if !%{with test}
|
||||
%python_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
export LANG=en_US.UTF-8
|
||||
# In addition to PR 222, there are other tests failing due to changes in pytest 5 & 6
|
||||
# https://github.com/pytest-dev/py/issues/209
|
||||
# another failing tests with pytest 7.4: https://github.com/pytest-dev/pytest/commit/cc23ec91d042ee15145b890aea04e96f6e831101 https://github.com/pytest-dev/pytest/commit/0a20452f78a2f5401cf0fc05dad04c8aeee170d7
|
||||
# ...but the failure comes from py.core, which was integrated to pytest long ago and will probably be dropped soon: https://github.com/pytest-dev/py/issues/288
|
||||
%pytest -k 'not (test_getdimensions or test_format_excinfo or test_excinfo_repr or test_excinfo_str or test_syntaxerror_rerepresentation or test_len or test_power or test_comments or test_repr_traceback or test_traceback_getcrashentry)'
|
||||
%endif
|
||||
|
||||
%if !%{with test}
|
||||
%files %{python_files}
|
||||
%doc README.rst
|
||||
%license LICENSE
|
||||
%{python_sitelib}/py
|
||||
%{python_sitelib}/py-%{version}*-info
|
||||
%endif
|
||||
|
||||
%changelog
|
36
remove-svn-remants.patch
Normal file
36
remove-svn-remants.patch
Normal file
@ -0,0 +1,36 @@
|
||||
Index: py-1.10.0/testing/path/test_local.py
|
||||
===================================================================
|
||||
--- py-1.10.0.orig/testing/path/test_local.py
|
||||
+++ py-1.10.0/testing/path/test_local.py
|
||||
@@ -338,11 +338,11 @@ class TestLocalPath(common.CommonFSTests
|
||||
l2 = local(l)
|
||||
assert l2 == l
|
||||
|
||||
- wc = py.path.svnwc('.')
|
||||
- l3 = local(wc)
|
||||
- assert l3 is not wc
|
||||
- assert l3.strpath == wc.strpath
|
||||
- assert not hasattr(l3, 'commit')
|
||||
+ #wc = py.path.svnwc('.')
|
||||
+ #l3 = local(wc)
|
||||
+ #assert l3 is not wc
|
||||
+ #assert l3.strpath == wc.strpath
|
||||
+ #assert not hasattr(l3, 'commit')
|
||||
|
||||
@py.test.mark.xfail(run=False, reason="unreliable est for long filenames")
|
||||
def test_long_filenames(self, tmpdir):
|
||||
Index: py-1.10.0/py/__init__.py
|
||||
===================================================================
|
||||
--- py-1.10.0.orig/py/__init__.py
|
||||
+++ py-1.10.0/py/__init__.py
|
||||
@@ -57,10 +57,7 @@ apipkg.initpkg(__name__, attr={'_apipkg'
|
||||
|
||||
'path' : {
|
||||
'__doc__' : '._path:__doc__',
|
||||
- 'svnwc' : '._path.svnwc:SvnWCCommandPath',
|
||||
- 'svnurl' : '._path.svnurl:SvnCommandPath',
|
||||
'local' : '._path.local:LocalPath',
|
||||
- 'SvnAuth' : '._path.svnwc:SvnAuth',
|
||||
},
|
||||
|
||||
# python inspection/code-generation API
|
Loading…
Reference in New Issue
Block a user