head	1.7;
access;
symbols
	pkgsrc-2026Q2:1.6.0.10
	pkgsrc-2026Q2-base:1.6
	pkgsrc-2026Q1:1.6.0.8
	pkgsrc-2026Q1-base:1.6
	pkgsrc-2025Q4:1.6.0.6
	pkgsrc-2025Q4-base:1.6
	pkgsrc-2025Q3:1.6.0.4
	pkgsrc-2025Q3-base:1.6
	pkgsrc-2025Q2:1.6.0.2
	pkgsrc-2025Q2-base:1.6
	pkgsrc-2025Q1:1.5.0.4
	pkgsrc-2025Q1-base:1.5
	pkgsrc-2024Q4:1.5.0.2
	pkgsrc-2024Q4-base:1.5
	pkgsrc-2024Q3:1.4.0.8
	pkgsrc-2024Q3-base:1.4
	pkgsrc-2024Q2:1.4.0.6
	pkgsrc-2024Q2-base:1.4
	pkgsrc-2024Q1:1.4.0.4
	pkgsrc-2024Q1-base:1.4
	pkgsrc-2023Q4:1.4.0.2
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q3:1.3.0.2
	pkgsrc-2023Q3-base:1.3
	pkgsrc-2023Q2:1.2.0.8
	pkgsrc-2023Q2-base:1.2
	pkgsrc-2023Q1:1.2.0.6
	pkgsrc-2023Q1-base:1.2
	pkgsrc-2022Q4:1.2.0.4
	pkgsrc-2022Q4-base:1.2
	pkgsrc-2022Q3:1.2.0.2
	pkgsrc-2022Q3-base:1.2
	pkgsrc-2022Q2:1.1.0.30
	pkgsrc-2022Q2-base:1.1
	pkgsrc-2022Q1:1.1.0.28
	pkgsrc-2022Q1-base:1.1
	pkgsrc-2021Q4:1.1.0.26
	pkgsrc-2021Q4-base:1.1
	pkgsrc-2021Q3:1.1.0.24
	pkgsrc-2021Q3-base:1.1
	pkgsrc-2021Q2:1.1.0.22
	pkgsrc-2021Q2-base:1.1
	pkgsrc-2021Q1:1.1.0.20
	pkgsrc-2021Q1-base:1.1
	pkgsrc-2020Q4:1.1.0.18
	pkgsrc-2020Q4-base:1.1
	pkgsrc-2020Q3:1.1.0.16
	pkgsrc-2020Q3-base:1.1
	pkgsrc-2020Q2:1.1.0.14
	pkgsrc-2020Q2-base:1.1
	pkgsrc-2020Q1:1.1.0.10
	pkgsrc-2020Q1-base:1.1
	pkgsrc-2019Q4:1.1.0.12
	pkgsrc-2019Q4-base:1.1
	pkgsrc-2019Q3:1.1.0.8
	pkgsrc-2019Q3-base:1.1
	pkgsrc-2019Q2:1.1.0.6
	pkgsrc-2019Q2-base:1.1
	pkgsrc-2019Q1:1.1.0.4
	pkgsrc-2019Q1-base:1.1
	pkgsrc-2018Q4:1.1.0.2
	pkgsrc-2018Q4-base:1.1;
locks; strict;
comment	@# @;


1.7
date	2026.09.03.08.57.53;	author adam;	state Exp;
branches;
next	1.6;
commitid	hGADkxMY13VlD9UG;

1.6
date	2025.04.12.21.10.58;	author adam;	state Exp;
branches;
next	1.5;
commitid	hogTAPDx6qJl3OQF;

1.5
date	2024.11.03.07.52.58;	author adam;	state Exp;
branches;
next	1.4;
commitid	s8KI5hQ4F56qMawF;

1.4
date	2023.10.28.19.57.07;	author wiz;	state Exp;
branches;
next	1.3;
commitid	jP8MYROLWZ3yJqKE;

1.3
date	2023.07.24.18.51.09;	author adam;	state Exp;
branches;
next	1.2;
commitid	RoselsdBBMDQs5yE;

1.2
date	2022.09.08.07.44.36;	author adam;	state Exp;
branches;
next	1.1;
commitid	9gFgJkCLfQpI12TD;

1.1
date	2018.10.07.08.13.09;	author adam;	state Exp;
branches;
next	;
commitid	33TDSmm7UQ8xd0VA;


desc
@@


1.7
log
@py-test-randomly: updated to 5.0.0

5.0.0 (2026-09-01)

Support Python 3.15.

Shuffle tests in a wrapper around the pytest_collection_modifyitems hook, guaranteeing that the shuffle runs before all other plugins’ implementations of the hook.

Previously, pytest-randomly shuffled in a plain tryfirst hook implementation. When another plugin also implemented the hook with tryfirst, as pytest-django does, whichever plugin pytest happened to register later ran first. Registration order comes from package metadata on disk, which can differ between seemingly identical environments — even two containers built from the same Dockerfile, or the same virtual environment after reinstalling a package. As a result, the same seed could yield different test orders in different environments. Worse, in environments where pytest-randomly ended up shuffling last, it silently destroyed the other plugin’s ordering — for pytest-django, the grouping of database tests that mirrors Django’s test runner (non-transactional database tests, then transactional ones, then the rest).

