## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; 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 # Sphinx-generated HTML documentation is not suitable for packaging; see # https://bugzilla.redhat.com/show_bug.cgi?id=2006555 for discussion. # # We can generate PDF documentation as a substitute. %bcond doc 1 Name: python-pytest-bdd Version: 7.0.0 Release: %autorelease Summary: BDD library for the py.test runner # SPDX License: MIT URL: https://pytest-bdd.readthedocs.io/en/latest/ %global forgeurl https://github.com/pytest-dev/pytest-bdd Source0: %{forgeurl}/archive/%{version}/pytest-bdd-%{version}.tar.gz # Downstream man page, written for Fedora in groff_man(7) format based on the # command’s --help output. Source10: pytest-bdd.1 Source11: pytest-bdd-generate.1 Source12: pytest-bdd-migrate.1 BuildArch: noarch BuildRequires: python3-devel # Required for: tests/feature/test_report.py::test_complex_types # Also in pyproject.toml:[tool.poetry.group.dev.dependencies] BuildRequires: python3dist(pytest-xdist) >= 3.3.1 # Required for: tests/feature/test_tags.py (top-level pkg_resources import) BuildRequires: python3dist(setuptools) %if %{with doc} BuildRequires: make BuildRequires: python3dist(sphinx) BuildRequires: python3-sphinx-latex BuildRequires: latexmk BuildRequires: tex-xetex-bin %endif %global common_description %{expand: pytest-bdd implements a subset of the Gherkin language to enable automating project requirements testing and to facilitate behavioral driven development. Unlike many other BDD tools, it does not require a separate runner and benefits from the power and flexibility of pytest. It enables unifying unit and functional tests, reduces the burden of continuous integration server configuration and allows the reuse of test setups. Pytest fixtures written for unit tests can be reused for setup and actions mentioned in feature steps with dependency injection. This allows a true BDD just-enough specification of the requirements without maintaining any context object containing the side effects of Gherkin imperative declarations.} %description %{common_description} %package -n python3-pytest-bdd Summary: %{summary} %description -n python3-pytest-bdd %{common_description} %if %{with doc} %package doc Summary: Documentation for pytest-bdd %description doc %{common_description} %endif %prep %autosetup -p1 -n pytest-bdd-%{version} # Do not require package metadata from the installed wheel to build the # documentation: sed -r -i 's/metadata\.version\("pytest-bdd"\)/"%{version}"/' docs/conf.py # Since pdflatex cannot handle Unicode inputs in general: echo "latex_engine = 'xelatex'" >> docs/conf.py %generate_buildrequires %pyproject_buildrequires -t %build %pyproject_wheel %if %{with doc} PYTHONPATH="${PWD}/src" %make_build -C docs latex \ SPHINXOPTS='-j%{?_smp_build_ncpus}' %make_build -C docs/_build/latex LATEXMKOPTS='-quiet' %endif %install %pyproject_install %pyproject_save_files pytest_bdd install -t '%{buildroot}%{_mandir}/man1' -p -m 0644 -D \ '%{SOURCE10}' '%{SOURCE11}' '%{SOURCE12}' %check # Work around unexpected PytestAssertRewriteWarning with pip 21.3 # https://github.com/pytest-dev/pytest-bdd/issues/453 mkdir -p _empty && cp -rp tests *.ini _empty && cd _empty # Run tests in parallel (and verbosely) export PYTEST_ADDOPTS='-n auto -v' %tox %files -n python3-pytest-bdd -f %{pyproject_files} %license LICENSE.txt %if %{without doc} %doc AUTHORS.rst CHANGES.rst README.rst %endif %{_bindir}/pytest-bdd %{_mandir}/man1/pytest-bdd*.1* %if %{with doc} %files doc %license LICENSE.txt %doc AUTHORS.rst CHANGES.rst README.rst %doc docs/_build/latex/Pytest-BDD.pdf %endif %changelog * Fri Oct 27 2023 Benjamin A. Beasley - 7.0.0-1 - Update to 7.0.0 (close RHBZ#2243132) * Fri Jul 21 2023 Fedora Release Engineering - 6.1.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Wed Jul 12 2023 Benjamin A. Beasley - 6.1.1-13 - Fix missing LICENSE.txt * Wed Jul 12 2023 Benjamin A. Beasley - 6.1.1-12 - When PDF docs are disabled, omit the -doc subpackage * Fri Jul 07 2023 Benjamin A. Beasley - 6.1.1-11 - Use new (rpm 4.17.1+) bcond style * Wed Jun 28 2023 Benjamin A. Beasley - 6.1.1-10 - Fix Python 3.12 escaping issue properly * Wed Jun 28 2023 Benjamin A. Beasley - 6.1.1-9 - Work around Python 3.12 escaping issue * Thu Jun 15 2023 Python Maint - 6.1.1-8 - Rebuilt for Python 3.12 * Tue Apr 04 2023 Charalampos Stratakis - 6.1.1-7 - Remove old pytest logic * Sat Mar 18 2023 Benjamin A. Beasley - 6.1.1-6 - Do not require installed wheel metadata to build docs * Sat Mar 18 2023 Benjamin A. Beasley - 6.1.1-5 - Don’t assume %%_smp_mflags is -j%%_smp_build_ncpus * Wed Mar 01 2023 Miro Hrončok - 6.1.1-4 - BuildRequire setuptools explicitly, not just transitively * Fri Jan 20 2023 Fedora Release Engineering - 6.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Wed Dec 21 2022 Benjamin A. Beasley - 6.1.1-2 - Restore running tests in parallel * Thu Nov 10 2022 Benjamin A. Beasley - 6.1.1-1 - Update to 6.1.1 (close RHBZ#2103750) * Thu Nov 10 2022 Benjamin A. Beasley - 6.1.0-2 - Improve the man pages * Thu Nov 10 2022 Benjamin A. Beasley - 6.1.0-1 - Update to 6.1.0 * Thu Nov 10 2022 Benjamin A. Beasley - 6.0.1-1 - Update to 6.0.1 * Thu Nov 10 2022 Benjamin A. Beasley - 5.0.0-13 - Confirm that License is SPDX MIT (no License field change) * Fri Jul 22 2022 Fedora Release Engineering - 5.0.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jul 07 2022 Benjamin A. Beasley - 5.0.0-11 - Minor man page enhancements * Thu Jul 07 2022 Benjamin A. Beasley - 5.0.0-10 - Run tests in parallel * Tue Jun 14 2022 Python Maint - 5.0.0-9 - Rebuilt for Python 3.11 * Tue Mar 01 2022 Benjamin A. Beasley - 5.0.0-8 - Install man page directly rather than copying in %%%%prep first * Tue Mar 01 2022 Benjamin A. Beasley - 5.0.0-7 - Drop “forge” macros since they are not adding much value * Tue Mar 01 2022 Benjamin A. Beasley - 5.0.0-6 - Drop workarounds for pytest 7.0.0rc1 * Fri Jan 21 2022 Fedora Release Engineering - 5.0.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Dec 17 2021 Benjamin A. Beasley - 5.0.0-4 - Work around test failures with pytest 7 * Fri Dec 17 2021 Benjamin A. Beasley - 5.0.0-3 - Add pytest-xdist build dependency so no tests are skipped * Sat Nov 27 2021 Benjamin A. Beasley - 5.0.0-2 - Reduce LaTeX PDF build verbosity * Mon Oct 25 2021 Benjamin A. Beasley - 5.0.0-1 - Update to 5.0.0 (close RHBZ#2017125) * Fri Oct 15 2021 Benjamin A. Beasley - 4.1.0-9 - Corrected improved PytestAssertRewriteWarning / pip 21.3 workaround * Fri Oct 15 2021 Benjamin A. Beasley - 4.1.0-8 - Improved PytestAssertRewriteWarning / pip 21.3 workaround * Thu Oct 14 2021 Benjamin A. Beasley - 4.1.0-7 - Work around unexpected warning after pip 21.3 update * Wed Sep 29 2021 Benjamin A. Beasley - 4.1.0-6 - Generate PDF instead of HTML Sphinx documentation. * Mon Sep 13 2021 Benjamin A. Beasley - 4.1.0-5 - Let pyproject-rpm-macros handle the license file * Sun Sep 12 2021 Benjamin A. Beasley - 4.1.0-4 - Drop BR on pyproject-rpm-macros, now implied by python3-devel * Sun Sep 12 2021 Benjamin A. Beasley - 4.1.0-3 - Reduce spec file macro indirection * Thu Aug 12 2021 Benjamin A. Beasley - 4.1.0-2 - Run tests (and get test BR’s) using tox * Tue Aug 03 2021 Benjamin A. Beasley - 4.1.0-1 - Initial package