diff --git a/0001-fix-testcase-fail-with-Pytest6-and-Pytest5.patch b/0001-fix-testcase-fail-with-Pytest6-and-Pytest5.patch deleted file mode 100644 index f903fb5..0000000 --- a/0001-fix-testcase-fail-with-Pytest6-and-Pytest5.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 41931fe962963874fc0128a4ef6ff6cf229b0c08 Mon Sep 17 00:00:00 2001 -From: lyn1001 -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 - diff --git a/pytest-forked-1.0.2.tar.gz b/pytest-forked-1.0.2.tar.gz deleted file mode 100644 index df676ae..0000000 Binary files a/pytest-forked-1.0.2.tar.gz and /dev/null differ diff --git a/pytest-forked-1.4.0.tar.gz b/pytest-forked-1.4.0.tar.gz new file mode 100644 index 0000000..facdd8b Binary files /dev/null and b/pytest-forked-1.4.0.tar.gz differ diff --git a/python-pytest-forked.spec b/python-pytest-forked.spec index 1c52352..75ca925 100644 --- a/python-pytest-forked.spec +++ b/python-pytest-forked.spec @@ -1,38 +1,57 @@ -%global pypi_name pytest-forked -%global desc The pytest-forked plugin extends py.test by adding an option to run tests in\ -isolated forked subprocesses. This is useful if you have tests involving C or\ -C++ libraries that might crash the process. To use the plugin, simply use the\ ---forked argument when invoking py.test. - -Name: python-%{pypi_name} -Version: 1.0.2 -Release: 2 -Summary: py.test plugin for running tests in isolated forked subprocesses - +%global _empty_manifest_terminate_build 0 +Name: python-pytest-forked +Version: 1.4.0 +Release: 1 +Summary: run tests in isolated forked subprocesses License: MIT 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 -Patch1: 0001-fix-testcase-fail-with-Pytest6-and-Pytest5.patch - -BuildRequires: python3-devel -BuildRequires: python3-py python3-pytest python3-setuptools_scm - %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} -Summary: %{summary} -%{?python_provide:%python_provide python3-%{pypi_name}} +%package -n python3-pytest-forked +Summary: run tests in isolated forked subprocesses +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 -%description -n python3-%{pypi_name} -%{desc} +%package help +Summary: run tests in isolated forked subprocesses +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 -%autosetup -p1 -n %{pypi_name}-%{version} -rm -f testing/conftest.pyc -rm -rf testing/__pycache__ +%autosetup -n pytest-forked-%{version} %build %py3_build @@ -40,15 +59,45 @@ rm -rf testing/__pycache__ %install %py3_install -%check -PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version} testing +install -d -m755 %{buildroot}/%{_pkgdocdir} +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} -%doc example/boxed.txt README.rst -%license LICENSE -%{python3_sitelib}/pytest_forked* +%check +%{__python3} setup.py test + +%files -n python3-pytest-forked -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* %changelog +* Thu May 19 2022 renliang - 1.4.0-1 +- Upgrade package python3-pytest-forked to version 1.4.0 + * Wed Aug 25 2021 liyanan - 1.0.2-2 - fix test case fail with Pytest6 and Pytest5