-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
flaky unit test: test_build_linkcheck.test_linkcheck_exclude_documents #12188
Comments
@jayaddison Can you create a single issue for tracking them? it's really hard for me to keep up with the issues and what remains to do. |
@picnixz what tools do you prefer to keep track of related issues? I quite like using GitHub issue labels to group related items. If that's suitable, we could try that - or let me know if there could be a better way for you to find them. |
For me the best tool is one big issue with lots of checkboxes (same as #11991 [ok this one doesn't have boxes]) where you classify the issues by file/module or category. It's much easier to navigate through that instead of labels when the issues are all related to the same ... label (I don't mind labels but I could end up with 'tests/bug/linkcheck builder' and.. this is not sufficient for filtering IMO). Labels are usually for "long-standing" issues but for those that are like "easy", it's an overkill IMO. |
Brilliant - yep, I like the checkboxes too. I think that there are two closely-related categories of problem here: non-parallelizable unit tests, and flaky unit tests. Would it be OK to put them in two separate section headings within a single issue? My concern otherwise is that we might get into a lot of confusion/noise between the two categories if they are tracked separately (still some if they are combined.. but less, I expect). |
Yes, it's fine. At least we know what needs to be fixed. |
Filed as #12191 - although please note that I opted to add an additional category during the writeup, so there are: flaky tests (reliability), parallelizable tests (performance / utilizing available resources), and independence (tests that affect each other are unreliable). |
Resolved by #12189. |
Describe the bug
This unit test failed recently during a continuous integration test job.
The cause appears to be that the test expects the linkchecker to receive results in a specific order. The
linkcheck
builder uses threads when performing linkchecking - so the result order is not guaranteed.How to Reproduce
To replicate this problem, we want multiple threads to spin up, and for each of them to consume a task to work on, but for the results to be emitted in unreliable order.
To achieve that, the following test-patch introduces a marginal delay after each
HyperlinkAvailabilityCheckWorker
thread instance picks up a task from the queue:Provided that at least two threads are available (see
config.linkcheck_workers
), this should allow thetest_linkcheck_exclude_documents
test to fail during approximately 50% of trials.Environment Information
Sphinx extensions
Additional context
No response
The text was updated successfully, but these errors were encountered: