Restructure test loading, test running, add basic test report generation