Fix new shuffling to work when one or more test in a class or module have the
same test id.
Thanks to Nikita Sobolev for the report in Issue [#378](https://github.com/pytest-dev/pytest-randomly/issues/378) <https://github.com/pytest-dev/pytest-randomly/issues/378>__.
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.
Thanks to Tom Grainger for the suggestion in Issue [#210](https://github.com/pytest-dev/pytest-randomly/issues/210) <https://github.com/pytest-dev/pytest-randomly/issues/210>__.
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.
Thanks to Tom Grainger for the suggestion to try with --stepwise. Fixes
Issue [#376](https://github.com/pytest-dev/pytest-randomly/issues/376) <https://github.com/pytest-dev/pytest-randomly/issues/376>__.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pytest-randomly from 3.8.0 to 3.10.1.
Changelog
Sourced from pytest-randomly's changelog.
Commits
ac43ab8
Version 3.10.1c4d18cd
Fix shuffling when tests have the same test id (#379)e366b87
Version 3.10.0d882e5b
Shuffle before other test collection hooks (#377)9e3aaff
Use sorting by hashes to shuffle items (#375)efee844
Simplify code by using itertools.groupby (#374)8e3a9b0
Version 3.9.008646f5
Add type hints (#373)0bd750b
[pre-commit.ci] pre-commit autoupdate (#372)b0a02ec
Add issue form (#371)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)