Update package pytest-forked of version 1.4.0

This commit is contained in:
renliang16 2022-05-19 03:37:56 +00:00
parent 378c469291
commit 0ae41327a6
4 changed files with 82 additions and 96 deletions

View File

@ -1,63 +0,0 @@
From 41931fe962963874fc0128a4ef6ff6cf229b0c08 Mon Sep 17 00:00:00 2001
From: lyn1001 <thistleslyn@163.com>
Date: Wed, 25 Aug 2021 14:23:06 +0800
Subject: [PATCH] fix testcase fail with Pytest6 and Pytest5
---
a/src/pytest_forked/__init__.py | 9 ++++++---
a/testing/conftest.py | 5 ++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/pytest_forked/__init__.py b/src/pytest_forked/__init__.py
index 33b09d2..84fb768 100644
--- a/src/pytest_forked/__init__.py
+++ b/src/pytest_forked/__init__.py
@@ -29,12 +29,15 @@ def pytest_addoption(parser):
help="box each test run in a separate process (unix)")
-@pytest.mark.tryfirst
+@pytest.hookimpl(tryfirst=True)
def pytest_runtest_protocol(item):
if item.config.getvalue("forked"):
+ ihook = item.ihook
+ ihook.pytest_runtest_logstart(nodeid=item.nodeid, location=item.location)
reports = forked_run_report(item)
for rep in reports:
- item.ihook.pytest_runtest_logreport(report=rep)
+ ihook.pytest_runtest_logreport(report=rep)
+ ihook.pytest_runtest_logfinish(nodeid=item.nodeid, location=item.location)
return True
@@ -65,7 +68,7 @@ def forked_run_report(item):
def report_process_crash(item, result):
try:
- from _pytest.compat import getfslineno
+ from _pytest._code import getfslineno
except ImportError:
# pytest<4.2
path, lineno = item._getfslineno()
diff --git a/testing/conftest.py b/testing/conftest.py
index 745c00f..c01f73e 100644
--- a/testing/conftest.py
+++ b/testing/conftest.py
@@ -8,10 +8,13 @@ pytest_plugins = "pytester"
def _divert_atexit(request, monkeypatch):
import atexit
atexit_fns = []
+
+ def atexit_register(func, *args, **kwargs):
+ atexit_fns.append(lambda: func(*args, **kwargs))
def finish():
while atexit_fns:
atexit_fns.pop()()
- monkeypatch.setattr(atexit, "register", atexit_fns.append)
+ monkeypatch.setattr(atexit, "register", atexit_register)
request.addfinalizer(finish)
--
2.23.0

Binary file not shown.

BIN
pytest-forked-1.4.0.tar.gz Normal file

Binary file not shown.

View File

@ -1,38 +1,57 @@
%global pypi_name pytest-forked %global _empty_manifest_terminate_build 0
%global desc The pytest-forked plugin extends py.test by adding an option to run tests in\ Name: python-pytest-forked
isolated forked subprocesses. This is useful if you have tests involving C or\ Version: 1.4.0
C++ libraries that might crash the process. To use the plugin, simply use the\ Release: 1
--forked argument when invoking py.test. Summary: run tests in isolated forked subprocesses
Name: python-%{pypi_name}
Version: 1.0.2
Release: 2
Summary: py.test plugin for running tests in isolated forked subprocesses
License: MIT License: MIT
URL: https://github.com/pytest-dev/pytest-forked URL: https://github.com/pytest-dev/pytest-forked
Source0: https://files.pythonhosted.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz Source0: https://files.pythonhosted.org/packages/f1/bc/0121a2e386b261b69f4f5aa48e5304c947451dce70d68628cb28d5cd0d28/pytest-forked-1.4.0.tar.gz
BuildArch: noarch BuildArch: noarch
Patch1: 0001-fix-testcase-fail-with-Pytest6-and-Pytest5.patch
BuildRequires: python3-devel
BuildRequires: python3-py python3-pytest python3-setuptools_scm
%description %description
%{desc} pytest-forked: run each test in a forked subprocess .. warning:: this is a
extraction of the xdist --forked module, future maintenance beyond the bare
minimum is not planned until a new maintainer is found. This plugin **does not
work on Windows*because there's no fork support. --forked: run each test in a
forked subprocess to survive SEGFAULTS or otherwise dying processes.|python|
|version| |ci| |pre-commit| |black|.. |versio .. |ci| image:: .
%package -n python3-%{pypi_name} %package -n python3-pytest-forked
Summary: %{summary} Summary: run tests in isolated forked subprocesses
%{?python_provide:%python_provide python3-%{pypi_name}} Provides: python-pytest-forked
# Base build requires
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
BuildRequires: python3-pip
BuildRequires: python3-wheel
# General requires
BuildRequires: python3-py
BuildRequires: python3-pytest
BuildRequires: python3-setuptools_scm
# General requires
Requires: python3-py
Requires: python3-pytest
%description -n python3-pytest-forked
pytest-forked: run each test in a forked subprocess .. warning:: this is a
extraction of the xdist --forked module, future maintenance beyond the bare
minimum is not planned until a new maintainer is found. This plugin **does not
work on Windows*because there's no fork support. --forked: run each test in a
forked subprocess to survive SEGFAULTS or otherwise dying processes.|python|
|version| |ci| |pre-commit| |black|.. |versio .. |ci| image:: .
Requires: python3-py python3-pytest %package help
%description -n python3-%{pypi_name} Summary: run tests in isolated forked subprocesses
%{desc} Provides: python3-pytest-forked-doc
%description help
pytest-forked: run each test in a forked subprocess .. warning:: this is a
extraction of the xdist --forked module, future maintenance beyond the bare
minimum is not planned until a new maintainer is found. This plugin **does not
work on Windows*because there's no fork support. --forked: run each test in a
forked subprocess to survive SEGFAULTS or otherwise dying processes.|python|
|version| |ci| |pre-commit| |black|.. |versio .. |ci| image:: .
%prep %prep
%autosetup -p1 -n %{pypi_name}-%{version} %autosetup -n pytest-forked-%{version}
rm -f testing/conftest.pyc
rm -rf testing/__pycache__
%build %build
%py3_build %py3_build
@ -40,15 +59,45 @@ rm -rf testing/__pycache__
%install %install
%py3_install %py3_install
%check install -d -m755 %{buildroot}/%{_pkgdocdir}
PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} testing if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-%{pypi_name} %check
%doc example/boxed.txt README.rst %{__python3} setup.py test
%license LICENSE
%{python3_sitelib}/pytest_forked* %files -n python3-pytest-forked -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog %changelog
* Thu May 19 2022 renliang <renliang@uniontech.com> - 1.4.0-1
- Upgrade package python3-pytest-forked to version 1.4.0
* Wed Aug 25 2021 liyanan <liyanan32@huawei.com> - 1.0.2-2 * Wed Aug 25 2021 liyanan <liyanan32@huawei.com> - 1.0.2-2
- fix test case fail with Pytest6 and Pytest5 - fix test case fail with Pytest6 and Pytest5