-
Notifications
You must be signed in to change notification settings - Fork 19
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
Implement concurrent limits based on item marks #47
base: master
Are you sure you want to change the base?
Conversation
815e7bc
to
00aab47
Compare
This morning I realized there are still a couple of things that need to be implemented.
|
5f9ddb5
to
df68d87
Compare
@willemt could you take a look at this? I think I'm pretty happy with the changes at this point. These are the new concurrency control cases:
PS |
This change enables users to limit individual test concurrency based on mark configuration. For example, lets say that there are 10 tests, and 8 of them can be executed concurrently, but 2 of them use some shared resource and can't be executed concurrenctly. By using the new option `--max-asyncio-tasks-by-mark`, its now possible to configure the task scheduler to execute the 2 tasks in series, but the remaining tasks 8 tasks would still be scheduled concurrently.
df68d87
to
b3cf7ea
Compare
this looks great thanks! because it makes changes to the core bits I want to first see if it's possible if I can refactor this PR into a plugin via apluggy (#52). I'm sensing I might need to expose some hooks |
Its been a while, but if I remember correctly, I haven't used any new APIs that weren't used before. I added some new configuration values, and updated how tasks are scheduled. |
This change enables users to limit individual test concurrency based on mark configuration. For example, lets say that there are 10 tests, and 8 of them can be executed concurrently, but 2 of them use some shared resource and can't be executed concurrenctly. By using the new option
--max-asyncio-tasks-by-mark
, its now possible to configure the task scheduler to execute the 2 tasks in series, but the remaining tasks 8 tasks would still be scheduled concurrently.PS
Master branch code was not formatted, look at specific commit diff to filter out code formatting changes.