<div dir="ltr"><div>I'm looking into creating custom eslint rules that aim to avoid common causes of oranges in tests. We have an <a href="https://developer.mozilla.org/en-US/docs/Mozilla/QA/Avoiding_intermittent_oranges" target="_blank">MDN page</a> containing some of these already. Some of those patterns might be pretty hard to catch with a linter, but others look do-able. So far, I'm thinking of adding rules for:</div><div><ul><li>No arbitrary setTimeouts</li><li>No synthesizeKey without waiting for focus</li><li>No deleting original tab</li><li>???<br></li></ul><div>These rules would only be configured to run on test files. I have a few questions:</div><div><ol><li>Would this cause too much of a burden for legitimate uses of those patterns?</li><li>Do any of the other patterns on that page look feasible to implement as linters?</li><li>Are there additional things not listed on that page that we could lint for?</li></ol>I'd love to find volunteer(s) who are more familiar with writing mochitests than myself (and who also care about this issue) to help brainstorm and provide more in-depth feedback. I want to strike a balance between preventing oranges and not over-burdening test authors, but I'm not sure what that balance looks like.</div><div><br></div><div>Thanks in advance for your input,</div><div>Andrew<br></div></div></div>