Test Load Balancer(TLB)

Please use a javascript enabled browser to read this documentation(some of the documentation pages use controls that need javascript support to render)

Ordering tests:

TLB, along with load balancing can also set the order in which the tests get executed. For instance one can execute the tests which failed in the previous run first, before running other tests, which provides early feedback. Leveraging the fact that tests are not order-sensitive, ordering can be used to do nifty things. However, this should not be misused so to run tests in a predefined order all the time(which by the way, is an anti-pattern).

TLB has 1 built-in Orderer called FailedTestFirst orderer(tlb.orderer.FailedFirstOrderer). This runs the test that are known to have failed in the previous run first. TLB along with the test times also records the test status, and uploads that to the central repository(TLB server or equivallent). Using this information, it runs the failed tests first in the subsequent runs.

The ordering criterion is passed in using the environment variable TLB_ORDERER. This is a comma separated list of fully qualified names of orderer classes. If nothing is mentioned, TLB does not re-order the tests.

You need to set TLB_ORDERER='tlb.orderer.FailedFirstOrderer' to have failed tests run first.