Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid race conditions in tests using the demo_pkg_inline fixture #2986

Merged
merged 1 commit into from Apr 13, 2023

Conversation

hroncok
Copy link
Contributor

@hroncok hroncok commented Apr 13, 2023

By using FileLock (already used as a dependency),
we ensure only one test uses the demo_pkg at a time.

This avoids race conditions happening with pytest -n=auto.

Fixes #2985

Thanks for contribution

Please, make sure you address all the checklists (for details on how see
development documentation)!

  • ran the linter to address style issues (tox -e fix)
  • wrote descriptive pull request text
  • ensured there are test(s) validating the fix (fix in tests)
  • added news fragment in docs/changelog folder
  • updated/extended the documentation (not relevant)

@hroncok
Copy link
Contributor Author

hroncok commented Apr 13, 2023

Working on the typing fix. never understood why pytest fixtures are strongly typed, but will try to figure it out.

@hroncok
Copy link
Contributor Author

hroncok commented Apr 13, 2023

tox -e type now passed for me.

Copy link

@frenzymadness frenzymadness left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the solution.

Copy link
Member

@gaborbernat gaborbernat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

tests/conftest.py Outdated Show resolved Hide resolved
By using FileLock (already used as a dependency),
we ensure only one test uses the demo_pkg at a time.

This avoids race conditions happening with `pytest -n=auto`.

Fixes tox-dev#2985
@gaborbernat gaborbernat merged commit 0290100 into tox-dev:main Apr 13, 2023
26 checks passed
@hroncok hroncok deleted the demo_inline branch April 13, 2023 19:21
@hroncok
Copy link
Contributor Author

hroncok commented Apr 13, 2023

Belated idea: Should the lockfile be gitignored?

@gaborbernat
Copy link
Member

Yeah

@hroncok
Copy link
Contributor Author

hroncok commented Apr 19, 2023

Do you prefer *.lock or this one only?

@gaborbernat
Copy link
Member

this one only?

@hroncok
Copy link
Contributor Author

hroncok commented Apr 19, 2023

#2988

descope bot added a commit to descope/django-descope that referenced this pull request Jun 11, 2023
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [tox](https://togithub.com/tox-dev/tox)
([changelog](https://tox.wiki/en/latest/changelog.html)) | dev | minor |
`4.4.8` -> `4.5.1` | `4.6.0` (+1) |

---

### Release Notes

<details>
<summary>tox-dev/tox</summary>

### [`v4.5.1`](https://togithub.com/tox-dev/tox/releases/tag/4.5.1):
Test Trusted Publisher

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.5.0...4.5.1)

### [`v4.5.0`](https://togithub.com/tox-dev/tox/releases/tag/4.5.0)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.4.12...4.5.0)

#### What's Changed

- Bump deps and tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[tox-dev/tox#2987
- git: Ignore the .lock file for demo_pkg_inline by
[@&#8203;hroncok](https://togithub.com/hroncok) in
[tox-dev/tox#2988
- Add FAQ entry on how to test against EOL Python versions by
[@&#8203;jugmac00](https://togithub.com/jugmac00) in
[tox-dev/tox#2991
- Feature: suppress step timings for verbosity=1
[#&#8203;2891](https://togithub.com/tox-dev/tox/issues/2891) by
[@&#8203;nedbat](https://togithub.com/nedbat) in
[tox-dev/tox#2992

**Full Changelog**:
tox-dev/tox@4.4.12...4.5.0

### [`v4.4.12`](https://togithub.com/tox-dev/tox/releases/tag/4.4.12)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.4.11...4.4.12)

#### What's Changed

- Avoid race conditions in tests using the demo_pkg_inline fixture by
[@&#8203;hroncok](https://togithub.com/hroncok) in
[tox-dev/tox#2986
- Bump deps and tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[tox-dev/tox#2981

**Full Changelog**:
tox-dev/tox@4.4.11...4.4.12

### [`v4.4.11`](https://togithub.com/tox-dev/tox/releases/tag/4.4.11)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.4.10...4.4.11)

#### What's Changed

- Allow plugins to set `tox_root` by
[@&#8203;kdestin](https://togithub.com/kdestin) in
[tox-dev/tox#2978

#### New Contributors

- [@&#8203;kdestin](https://togithub.com/kdestin) made their first
contribution in
[tox-dev/tox#2978

**Full Changelog**:
tox-dev/tox@4.4.10...4.4.11

### [`v4.4.10`](https://togithub.com/tox-dev/tox/releases/tag/4.4.10)

[Compare
Source](https://togithub.com/tox-dev/tox/compare/4.4.9...4.4.10)

#### What's Changed

- Bump deps and tools by
[@&#8203;gaborbernat](https://togithub.com/gaborbernat) in
[tox-dev/tox#2976
- Fix `tox_root` propagation to `work_dir` by
[@&#8203;Tbruno25](https://togithub.com/Tbruno25) in
[tox-dev/tox#2962

#### New Contributors

- [@&#8203;Tbruno25](https://togithub.com/Tbruno25) made their first
contribution in
[tox-dev/tox#2962

**Full Changelog**:
tox-dev/tox@4.4.9...4.4.10

### [`v4.4.9`](https://togithub.com/tox-dev/tox/releases/tag/4.4.9)

[Compare Source](https://togithub.com/tox-dev/tox/compare/4.4.8...4.4.9)

#### What's Changed

- Added python 3.11 by
[@&#8203;ElBe-Plaq](https://togithub.com/ElBe-Plaq) in
[tox-dev/tox#2964
- Document running tox within a Docker container by
[@&#8203;31z4](https://togithub.com/31z4) in
[tox-dev/tox#2923
- Correct Docker image working dir by
[@&#8203;31z4](https://togithub.com/31z4) in
[tox-dev/tox#2965
- Avoid UnicodeDecodeError from command output by
[@&#8203;masenf](https://togithub.com/masenf) in
[tox-dev/tox#2970
- Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[tox-dev/tox#2971

#### New Contributors

- [@&#8203;ElBe-Plaq](https://togithub.com/ElBe-Plaq) made their first
contribution in
[tox-dev/tox#2964
- [@&#8203;31z4](https://togithub.com/31z4) made their first
contribution in
[tox-dev/tox#2923

**Full Changelog**: tox-dev/tox@4.4.8...4.4.9

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTAuMiJ9-->

Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test_sequential/demo_package_inline seems flaky when paralelized (pytest -n auto)
3 participants