INFRA-122 Implement heuristic test selection
Running the full test-suite can take a long time. For local development and PR evaluation, this can be problematic. In some architectures, one defines a fixed list of "smoke tests". We would like to define our smoke tests as two parts:
-
A small, fixed list of broad/shallow tests (such as api_v3_SyntaxConformanceTest and WebTest_Generic_CheckDashboardTest)
-
A dynamic list of tests chosen heuristically. For example, a change to any file like "CRM/Case/**.php" should trigger any test that matches "CRM/Case/**Test.php" or "WebTest/Case/**Test.php".