## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 5;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%global srcname  pytest-cov
%global slugname pytest_cov
%global forgeurl https://github.com/pytest-dev/%{srcname}

%global common_description %{expand:
This plugin produces coverage reports. Compared to just using coverage run this
plugin does some extras:

  • Subprocess support: you can fork or run stuff in a subprocess and will get
    covered without any fuss.
  • Xdist support: you can use all of pytest-xdist’s features and still get
    coverage.
  • Consistent pytest behavior. If you run coverage run -m pytest you will have
    slightly different sys.path (CWD will be in it, unlike when running
    pytest).

All features offered by the coverage package should work, either through
pytest-cov’s command line options or through coverage’s config file.
}

# During python mass rebuild we need to build python-pytest-cov without
# tests because some dependencies are not yet available
%bcond_with tests

Name:           python-%{srcname}
Version:        4.0.0
%forgemeta
Release:        %autorelease
Summary:        Coverage plugin for pytest
License:        MIT
URL:            %{forgeurl}
Source:         %{forgesource}
Patch0:          0001_disabling_boxed_xdist_test.patch 
# Fix test with coverage >= 6.5
# Based on https://github.com/pytest-dev/pytest-cov/commit/d9789afd5916176a38cc2acebbaadee805064e22
Patch1:          python-pytest-cov-coverage-6.5.patch
BuildArch:      noarch
BuildRequires:  python%{python3_pkgversion}-devel
BuildRequires:  pyproject-rpm-macros

%description %{common_description}

%package -n python%{python3_pkgversion}-%{srcname}
Summary: %{summary}
%description -n python%{python3_pkgversion}-%{srcname} %{common_description}

%prep
%autosetup -p1 -n %{srcname}-%{version}
# The “hunter” testing dependency (https://github.com/ionelmc/python-hunter) is
# not packaged, but it also does not seem to be used.
sed -r -i '/^[[:blank:]]*.hunter.,[[:blank:]]*$/d' setup.py

# %generate_buildrequires
# %pyproject_buildrequires -r %{?with_tests:-x testing}

%build
%pyproject_wheel

%install
%pyproject_install
%pyproject_save_files %{slugname}

%if %{with tests}
%check
k="$(awk 'NR>1 {pre=" and " } { printf "%snot %s", pre, $0 }' <<EOF
test_append_coverage_subprocess
test_central_subprocess
test_cleanup_on_sigterm
test_dist_missing_data
test_dist_subprocess_collocated
test_dist_subprocess_not_collocated
test_subprocess_with_path_aliasing
EOF
)"
%pytest -k "${k}"
%endif

%files -n python%{python3_pkgversion}-%{srcname} -f %{pyproject_files}
%license LICENSE
%doc *.rst
%{python3_sitelib}/%{srcname}.pth

%changelog
* Fri May 05 2023 Orion Poplawski <orion@nwra.com> - 4.0.0-5
- Drop -S git

* Fri May 05 2023 Orion Poplawski <orion@nwra.com> - 4.0.0-4
- Add upstream patch to skip failing test with coverage > 6.4 (Fixes FTBFS
  bz#2171685)

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Fri Nov 11 2022 chedi toueiti <chedi.toueiti@gmail.com> - 4.0.0-2
- fixing a pytest-xdist failing test due to the deprecation of the boxed
  parameter (#2142008)

* Thu Sep 29 2022 chedi toueiti <chedi.toueiti@gmail.com> - 4.0.0-1
- Update to version 4.0.0 (#2130722)

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jul 13 2022 chedi toueiti <chedi.toueiti@gmail.com> - 3.0.0-10
- minor formating update

* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 3.0.0-9
- Rebuilt for Python 3.11

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 3.0.0-8
- Bootstrap for Python 3.11

* Wed May 25 2022 Orion Poplawski <orion@nwra.com> - 3.0.0-7
- Re-enable tests

* Thu May 19 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.0.0-6
- Add bcond to disable tests

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Thu Dec 09 2021 Tom spot Callaway <spot@fedoraproject.org> - 3.0.0-4
- Fix issue with test code where it expected too specific of a string, that
  string changed slightly with coverage 6.2, fix adjusts string check to be
  more permissive and work with both old and new coverage

* Wed Dec 08 2021 chedi <chedi.toueiti@gmail.com> - 3.0.0-3
- bumping release to force f36 rebuild

* Wed Oct 13 2021 chedi <chedi.toueiti@gmail.com> - 3.0.0-2
- reverting to auto generated dependencies

* Mon Oct 04 2021 chedi <chedi.toueiti@gmail.com> - 3.0.0-1
- Update to version 3.0.0 (#2010140)

* Mon Aug 02 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 2.12.1-1
- Update to 2.12.1 (closes RHBZ#1960609)

* Wed Jul 28 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 2.11.1-6
- Drop obsolete macros
- Update description and summary from upstream
- Use “forge” macros to reference source
- Use pyproject-rpm-macros

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 2.11.1-4
- Rebuilt for Python 3.10

* Fri Jan 29 2021 Chedi Toueiti <chedi.toueiti@gmail.com> - 2.11.1-3
- Fix for failing tests with coverage 5.4 (#1922301)

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jan 20 2021 Chedi Toueiti <chedi.toueiti@gmail.com> - 2.11.1-1
- Update to 2.11.1 (#1917248)

* Fri Aug 14 2020 Chedi Toueiti <chedi.toueiti@gmail.com> - 2.10.1-1
- Update to 2.10.1 (#1868968)

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu Jul 9 2020 Chedi Toueiti <chedi.toueiti@gmail.com> - 2.10.0
- Update to 2.10.0

* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 2.8.1-6
- Rebuilt for Python 3.9

* Mon Mar 2 2020 Chedi Toueiti <chedi.toueiti@gmail.com> - 2.8.1-5
- Forcing current pytest-cov version usage during checks

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sun Jan 19 2020 Lumír Balhar <lbalhar@redhat.com> - 2.8.1-3
- Unskip tests which are working with the newest coverage

* Sun Nov  3 2019 Orion Poplawski <orion@nwra.com> - 2.8.1-2
- Drop python 2 for F32+ (bz#1767517)

* Sat Oct  5 2019 Orion Poplawski <orion@nwra.com> - 2.8.1-1
- Update to 2.8.1

* Fri Oct  4 2019 Orion Poplawski <orion@nwra.com> - 2.8.0-1
- Update to 2.8.0

* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.7.1-6
- Rebuilt for Python 3.8.0rc1 (#1748018)

