static List<Class> all() { List<String> names = Boot.getClasses(); names.remove("water.Boot"); // In case called from Boot loader names.remove("water.Weaver"); Collections.sort(names); // For deterministic runs List<Class> tests = new ArrayList<Class>(); Log._dontDie = true; for( String name : names ) { try { Class c = Class.forName(name); if( isTest(c) ) tests.add(c); } catch( Throwable _ ) { } } if( tests.size() == 0 ) throw new RuntimeException("Failed to find tests"); filter(tests); return tests; }