Shane Smiskol
600aad575a
Ensure all xdist group names are strings ( #1216 )
2025-06-30 11:01:27 -03:00
Ygor Pontelo
65de0ab30e
Join multiple xdist_group markers ( #1201 )
...
Fixes #1200
---------
Co-authored-by: Bruno Oliveira <bruno@soliv.dev >
2025-05-14 21:51:59 -03:00
Bruno Oliveira
475b346fd9
Run pyupgrade --py39-plus on all files
2024-12-07 08:47:25 -03:00
Aleksandr Mezin
9788f12e9e
Make 'steal' command atomic ( #1144 )
...
Either unschedule all requested tests, or none if it's not possible -
if some of the requested tests have already been processed by the time
the request arrives. It may happen if the worker runs tests faster than
the controller receives and processes status updates. But in this case
maybe it's just better to let the worker keep running.
This is a prerequisite for group/scope support in worksteal scheduler -
so they won't be broken up incorrectly.
This change could break schedulers that use "steal" command. However:
1) worksteal scheduler doesn't need any adjustments.
2) I'm not aware of any external schedulers relying on this command yet.
So I think it's better to keep the protocol simple, not complicate it for
imaginary compatibility with some unknown and likely non-existent
schedulers.
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2024-10-30 14:00:10 -03:00
Ran Benita
b78cf1c0ce
Improve typing
...
Fix #1057
2024-04-15 23:30:17 +03:00
Ran Benita
059c1bcc8c
remote,workermanage: use enums for markers
...
Enum has a unique type, unlike `object()`, enabling better typing.
2024-04-06 21:54:44 +03:00
Ran Benita
4057da1c1f
remote: use perf_counter() to measure duration, not time()
...
`time()` is not monotonic and is not appropriate for measuring duration.
2024-04-06 21:54:44 +03:00
Ran Benita
31de42ffa5
Bump min pytest to 7.0.0
...
Refs #1057
2024-04-05 11:50:11 +03:00
Ran Benita
816c9dcda1
Use ruff instead of black, flake8, autoflake, pyupgrade
...
Config adapted from pytest.
2024-04-03 00:19:32 +03:00
Ran Benita
c01de1c73e
Make docstring style more consistent
2024-04-03 00:19:31 +03:00
Ran Benita
e3b69d4f29
Sort imports
...
Using pytest's style.
2024-04-03 00:19:31 +03:00
Ben Brown
84df4451ed
Terminate the test loop if shouldfail or shouldstop is set ( #1026 )
2024-04-01 18:00:50 +03:00
pre-commit-ci[bot]
74f5752ed9
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2024-03-23 18:42:36 +00:00
Ran Benita
00dc8eeaff
Remove pytest InvocationParams backward compat
...
It's available since pytest 5.2, and pytest-xdist requires pytest>=6.2.
2024-03-23 20:40:54 +02:00
Aleksandr Mezin
6abcdfc22e
Fix hang caused by steal command with empty test queue
...
Fixes #884
2023-03-09 16:44:34 +02:00
Aleksandr Mezin
d1dfad3e92
Implement work-stealing scheduler ( #862 )
...
Closes #858
2023-01-11 08:38:57 -03:00
Bruno Oliveira
d7d396a7f9
Run pyupgrade --py37-plus
2022-11-05 12:01:07 -03:00
Ronny Pfannschmidt
0c981d3547
fix and update packaging
...
* drop empty setup.py which "breaks" on incomplete build envs
* use the build package to build the dist
* update the gh workflow to use it
fixup noise from pre-commit
2022-10-25 17:07:47 +02:00
Anthony Sottile
1471164197
Replace usages of py.log by custom implementation ( #822 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2022-10-22 07:26:01 -03:00
baekdohyeop
62e50d0097
Address review
2021-11-29 02:59:18 +09:00
baekdohyeop
52a395888f
Create new dist option 'loadgroup'
2021-11-29 02:59:18 +09:00
Ran Benita
b85b71cd22
Add explicit pytest.hookspec/hookimpl annotations, avoid legacy tryfirst/trylast marks
2021-11-02 09:42:00 +02:00
Ran Benita
787b8d9c14
Add basic mypy linting
...
Based on pytest setup, though more lax. Currently only the tests are
annotated so only helpful for them.
Fix #721 .
2021-11-01 09:06:32 +02:00
David Lamparter
766e67ce52
Use setproctitle if available to show state ( #696 )
...
Co-authored-by: Bruno Oliveira <nicoddemus@gmail.com >
2021-09-03 12:58:01 -03:00
Thomas Grainger
56e631b4bb
fix sys.path for local workers Fixes #421
2021-06-03 21:20:11 +01:00
Ronny Pfannschmidt
1189ae4b91
Merge pull request #624 from pytest-dev/fix-592-use-controller
...
prepare #592 : replace master with controller where we can
2021-02-11 12:27:08 +01:00
Ronny Pfannschmidt
166bdb4103
prepare #592 : replace master with controller where we can
2021-02-07 22:08:22 +01:00
Ronny Pfannschmidt
aa89c42ad7
prepare for Node.fspath deprecation
...
calculate topdir based on config.rootpath/rootdir
addresses pytest-dev/pytest#8251
2021-02-07 20:44:31 +01:00
Bruno Oliveira
16d636391b
Propagate internal errors to the master node
...
This should help users diagnose internal errors in workers like
exceptions from hooks or in pytest itself.
2020-12-13 20:05:31 -03:00
Zac-HD
d153e0a4c4
Remove compat for pytest < 6
2020-08-06 15:48:33 +10:00
Bruno Oliveira
047816f33a
Drop features from old pytest versions
2020-08-05 19:55:56 -03:00
Hugo
22ae7ff7af
Upgrade Python syntax with pyupgrade --py3-plus
2020-08-03 22:52:03 +10:00
Zac-HD
de3e54fd27
Finish removal of "slave" terminology
...
See issue #234 . It's time.
2020-08-03 22:51:42 +10:00
Bruno Oliveira
18b18870a8
Do not trigger pytest_warning_captured in pytest 6.0+
...
Fix #562
2020-07-24 15:19:07 -03:00
Bruno Oliveira
b25757199c
Support new `pytest_warning_recorded` hook from pytest 6.0
2020-07-08 17:51:45 -03:00
Sven-Hendrik Haase
2183d741bb
Add global session uuid ( fixes #524 )
2020-04-30 19:43:16 +02:00
Bruno Oliveira
953a3f0b4d
Use Config.invocation_params for consistent worker initialization
...
Decided to keep the old way still working for now.
Fix #6
Fix #445
2019-07-10 19:59:12 -03:00
Bruno Oliveira
fb40056950
Compatibility for IntEnum change in upcoming pytest 5.0
...
Related to pytest-dev/pytest#5420
2019-06-14 11:23:29 -03:00
Bruno Oliveira
7d41db3685
Adopt 'src' layout and add 'testing' extras
2019-06-06 19:35:13 -03:00