mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
junit4: filter out only Idea's filters (IDEA-55451)
This commit is contained in:
@@ -116,22 +116,24 @@ public class JUnit4IdeaTestRunner implements IdeaTestRunner {
|
||||
field.setAccessible(true);
|
||||
final Filter filter = (Filter)field.get(request);
|
||||
final String filterDescription = filter.describe();
|
||||
try {
|
||||
final Description failedTestsDescription = Description.createSuiteDescription(filterDescription, null);
|
||||
for (Iterator iterator = description.getChildren().iterator(); iterator.hasNext();) {
|
||||
final Description childDescription = (Description)iterator.next();
|
||||
if (filter.shouldRun(childDescription)) {
|
||||
failedTestsDescription.addChild(childDescription);
|
||||
if (filterDescription != null && (filterDescription.startsWith("Failed tests") || filterDescription.startsWith("Ignored"))) {
|
||||
try {
|
||||
final Description failedTestsDescription = Description.createSuiteDescription(filterDescription, null);
|
||||
for (Iterator iterator = description.getChildren().iterator(); iterator.hasNext();) {
|
||||
final Description childDescription = (Description)iterator.next();
|
||||
if (filter.shouldRun(childDescription)) {
|
||||
failedTestsDescription.addChild(childDescription);
|
||||
}
|
||||
}
|
||||
description = failedTestsDescription;
|
||||
if (!failedTestsDescription.isTest() && failedTestsDescription.testCount() == 1 && filterDescription.startsWith("Method")) {
|
||||
description = (Description)failedTestsDescription.getChildren().get(0);
|
||||
}
|
||||
}
|
||||
description = failedTestsDescription;
|
||||
if (!failedTestsDescription.isTest() && failedTestsDescription.testCount() == 1 && filterDescription.startsWith("Method")) {
|
||||
description = (Description)failedTestsDescription.getChildren().get(0);
|
||||
catch (NoSuchMethodError e) {
|
||||
//junit 4.0 doesn't have method createSuite(String, Annotation...) : skip it
|
||||
}
|
||||
}
|
||||
catch (NoSuchMethodError e) {
|
||||
//junit 4.0 doesn't have method createSuite(String, Annotation...) : skip it
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +134,16 @@ public class JUnit4TestRunnerUtil {
|
||||
return super.getRunner();
|
||||
}
|
||||
};
|
||||
return classRequest.filterWith(Description.createTestDescription(clazz, methodName));
|
||||
final Filter ignoredTestFilter = Filter.matchMethodDescription(Description.createTestDescription(clazz, methodName));
|
||||
return classRequest.filterWith(new Filter() {
|
||||
public boolean shouldRun(Description description) {
|
||||
return ignoredTestFilter.shouldRun(description);
|
||||
}
|
||||
|
||||
public String describe() {
|
||||
return "Ignored " + methodName;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (Exception ignored) {
|
||||
|
||||
Reference in New Issue
Block a user