python-pytest-randomly/python-pytest-randomly.spec
Dirk Mueller bedae54091 - update to 3.15.0:
* Support Python 3.12.
  * Reset the random state for `Model Bakery`
- Drop pytest6.patch merged upstream

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-randomly?expand=0&rev=31
2023-11-07 20:05:14 +00:00

88 lines
3.1 KiB
RPMSpec

#
# spec file for package python-pytest-randomly
#
# 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/
#
%{?sle15_python_module_pythons}
Name: python-pytest-randomly
Version: 3.15.0
Release: 0
Summary: Pytest plugin to randomly order tests and control random.seed
License: MIT
URL: https://github.com/pytest-dev/pytest-randomly
Source: https://github.com/pytest-dev/pytest-randomly/archive/%{version}.tar.gz#/pytest-randomly-%{version}.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-importlib-metadata >= 3.6.0
Requires: python-pytest
Recommends: python-Faker >= 13.11.0
Suggests: python-numpy
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module Faker >= 13.11.0}
BuildRequires: %{python_module factory_boy}
BuildRequires: %{python_module importlib-metadata >= 3.6.0}
BuildRequires: %{python_module model-bakery >= 1.13.0}
BuildRequires: %{python_module numpy}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
# /SECTION
%python_subpackages
%description
Pytest plugin to randomly order tests and control random.seed.
Features:
* Randomly shuffles the order of test items. This is done first at
the level of modules, then at the level of test classes (if you
have them), then at the order of functions. This also works with
things like doctests.
* Resets random.seed() at the start of every test case and test to
fixed number - this defaults to time.time() from the start of
your test run, but you can pass in --randomly-seed to repeat a
randomness-induced failure.
* If factory boy is installed, its random state is reset at the
start of every test. This allows for repeatable use of its random
'fuzzy' features.
* If faker is installed, its random state is reset at the start of
every test. This is also for repeatable fuzzy data in tests.
* If numpy is installed, its random state is reset at the start of
every test.
%prep
%autosetup -p1 -n pytest-randomly-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# test_entrypoint_injection needs installed module for pytest to use
%pytest -k "not (test_entrypoint_injection or test_it_runs_before_stepwise)"
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/pytest_randomly
%{python_sitelib}/pytest_randomly-%{version}*-info
%changelog