      Partitions a test suite by test type. Also prevents duplicated tests.
  
      classes is a sequence of types
      bins is a sequence of TestSuites, one more than classes
  
      Tests of type classes[i] are added to bins[i],
      tests with no match found in classes are place in bins[-1]
      """
 
</s> remove def partition_suite(suite, classes, bins):
 </s> add def partition_suite(suite, classes, bins, reverse=False): </s> remove def reorder_suite(suite, classes):
 </s> add def reorder_suite(suite, classes, reverse=False): </s> remove .. class:: DiscoverRunner(pattern='test*.py', top_level=None, verbosity=1, interactive=True, failfast=True, keepdb=False **kwargs)
 </s> add .. class:: DiscoverRunner(pattern='test*.py', top_level=None, verbosity=1, interactive=True, failfast=True, keepdb=False, reverse=False, **kwargs)
    reverse changes the ordering of tests within bins
      Partitions a test suite by test type. Also prevents duplicated tests.
  
      classes is a sequence of types
      bins is a sequence of TestSuites, one more than classes
    reverse changes the ordering of tests within bins
  
      Tests of type classes[i] are added to bins[i],
      tests with no match found in classes are place in bins[-1]
      """
keep keep keep add keep keep keep keep
 Fixed #23742 -- Added an option to reverse tests order.

This is useful for debugging side effects affecting tests that
are usually executed before a given test. Full suite and pair
tests sort cases more or less deterministically, thus some test
cross-dependencies are easier to reveal by reversing the order.

Thanks Preston Timmons for the review. 
django/test/runner.py