You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Alexei Fedotov <al...@gmail.com> on 2006/11/18 02:14:43 UTC
[drlvm][regression] org.apache.harmony.tests.java.util.regex.PatternTest fails Was: svn commit: r475869 - in /incubator/harmony/enhanced/classlib/trunk/modules/regex/src: main/java/java/util/regex/Lexer.java test/java/org/apache/harmony/tests/java/ut
All,
It looks like we've got a regression, see
http://harmonytest.org/testapp.do?method=showresult&id=2293852.
org.apache.harmony.tests.java.util.regex.PatternTest@testMatches:
java.util.regex.PatternSyntaxException: Illegal inline construct near index: 3
x(?c)y^
at java.util.regex.Lexer.readFlags(Lexer.java:1097)
at java.util.regex.Lexer.movePointer(Lexer.java:749)
at java.util.regex.Lexer.<init>(Lexer.java:228)
at java.util.regex.Pattern.compileImpl(Pattern.java:279)
at java.util.regex.Pattern.compile(Pattern.java:264)
at java.util.regex.Pattern.compile(Pattern.java)
at java.util.regex.Pattern.matches(Pattern.java)
at org.apache.harmony.tests.java.util.regex.PatternTest.testMatches(PatternTest.java:431)
at java.lang.reflect.VMReflection.invokeMethod(Native Method)
Thanks!
On 11/16/06, pyang@apache.org <py...@apache.org> wrote:
> Author: pyang
> Date: Thu Nov 16 10:57:47 2006
> New Revision: 475869
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=475869
> Log:
> Apply patch for HARMONY-2127 ([classlib][regex] harmony does not compile embedded flag (?c))
>
> Modified:
> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
>
> Modified: incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
> URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java?view=diff&rev=475869&r1=475868&r2=475869
> ==============================================================================
> --- incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java (original)
> +++ incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java Thu Nov 16 10:57:47 2006
> @@ -1093,8 +1093,7 @@
> return res | (1 << 8);
>
> default:
> - throw new PatternSyntaxException(Messages.getString("regex.1A"), //$NON-NLS-1$
> - this.toString(), index);
> + // ignore invalid flags (HARMONY-2127)
> }
> nextIndex();
> }
>
> Modified: incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
> URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java?view=diff&rev=475869&r1=475868&r2=475869
> ==============================================================================
> --- incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java (original)
> +++ incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java Thu Nov 16 10:57:47 2006
> @@ -31,7 +31,10 @@
> "(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)*",
> "(a|b)*(a|b)*A(a|b)*lice.*",
> "(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)(a|b|c|d|e|f|g|h|"
> - + "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do"
> + + "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do",
> + "x(?c)y",
> + "x(?cc)y",
> + "x(?:c)y"
>
> };
>
> @@ -322,38 +325,49 @@
> */
> String pattern = "b)a";
> try {
> - Pattern pat = Pattern.compile(pattern);
> + Pattern.compile(pattern);
> + fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
> } catch (PatternSyntaxException e) {
> - System.out.println(e);
> + // pass
> }
> pattern = "bcde)a";
> try {
> - Pattern pat = Pattern.compile(pattern);
> + Pattern.compile(pattern);
> + fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
> } catch (PatternSyntaxException e) {
> - System.out.println(e);
> + // pass
> }
> pattern = "bbg())a";
> try {
> Pattern pat = Pattern.compile(pattern);
> + fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
> } catch (PatternSyntaxException e) {
> - System.out.println(e);
> + // pass
> }
>
> pattern = "cdb(?i))a";
> try {
> Pattern pat = Pattern.compile(pattern);
> - } catch (Exception e) {
> - System.out.println(e);
> + fail("Expected a PatternSyntacException when compiling pattern: " + pattern);
> + } catch (PatternSyntaxException e) {
> + // pass
> }
> +
> + /*
> + * This pattern should compile - HARMONY-2127
> + */
> + pattern = "x(?c)y";
> + Pattern.compile(pattern);
> +
>
> /*
> * this pattern doesn't match any string, but should be compiled anyway
> */
> pattern = "(b\\1)a";
> - Pattern pat = Pattern.compile(pattern);
> + Pattern.compile(pattern);
>
> }
> -
> +
> /*
> * Class under test for Pattern compile(String)
> */
> @@ -403,7 +417,10 @@
> + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" },
> { "ababbaAabababblice", "ababbaAliceababab", "ababbAabliceaaa",
> "abbbAbbbliceaaa", "Alice" },
> - { "a123", "bnxnvgds156", "for", "while", "if", "struct" }
> + { "a123", "bnxnvgds156", "for", "while", "if", "struct" },
> + { "xy" },
> + { "xy" },
> + { "xcy" }
>
> };
>
> @@ -414,7 +431,7 @@
> posSeq[i][j]));
> }
> }
> - }
> + }
>
> public void testTimeZoneIssue() {
> Pattern p = Pattern.compile("GMT(\\+|\\-)(\\d+)(:(\\d+))?");
>
>
>
--
Thank you,
Alexei
Re: [drlvm][regression] org.apache.harmony.tests.java.util.regex.PatternTest
fails Was: svn commit: r475869 - in /incubator/harmony/enhanced/classlib/trunk/modules/regex/src:
main/java/java/util/regex/Lexer.java test/java/org/apache/harmony/tests/java/ut
Posted by Tim Ellison <t....@gmail.com>.
Excuse the obvious question: Are you sure you are running on the latest
impl of regex? That is a new regression test for that issue committed
with the fix. All tests pass for me (WinXP/IA32).
Regards,
Tim
Alexei Fedotov wrote:
> All,
> It looks like we've got a regression, see
> http://harmonytest.org/testapp.do?method=showresult&id=2293852.
>
> org.apache.harmony.tests.java.util.regex.PatternTest@testMatches:
> java.util.regex.PatternSyntaxException: Illegal inline construct near
> index: 3
> x(?c)y^
> at java.util.regex.Lexer.readFlags(Lexer.java:1097)
> at java.util.regex.Lexer.movePointer(Lexer.java:749)
> at java.util.regex.Lexer.<init>(Lexer.java:228)
> at java.util.regex.Pattern.compileImpl(Pattern.java:279)
> at java.util.regex.Pattern.compile(Pattern.java:264)
> at java.util.regex.Pattern.compile(Pattern.java)
> at java.util.regex.Pattern.matches(Pattern.java)
> at
> org.apache.harmony.tests.java.util.regex.PatternTest.testMatches(PatternTest.java:431)
>
> at java.lang.reflect.VMReflection.invokeMethod(Native Method)
>
>
> Thanks!
>
>
> On 11/16/06, pyang@apache.org <py...@apache.org> wrote:
>> Author: pyang
>> Date: Thu Nov 16 10:57:47 2006
>> New Revision: 475869
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=475869
>> Log:
>> Apply patch for HARMONY-2127 ([classlib][regex] harmony does not
>> compile embedded flag (?c))
>>
>> Modified:
>>
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
>>
>>
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
>>
>>
>> Modified:
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java?view=diff&rev=475869&r1=475868&r2=475869
>>
>> ==============================================================================
>>
>> ---
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
>> (original)
>> +++
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/main/java/java/util/regex/Lexer.java
>> Thu Nov 16 10:57:47 2006
>> @@ -1093,8 +1093,7 @@
>> return res | (1 << 8);
>>
>> default:
>> - throw new
>> PatternSyntaxException(Messages.getString("regex.1A"), //$NON-NLS-1$
>> - this.toString(), index);
>> + // ignore invalid flags (HARMONY-2127)
>> }
>> nextIndex();
>> }
>>
>> Modified:
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
>>
>> URL:
>> http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java?view=diff&rev=475869&r1=475868&r2=475869
>>
>> ==============================================================================
>>
>> ---
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
>> (original)
>> +++
>> incubator/harmony/enhanced/classlib/trunk/modules/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
>> Thu Nov 16 10:57:47 2006
>> @@ -31,7 +31,10 @@
>>
>> "(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)*",
>> "(a|b)*(a|b)*A(a|b)*lice.*",
>>
>> "(a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)(a|b|c|d|e|f|g|h|"
>> - +
>> "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do"
>>
>> + +
>> "i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)*(1|2|3|4|5|6|7|8|9|0)*|while|for|struct|if|do",
>>
>> + "x(?c)y",
>> + "x(?cc)y",
>> + "x(?:c)y"
>>
>> };
>>
>> @@ -322,38 +325,49 @@
>> */
>> String pattern = "b)a";
>> try {
>> - Pattern pat = Pattern.compile(pattern);
>> + Pattern.compile(pattern);
>> + fail("Expected a PatternSyntacException when compiling
>> pattern: " + pattern);
>> } catch (PatternSyntaxException e) {
>> - System.out.println(e);
>> + // pass
>> }
>> pattern = "bcde)a";
>> try {
>> - Pattern pat = Pattern.compile(pattern);
>> + Pattern.compile(pattern);
>> + fail("Expected a PatternSyntacException when compiling
>> pattern: " + pattern);
>> } catch (PatternSyntaxException e) {
>> - System.out.println(e);
>> + // pass
>> }
>> pattern = "bbg())a";
>> try {
>> Pattern pat = Pattern.compile(pattern);
>> + fail("Expected a PatternSyntacException when compiling
>> pattern: " + pattern);
>> } catch (PatternSyntaxException e) {
>> - System.out.println(e);
>> + // pass
>> }
>>
>> pattern = "cdb(?i))a";
>> try {
>> Pattern pat = Pattern.compile(pattern);
>> - } catch (Exception e) {
>> - System.out.println(e);
>> + fail("Expected a PatternSyntacException when compiling
>> pattern: " + pattern);
>> + } catch (PatternSyntaxException e) {
>> + // pass
>> }
>> +
>> + /*
>> + * This pattern should compile - HARMONY-2127
>> + */
>> + pattern = "x(?c)y";
>> + Pattern.compile(pattern);
>> +
>>
>> /*
>> * this pattern doesn't match any string, but should be
>> compiled anyway
>> */
>> pattern = "(b\\1)a";
>> - Pattern pat = Pattern.compile(pattern);
>> + Pattern.compile(pattern);
>>
>> }
>> -
>> +
>> /*
>> * Class under test for Pattern compile(String)
>> */
>> @@ -403,7 +417,10 @@
>> +
>> "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" },
>> { "ababbaAabababblice",
>> "ababbaAliceababab", "ababbAabliceaaa",
>> "abbbAbbbliceaaa",
>> "Alice" },
>> - { "a123", "bnxnvgds156", "for",
>> "while", "if", "struct" }
>> + { "a123", "bnxnvgds156", "for",
>> "while", "if", "struct" },
>> + { "xy" },
>> + { "xy" },
>> + { "xcy" }
>>
>> };
>>
>> @@ -414,7 +431,7 @@
>> posSeq[i][j]));
>> }
>> }
>> - }
>> + }
>>
>> public void testTimeZoneIssue() {
>> Pattern p =
>> Pattern.compile("GMT(\\+|\\-)(\\d+)(:(\\d+))?");
>>
>>
>>
>
>
--
Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.