Now the shuffle always runs first, and plugins that group tests with a stable sort apply their grouping on top of the shuffled order, so the final order is reproducible from the seed alone. In environments that previously hit the reversed hook order, upgrading changes the test order for a given seed — restoring both reproducibility and other plugins’ grouping.

Require pytest 8+, the first version to require a version of pluggy that supports hook wrappers, as used by the above fix.

Reset Polyfactory’s default random state at the start of every test, if it is installed.

Switch package build backend from setuptools to uv_build. This makes builds with uv about nine times faster, since uv runs the backend natively, without creating a build environment or spawning a Python process. Additionally, source distributions no longer include test files, which setuptools previously included incompletely, missing the files needed to actually run them.
@
text
@@@comment $NetBSD: PLIST,v 1.6 2025/04/12 21:10:58 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
${PYSITELIB}/pytest_randomly/__init__.py
${PYSITELIB}/pytest_randomly/__init__.pyc
${PYSITELIB}/pytest_randomly/__init__.pyo
${PYSITELIB}/pytest_randomly/py.typed
@


1.6
log
@Fix PLIST after py-setuptools update; bump depends and revision
@
text
@d1 1
a1 1
@@comment $NetBSD: PLIST,v 1.5 2024/11/03 07:52:58 adam Exp $
a6 1
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
@


1.5
log
@py-test-randomly: updated to 3.16.0

3.16.0 (2024-10-25)

* Drop Python 3.8 support.
* Support Python 3.13.
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.4 2023/10/28 19:57:07 wiz Exp $
${PYSITELIB}/${WHEEL_INFODIR}/LICENSE
d6 1
@


1.4
log
@python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
@
text
@d1 1
a1 1
@@comment $NetBSD$
a10 3
${PYSITELIB}/pytest_randomly/compat.py
${PYSITELIB}/pytest_randomly/compat.pyc
${PYSITELIB}/pytest_randomly/compat.pyo
@


1.3
log
@py-test-randomly: updated to 3.13.0

3.13.0 (2023-07-10)
* Drop Python 3.7 support.
@
text
@d1 1
a1 2
@@comment $NetBSD: PLIST,v 1.2 2022/09/08 07:44:36 adam Exp $
${PYSITELIB}/${WHEEL_INFODIR}/INSTALLER
a4 1
${PYSITELIB}/${WHEEL_INFODIR}/REQUESTED
a5 1
${PYSITELIB}/${WHEEL_INFODIR}/direct_url.json
d10 1
d13 1
@


1.2
log
@py-test-randomly: updated to 3.12.0

3.12.0 (2022-05-11)
-------------------

* Support Python 3.11.

3.11.0 (2022-01-10)
-------------------

* Drop Python 3.6 support.

3.10.3 (2021-11-30)
-------------------

* Work on FIPS Python 3.9+, by declaring use of ``hashlib.md5()`` as not used for security.

3.10.2 (2021-11-10)
-------------------

* Fix crash when pytest’s cacheprovider is disabled.
* Improve group name in ``pytest --help``.

3.10.1 (2021-08-13)
-------------------

* Fix new shuffling to work when one or more test in a class or module have the
  same test id.

3.10.0 (2021-08-13)
-------------------

* Rework shuffling algorithm to use hashing. This means that running a subset
  of tests with the same seed will now produce the same ordering as running the
  full set of tests. This allows narrowing down ordering-related failures.

* Shuffle before other test collection hooks. This allows
  pytest’s `--stepwise flag
  <https://docs.pytest.org/en/latest/cache.html#stepwise>`__ to work, among
  other things.

3.9.0 (2021-08-12)
------------------

* Add type hints.

3.8.0 (2021-05-10)
------------------

* Support Python 3.10.

3.7.0 (2021-04-11)
------------------

* Drop dependency on ``backports.entry-points-selectable`` by depending on
  ``importlib-metadata`` version 3.6.0+.

3.6.0 (2021-04-01)
------------------

* Fix deprecation warning from importlib-metadata 3.9.0+.

* Stop distributing tests to reduce package size. Tests are not intended to be
  run outside of the tox setup in the repository. Repackagers can use GitHub's
  tarballs per tag.

* Drop Python 3.5 support.

3.5.0 (2020-11-16)
------------------

* Support Python 3.9.
* Move license from BSD to MIT License.

3.4.1 (2020-07-10)
------------------

* Fix numpy error ``ValueError: Seed must be between 0 and 2**32 - 1`` when
  passed a seed outside of this range.

3.4.0 (2020-05-27)
------------------

* Provide a ``faker_seed`` fixture to set the seed for tests using faker's
  pytest fixtures
@
text
@d1 10
a10 8
@@comment $NetBSD: PLIST,v 1.1 2018/10/07 08:13:09 adam Exp $
${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
${PYSITELIB}/${EGG_INFODIR}/requires.txt
${PYSITELIB}/${EGG_INFODIR}/top_level.txt
a12 1
${PYSITELIB}/pytest_randomly/__init__.pyo
a14 1
${PYSITELIB}/pytest_randomly/compat.pyo
@


1.1
log
@py-test-randomly: added version 1.2.3

Pytest plugin to randomly order tests and control random.seed.

* 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 a 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 - factory boy uses faker for
  lots of data.
@
text
@d1 1
a1 1
@@comment $NetBSD$
d9 7
a15 3
${PYSITELIB}/pytest_randomly.py
${PYSITELIB}/pytest_randomly.pyc
${PYSITELIB}/pytest_randomly.pyo
@

