From 5b464967fa1f1d0b1009531871d227f72459f693 Mon Sep 17 00:00:00 2001 From: "Jesse N. Glick" Date: Wed, 1 Mar 2006 19:13:16 +0000 Subject: [PATCH] Tweak: in case junit-3.8.1.jar and junit-4.0.jar are on CP but in that order, and running JDK 1.4-, at least run JUnit 3.x tests. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@382127 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/optional/junit/JUnitTestRunner.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java index 59419e63b..c0513b554 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java @@ -266,8 +266,12 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR try { Class junit4TestAdapterClass = null; - // Note that checking for JDK 5 directly won't work; under JDK 4, this will already have failed. + // Check for JDK 5 first. Will *not* help on JDK 1.4 if only junit-4.0.jar in + // CP because in that case linkage of whole task will already have + // failed! But will help if CP has junit-3.8.1.jar:junit-4.0.jar. + // In that case first C.fN will fail with CNFE and we will avoid UnsupportedClassVersionError. try { + Class.forName("java.lang.annotation.Annotation"); if (loader == null) { junit4TestAdapterClass = Class.forName("junit.framework.JUnit4TestAdapter"); } else {