You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by jh...@apache.org on 2006/12/20 14:52:08 UTC

svn commit: r489089 - in /ant/core/trunk/src: main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java

Author: jhm
Date: Wed Dec 20 05:52:08 2006
New Revision: 489089

URL: http://svn.apache.org/viewvc?view=rev&rev=489089
Log:
Make the tests runnable on systems without regexp matchers (e.g. JDK 1.2 without ORO).

Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java
    ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java?view=diff&rev=489089&r1=489088&r2=489089
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/regexp/RegexpMatcherFactory.java Wed Dec 20 05:52:08 2006
@@ -133,4 +133,20 @@
             throw new BuildException(t);
         }
     }
+
+    /**
+     * Checks if a RegExp-Matcher is available.
+     * @param project  The project to check for (may be <code>null</code>)
+     * @return <code>true</code> if available otherwise <code>false</code>
+     */
+    public static boolean regexpMatcherPresent(Project project) {
+        try {
+            // The factory throws a BuildException if no usable matcher 
+            // cant be instantiated. We dont need the matcher itself here.
+            (new RegexpMatcherFactory()).newRegexpMatcher(project);
+            return true;
+        } catch (Throwable ex) {
+            return false;
+        }
+    }
 }

Modified: ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java?view=diff&rev=489089&r1=489088&r2=489089
==============================================================================
--- ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java (original)
+++ ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java Wed Dec 20 05:52:08 2006
@@ -18,9 +18,12 @@
 package org.apache.tools.ant.taskdefs;
 
 
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildFileTest;
 import org.apache.tools.ant.taskdefs.condition.Os;
 import org.apache.tools.ant.util.JavaEnvUtils;
-import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.util.regexp.RegexpMatcher;
+import org.apache.tools.ant.util.regexp.RegexpMatcherFactory;
 
 /**
  * Tests &lt;bm:manifestclasspath&gt;.
@@ -97,8 +100,11 @@
     }
 
     public void testPseudoTahoeRefid() {
+        if (!RegexpMatcherFactory.regexpMatcherPresent(project)) {
+            System.out.println("Test 'testPseudoTahoeRefid' skipped because no regexp matcher is present.");
+            return;
+        }
         executeTarget("test-pseudo-tahoe-refid");
-
         assertPropertyEquals("jar.classpath", "classes/dsp-core/ " +
                                               "classes/dsp-pres/ " +
                                               "classes/dsp-void/ " +
@@ -108,8 +114,11 @@
     }
 
     public void testPseudoTahoeNested() {
+        if (!RegexpMatcherFactory.regexpMatcherPresent(project)) {
+            System.out.println("Test 'testPseudoTahoeNested' skipped because no regexp matcher is present.");
+            return;
+        }
         executeTarget("test-pseudo-tahoe-nested");
-
         assertPropertyEquals("jar.classpath", "classes/dsp-core/ " +
                                               "classes/dsp-pres/ " +
                                               "classes/dsp-void/ " +
@@ -134,8 +143,7 @@
                                               "../../resources/dsp-void/");
     }
     public void testInternationalGerman() {
-        if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_4))
-        {
+        if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_4)) {
             System.out.println("Test with international characters skipped under pre 1.4 jvm.");
             return;
         }
@@ -144,7 +152,7 @@
             
     }
     public void testInternationalHebrew() {
-        if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_4))        {
+        if (!JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_4)) {
             System.out.println("Test with international characters skipped under pre 1.4 jvm.");
             return;
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org