diff --git a/platform/testRunner/src/com/intellij/execution/testframework/Filter.java b/platform/testRunner/src/com/intellij/execution/testframework/Filter.java index 74956681b611..b52f664cbaa4 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/Filter.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/Filter.java @@ -81,7 +81,16 @@ public abstract class Filter { } }; - public static final Filter DEFECTIVE_LEAF = DEFECT.and(LEAF); + public static final Filter DEFECTIVE_LEAF = DEFECT.and(new Filter() { + @Override + public boolean shouldAccept(AbstractTestProxy test) { + if (test.isLeaf()) return true; + for (AbstractTestProxy testProxy : test.getChildren()) { + if (testProxy.isDefect()) return false; + } + return true; + } + }); private static class AndFilter extends Filter { private final Filter myFilter1; diff --git a/plugins/junit/src/com/intellij/execution/junit/TestObject.java b/plugins/junit/src/com/intellij/execution/junit/TestObject.java index 09dfe7b03af7..4b3e32c84da2 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestObject.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestObject.java @@ -283,8 +283,7 @@ public abstract class TestObject implements JavaCommandLine { public void run() { packetsReceiver.checkTerminated(); final JUnitRunningModel model = packetsReceiver.getModel(); - TestsUIUtil.notifyByBalloon(myProject, model != null ? model.getRoot() : null, consoleProperties, - Filter.DEFECT); + TestsUIUtil.notifyByBalloon(myProject, model != null ? model.getRoot() : null, consoleProperties, Filter.DEFECTIVE_LEAF); } }); }