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 273426adec7bf37d0b8f55f1ab89db8363ca9f84 Author: Vladislav Rassokhin <[email protected]> Date: Sat Mar 29 23:08:37 2014 +0400 testng-496 org.testng.junit.JUnit4TestRunner handles testAssumptionFailure as a failure but it should be ignored Report test as skip. Also report as skip from #testFailure with AssumptionViolatedException as failure exception Remove unnecessary super calls. (RunListener is special not-implementation class) Fix bug when test with assumption failure reported also as passed. Add test for this case. --- .../java/org/testng/junit/JUnit4TestRunner.java | 37 ++++++++++++++-------- src/test/java/test/JUnit4Test.java | 2 +- src/test/java/test/junit4/JUnit4Sample2.java | 8 ++++- src/test/java/test/junit4/JUnit4SampleSuite.java | 2 +- 4 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/testng/junit/JUnit4TestRunner.java b/src/main/java/org/testng/junit/JUnit4TestRunner.java index 9d7fa6d..2b81fcc 100644 --- a/src/main/java/org/testng/junit/JUnit4TestRunner.java +++ b/src/main/java/org/testng/junit/JUnit4TestRunner.java @@ -111,25 +111,28 @@ public class JUnit4TestRunner implements IJUnitTestRunner { private class RL extends RunListener { private Map<Description, ITestResult> runs = new WeakHashMap<Description, ITestResult>(); - private List<Description> failures = new LinkedList<Description>(); + private List<Description> notified = new LinkedList<Description>(); @Override public void testAssumptionFailure(Failure failure) { - super.testAssumptionFailure(failure); + notified.add(failure.getDescription()); ITestResult tr = runs.get(failure.getDescription()); - tr.setStatus(TestResult.FAILURE); + tr.setStatus(TestResult.SKIP); tr.setEndMillis(Calendar.getInstance().getTimeInMillis()); tr.setThrowable(failure.getException()); - m_parentRunner.addFailedTest(tr.getMethod(), tr); + m_parentRunner.addSkippedTest(tr.getMethod(), tr); for (ITestListener l : m_listeners) { - l.onTestFailure(tr); + l.onTestSkipped(tr); } } @Override public void testFailure(Failure failure) throws Exception { - super.testFailure(failure); - failures.add(failure.getDescription()); + if (isAssumptionFailed(failure)) { + this.testAssumptionFailure(failure); + return; + } + notified.add(failure.getDescription()); ITestResult tr = runs.get(failure.getDescription()); tr.setStatus(TestResult.FAILURE); tr.setEndMillis(Calendar.getInstance().getTimeInMillis()); @@ -142,9 +145,8 @@ public class JUnit4TestRunner implements IJUnitTestRunner { @Override public void testFinished(Description description) throws Exception { - super.testFinished(description); ITestResult tr = runs.get(description); - if (!failures.contains(description)) { + if (!notified.contains(description)) { tr.setStatus(TestResult.SUCCESS); tr.setEndMillis(Calendar.getInstance().getTimeInMillis()); m_parentRunner.addPassedTest(tr.getMethod(), tr); @@ -157,7 +159,6 @@ public class JUnit4TestRunner implements IJUnitTestRunner { @Override public void testIgnored(Description description) throws Exception { - super.testIgnored(description); ITestResult tr = createTestResult(description); tr.setStatus(TestResult.SKIP); tr.setEndMillis(tr.getStartMillis()); @@ -170,17 +171,14 @@ public class JUnit4TestRunner implements IJUnitTestRunner { @Override public void testRunFinished(Result result) throws Exception { - super.testRunFinished(result); } @Override public void testRunStarted(Description description) throws Exception { - super.testRunStarted(description); } @Override public void testStarted(Description description) throws Exception { - super.testStarted(description); ITestResult tr = createTestResult(description); runs.put(description, tr); for (ITestListener l : m_listeners) { @@ -208,4 +206,17 @@ public class JUnit4TestRunner implements IJUnitTestRunner { return tr; } } + + private static boolean isAssumptionFailed(Failure failure) { + if (failure == null) { + return false; + } + //noinspection ThrowableResultOfMethodCallIgnored + final Throwable exception = failure.getException(); + //noinspection SimplifiableIfStatement + if (exception == null) { + return false; + } + return "org.junit.internal.AssumptionViolatedException".equals(exception.getClass().getCanonicalName()); + } } diff --git a/src/test/java/test/JUnit4Test.java b/src/test/java/test/JUnit4Test.java index 4abbfa1..98b1f72 100644 --- a/src/test/java/test/JUnit4Test.java +++ b/src/test/java/test/JUnit4Test.java @@ -39,7 +39,7 @@ public class JUnit4Test extends BaseTest { run(); String[] passed = JUnit4SampleSuite.EXPECTED; - String[] failed = JUnit4Sample2.FAILED; + String[] failed = JUnit4SampleSuite.FAILED; String[] skipped = JUnit4SampleSuite.SKIPPED; verifyTests("Passed", passed, getPassedTests()); diff --git a/src/test/java/test/junit4/JUnit4Sample2.java b/src/test/java/test/junit4/JUnit4Sample2.java index 5ecfc0a..0209f82 100644 --- a/src/test/java/test/junit4/JUnit4Sample2.java +++ b/src/test/java/test/junit4/JUnit4Sample2.java @@ -1,6 +1,7 @@ package test.junit4; import org.junit.Assert; +import org.junit.Assume; import org.junit.Ignore; import org.junit.Test; @@ -11,7 +12,7 @@ import org.junit.Test; public class JUnit4Sample2 { public static final String[] EXPECTED = {"t2", "t4"}; - public static final String[] SKIPPED = {"t3"}; + public static final String[] SKIPPED = {"t3", "ta"}; public static final String[] FAILED = {"tf"}; @Test @@ -31,4 +32,9 @@ public class JUnit4Sample2 { public void tf() { Assert.fail("a test"); } + + @Test + public void ta() { + Assume.assumeTrue(false); + } } diff --git a/src/test/java/test/junit4/JUnit4SampleSuite.java b/src/test/java/test/junit4/JUnit4SampleSuite.java index d597a92..19e93b0 100644 --- a/src/test/java/test/junit4/JUnit4SampleSuite.java +++ b/src/test/java/test/junit4/JUnit4SampleSuite.java @@ -15,6 +15,6 @@ import org.junit.runners.Suite; public class JUnit4SampleSuite { public static final String[] EXPECTED = {"t1", "t2", "t4"}; - public static final String[] SKIPPED = {"t3"}; + public static final String[] SKIPPED = {"t3", "ta"}; public static final String[] FAILED = {"tf"}; } -- 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

