web-platform-tests / wpt

Test suites for Web platform specs — including WHATWG, W3C, and others
https://web-platform-tests.org/
Other
4.89k stars 3.06k forks source link

REGRESSION(#35973): test types no longer run in deterministic order #41476

Open gsnedders opened 1 year ago

gsnedders commented 1 year ago

36154 made tests run in a deterministic order (assuming a single process, etc. etc.), but #35973 (cc @WeizhongX) undid this and made them non-deterministic again. Given we have reason to believe this is a cause of intermittent failures, it would be good to make this deterministic again.

WeizhongX commented 1 year ago

I don't see why we should run different test types in deterministic order. We are restarting the browser each time when starting a different test type, so the order should not have anything to do with flakiness.

We should generally not assume any order between test types, tests, etc.

WeizhongX commented 1 year ago

In chromium, we do have the concept of the order of the tests. The idea is that ordering is sometimes needed to reproduce a failure. So it might be useful if we can keep the order of tests in a test group.

gsnedders commented 1 year ago

I don't see why we should run different test types in deterministic order. We are restarting the browser each time when starting a different test type, so the order should not have anything to do with flakiness.

We should generally not assume any order between test types, tests, etc.

It shouldn't, no—except we have clear evidence that it previously did.

The reality is without completely cleaning out every possible bit of state when restarting the browser we are still potentially opening ourselves up to flakiness.