From 2a21a01d70866d8a037ac0abf570d6971265f9ee Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Mon, 7 Aug 2017 14:17:54 +0200 Subject: [PATCH] junit: skip completely broken tests (IDEA-176943) --- .../src/com/intellij/junit4/IdeaSuite.java | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java b/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java index 054188691ae5..cbf49afdb67d 100644 --- a/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java +++ b/plugins/junit_rt/src/com/intellij/junit4/IdeaSuite.java @@ -85,25 +85,27 @@ class IdeaSuite extends Suite { } } if (!containsSuiteInside) return children; - final Set allNames = new HashSet(); - for (Iterator iterator = children.iterator(); iterator.hasNext();) { - final Object child = iterator.next(); - allNames.add(describeChild((Runner)child).getDisplayName()); - } - for (Iterator iterator = children.iterator(); iterator.hasNext();) { - final Object child = iterator.next(); - if (isSuite(child)) { - skipSuiteComponents(allNames, child); + try { + final Set allNames = new HashSet(); + for (Iterator iterator = children.iterator(); iterator.hasNext();) { + final Object child = iterator.next(); + allNames.add(describeChild((Runner)child).getDisplayName()); + } + for (Iterator iterator = children.iterator(); iterator.hasNext();) { + final Object child = iterator.next(); + if (isSuite(child)) { + skipSuiteComponents(allNames, child); + } + } + + for (Iterator iterator = children.iterator(); iterator.hasNext(); ) { + Object child = iterator.next(); + if (!isSuite(child) && !allNames.contains(describeChild((Runner)child).getDisplayName())) { + iterator.remove(); + } } } - - for (Iterator iterator = children.iterator(); iterator.hasNext(); ) { - Object child = iterator.next(); - if (!isSuite(child) && !allNames.contains(describeChild((Runner)child).getDisplayName())) { - iterator.remove(); - } - } - + catch (Throwable e){ } return children; }