This is an automated email from the git hooks/post-receive script. eugene-guest pushed a commit to annotated tag OpenBSD in repository testng.
commit e919e3dd5edc2dd81296a00446211092f25f54f7 Author: Vladislav Rassokhin <[email protected]> Date: Sun Nov 23 01:45:35 2014 +0300 Invoker: better error message in case of expected exceptions --- src/main/java/org/testng/internal/Invoker.java | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/testng/internal/Invoker.java b/src/main/java/org/testng/internal/Invoker.java index 2a9d7b6..a40e94f 100644 --- a/src/main/java/org/testng/internal/Invoker.java +++ b/src/main/java/org/testng/internal/Invoker.java @@ -42,6 +42,7 @@ import org.testng.xml.XmlTest; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; @@ -1450,15 +1451,15 @@ public class Invoker implements IInvoker { } } else if (isSkipExceptionAndSkip(ite)){ status = ITestResult.SKIP; - } else if (ite != null && expectedExceptionsHolder != null) { + } else if (expectedExceptionsHolder != null) { testResult.setThrowable( - new TestException("Expected exception " - + expectedExceptionsHolder.expectedClasses[0].getName() - + " but got " + ite, ite)); + new TestException("Expected exception of " + + getExpectedExceptionsPluralize(expectedExceptionsHolder) + + " but got " + ite, ite)); status= ITestResult.FAILURE; } else { handleException(ite, testMethod, testResult, failureCount++); - status= testResult.getStatus(); + status = testResult.getStatus(); } } @@ -1468,7 +1469,7 @@ public class Invoker implements IInvoker { if (classes != null && classes.length > 0) { testResult.setThrowable( new TestException("Method " + testMethod + " should have thrown an exception of " - + expectedExceptionsHolder.expectedClasses[0])); + + getExpectedExceptionsPluralize(expectedExceptionsHolder))); status= ITestResult.FAILURE; } } @@ -1517,6 +1518,18 @@ public class Invoker implements IInvoker { return removeResultsToRetryFromResult(resultsToRetry, result, failureCount); } + private String getExpectedExceptionsPluralize(final ExpectedExceptionsHolder holder) { + StringBuilder sb = new StringBuilder(); + if (holder.expectedClasses.length > 1) { + sb.append("any of types "); + sb.append(Arrays.toString(holder.expectedClasses)); + } else { + sb.append("type "); + sb.append(holder.expectedClasses[0]); + } + return sb.toString(); + } + private boolean isSkipExceptionAndSkip(Throwable ite) { return SkipException.class.isAssignableFrom(ite.getClass()) && ((SkipException) ite).isSkip(); } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

