test runner needs to reorder tests more explicitly
|Reported by:||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||yes|
|Needs tests:||yes||Patch needs improvement:||no|
Right now the test runner partitions the tests into two bins, either the TestCase bin or the catch all bin. The ordering of the catch all bin then depends on the order in which the tests are seen. The problem is that TransactionTestCase tests sometimes write to the test database without cleaning up after itself and that can sometimes affect a doctest that runs right after it since the doctest doesn't flush the database before it runs. Granted, doctests leave themselves vulnerable to each other since they can modify the database and don't flush before or after they complete. I think adding a little more protection by specifying that doctests should run before TransactionTestCase tests would help a little for the case when people write TransactionTestCase tests that modify data that later doctests are not expecting.
I suspect this won't be an issue once a resolution of #5624 is found.