https://blog.xjtag.com/2009/11/test-modes-in-xjrunner-part-2/