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 <bm:manifestclasspath>. @@ -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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]