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 <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: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org