Bug 78491 JUnit tries to execute abstract classes [JUnit]
Starting with 3.1M3 the JUnit component suddenlty tries to execute tests from abstract classes: class abstract AbstractTestCase extends TestCase { public void testDefaultTestHere() {} } class ComponentWithDefaultTest extends AbsractTestCase { public void testComponentSpecificBehaviour() {} } In former releases only the fixtures of ComponentWithDefaultTest were executed, 3.1M3 tries now to instantiate AbstractTestCase and fails obviously.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/util/TestSearchEngine.java
public JUnitSearchResultCollector(List list) {
			fList= list;
		}
		
		public void acceptSearchMatch(SearchMatch match) throws CoreException {
			Object enclosingElement= match.getElement();
			if (!(enclosingElement instanceof IMethod)) 
				return;
			
			IMethod method= (IMethod)enclosingElement;		
			
			IType declaringType= method.getDeclaringType();
			if (fMatches.contains(declaringType) || fFailed.contains(declaringType))
				return;
			if (!hasSuiteMethod(declaringType) && !isTestType(declaringType)) {
				fFailed.add(declaringType);
				return;
			}
			fMatches.add(declaringType);
		}
		
		public void endReporting() {
			fList.addAll(fMatches);
		}
	}
	
	private List searchMethod(IProgressMonitor pm, final IJavaSearchScope scope) throws CoreException {
		final List typesFound= new ArrayList(200);	
		searchMethod(typesFound, scope, pm);