You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Tim Ellison <t....@gmail.com> on 2006/06/26 11:46:21 UTC

Re: svn commit: r417148 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Formatter.java test/java/tests/api/java/util/FormatterTest.java

Soory for being petty, but could you please include the JIRA title as
well as the JIRA number in the log message, so I can read the reason
without having to endure the joys of the JIRA webpages?

Thanks
Tim

ndbeyer@apache.org wrote:
> Author: ndbeyer
> Date: Mon Jun 26 02:06:44 2006
> New Revision: 417148
> 
> URL: http://svn.apache.org/viewvc?rev=417148&view=rev
> Log:
> Apply patch for HARMONY-653.
> 
> Modified:
>     incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/Formatter.java
>     incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/util/FormatterTest.java

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: j.u.Formatter test problems on RI

Posted by Geir Magnusson Jr <ge...@pobox.com>.
could you add [classlib] in the future ? :)

geir


Tim Ellison wrote:
> Richard is probably best placed to answer that question (so I've changed
> the subject to attract his attention ;-) )
> 
> Regards,
> Tim
> 
> Nathan Beyer wrote:
>> Here are the particular failures that I'm seeing. Some seem like minor
>> things like exception discrepancies, but others like this unexpected
>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem like
>> flaws.
>>
>> BTW: if you search for "test_", it will land on the failed test methods.
>>
>> TESTROOT
>> tests.api.java.util.FormatterTest
>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest)
>> java.util.FormatterClosedException
>> 	at java.util.Formatter.ensureOpen(Formatter.java:2315)
>> 	at java.util.Formatter.out(Formatter.java:2226)
>> 	at
>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form
>> atterTest.java:183)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter
>> Test)
>> junit.framework.AssertionFailedError
>> 	at junit.framework.Assert.fail(Assert.java:47)
>> 	at junit.framework.Assert.assertTrue(Assert.java:20)
>> 	at junit.framework.Assert.assertTrue(Assert.java:27)
>> 	at
>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St
>> ring(FormatterTest.java:465)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F
>> ormatterTest)
>> java.util.IllegalFormatFlagsException: Flags = '+'
>> 	at
>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
>> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
>> 	at java.util.Formatter.parse(Formatter.java:2477)
>> 	at java.util.Formatter.format(Formatter.java:2411)
>> 	at java.util.Formatter.format(Formatter.java:2364)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_Percent(FormatterTest.java:1069)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j
>> ava.util.FormatterTest)
>> junit.framework.AssertionFailedError: should throw
>> FormatFlagsConversionMismatchException
>> 	at junit.framework.Assert.fail(Assert.java:47)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_GeneralConversion(FormatterTest.java:1264)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api
>> .java.util.FormatterTest)
>> java.util.UnknownFormatConversionException: Conversion = 'C'
>> 	at
>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
>> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
>> 	at java.util.Formatter.parse(Formatter.java:2477)
>> 	at java.util.Formatter.format(Formatter.java:2411)
>> 	at java.util.Formatter.format(Formatter.java:2364)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_CharacterConversion(FormatterTest.java:1335)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>>
>>
>>> -----Original Message-----
>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>>
>>> Nathan Beyer wrote:
>>>> Sure, no problem.
>>>>
>>>> While talking about this issue, I did want to bring up that the
>>>> FormatterTest as it stands, even before this small addendum, doesn't
>>> pass
>>>> against the RI (Sun 5.0_7).
>>> Would you mind if I'm lazy and ask why?
>>>
>>> geir
>>>
>>> This particular test isn't in the 'api' test
>>>> folder as defined by our suggested best practice, so this may not be
>>>> important, but is this expected/known?
>>>>
>>>> -Nathan
>>>>
>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
>>
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Richard Liang <ri...@gmail.com>.
Stepan Mishura wrote:
> On 7/25/06, Richard Liang wrote:
>>
>> Hello All,
>>
>> As we have further discussion about our Compatibility issues, I'd like
>> to summarize this particular problems and ask for comments. Thanks a 
>> lot.
>>
>> If we pass a null to j.u.Formatter.Formatter(Appendable a), when we try
>> to get the destination of the formatter's output by calling
>> formatter.out(), RI will thrown a java.util.FormatterClosedException.
>> But according to the specification,  the destination should be a
>> StringBuilder.
>>
>> Shall we follow RI or specification?
>>
>> (My opinion is: Following spec, and record a "Non-bug differences from
>> RI" in JIRA)
>
>
> +1 for following the spec. and filling corresponding JIRA
>

HARMONY-985[1] has been raised for this issue. Thanks a lot.

[1] http://issues.apache.org/jira/browse/HARMONY-985

Best regards,
Richard.

> Thanks,
> Stepan
>
> The following test passes on Harmony, but fails on RI.
>>    public void test_ConstructorLjava_lang_Appendable() {
>>        Formatter formatter = new Formatter((Appendable) null);
>>        Appendable out = formatter.out();
>>        assertTrue(out instanceof StringBuilder);
>>    }
>>
>>
>> <SNIP>
>>
>
> ------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>

-- 
Richard Liang
China Software Development Lab, IBM 



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Stepan Mishura <st...@gmail.com>.
On 7/25/06, Richard Liang wrote:
>
> Hello All,
>
> As we have further discussion about our Compatibility issues, I'd like
> to summarize this particular problems and ask for comments. Thanks a lot.
>
> If we pass a null to j.u.Formatter.Formatter(Appendable a), when we try
> to get the destination of the formatter's output by calling
> formatter.out(), RI will thrown a java.util.FormatterClosedException.
> But according to the specification,  the destination should be a
> StringBuilder.
>
> Shall we follow RI or specification?
>
> (My opinion is: Following spec, and record a "Non-bug differences from
> RI" in JIRA)


+1 for following the spec. and filling corresponding JIRA

Thanks,
Stepan

The following test passes on Harmony, but fails on RI.
>    public void test_ConstructorLjava_lang_Appendable() {
>        Formatter formatter = new Formatter((Appendable) null);
>        Appendable out = formatter.out();
>        assertTrue(out instanceof StringBuilder);
>    }
>
>
> <SNIP>
>

------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Tim Ellison <t....@gmail.com>.
On 25/07/06, Alexei Zakharov <al...@gmail.com> wrote:
> I've tried your test - it fails indeed. Strange, such an obvious
> violation of the spec by RI...
> +1 for filing JIRA and preserving our behavior.

I agree.

Regards,
Tim

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Alexei Zakharov <al...@gmail.com>.
Hi Richard,

I've tried your test - it fails indeed. Strange, such an obvious
violation of the spec by RI...
+1 for filing JIRA and preserving our behavior.

Regards,

2006/7/25, Richard Liang <ri...@gmail.com>:
> Hello All,
>
> As we have further discussion about our Compatibility issues, I'd like
> to summarize this particular problems and ask for comments. Thanks a lot.
>
> If we pass a null to j.u.Formatter.Formatter(Appendable a), when we try
> to get the destination of the formatter's output by calling
> formatter.out(), RI will thrown a java.util.FormatterClosedException.
> But according to the specification,  the destination should be a
> StringBuilder.
>
> Shall we follow RI or specification?
>
> (My opinion is: Following spec, and record a "Non-bug differences from
> RI" in JIRA)
>
> The following test passes on Harmony, but fails on RI.
>    public void test_ConstructorLjava_lang_Appendable() {
>        Formatter formatter = new Formatter((Appendable) null);
>        Appendable out = formatter.out();
>        assertTrue(out instanceof StringBuilder);
>    }
>
>
> Richard Liang wrote:
> > Hello All,
> >
> > Here we think it's a bug of RI. I have addressed this issue in the
> > comments of these test cases. You may want to refer to the spec of
> > java.util.Formatter.  Do you think I shall raise a "Non-bug
> > differences from RI" in JIRA? Thanks a lot.
> >
> > <quote>
> > public Formatter(Appendable a)
> >    Constructs a new formatter with the specified destination.
> >    The locale used is the default locale for this instance of the Java
> > virtual machine.
> >    Parameters:
> >        *a - Destination for the formatted output. If a is null then a
> > StringBuilder will be created.*
> > </quote>
> >
> > Tim Ellison wrote:
> >> Richard is probably best placed to answer that question (so I've changed
> >> the subject to attract his attention ;-) )
> >>
> >> Regards,
> >> Tim
> >>
> >> Nathan Beyer wrote:
> >>
> >>> Here are the particular failures that I'm seeing. Some seem like minor
> >>> things like exception discrepancies, but others like this unexpected
> >>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem
> >>> like
> >>> flaws.
> >>>
> >>> BTW: if you search for "test_", it will land on the failed test
> >>> methods.
> >>>
> >>> TESTROOT
> >>> tests.api.java.util.FormatterTest
> >>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest)
> >>>
> >>> java.util.FormatterClosedException
> >>>     at java.util.Formatter.ensureOpen(Formatter.java:2315)
> >>>     at java.util.Formatter.out(Formatter.java:2226)
> >>>     at
> >>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form
> >>>
> >>> atterTest.java:183)
> >>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>     at
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> >>>
> >>> )
> >>>     at
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> >>>
> >>> .java:25)
> >>>     at java.lang.reflect.Method.invoke(Method.java:585)
> >>>     at junit.framework.TestCase.runTest(TestCase.java:154)
> >>>     at junit.framework.TestCase.runBare(TestCase.java:127)
> >>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
> >>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
> >>>     at junit.framework.TestResult.run(TestResult.java:109)
> >>>     at junit.framework.TestCase.run(TestCase.java:118)
> >>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >>>     at junit.framework.TestSuite.run(TestSuite.java:203)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> >>>
> >>> estReference.java:128)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> >>>
> >>> 8)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:460)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:673)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> >>>
> >>> java:386)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> >>>
> >>> .java:196)
> >>>
> >>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter
> >>>
> >>> Test)
> >>> junit.framework.AssertionFailedError
> >>>     at junit.framework.Assert.fail(Assert.java:47)
> >>>     at junit.framework.Assert.assertTrue(Assert.java:20)
> >>>     at junit.framework.Assert.assertTrue(Assert.java:27)
> >>>     at
> >>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St
> >>>
> >>> ring(FormatterTest.java:465)
> >>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>     at
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> >>>
> >>> )
> >>>     at
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> >>>
> >>> .java:25)
> >>>     at java.lang.reflect.Method.invoke(Method.java:585)
> >>>     at junit.framework.TestCase.runTest(TestCase.java:154)
> >>>     at junit.framework.TestCase.runBare(TestCase.java:127)
> >>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
> >>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
> >>>     at junit.framework.TestResult.run(TestResult.java:109)
> >>>     at junit.framework.TestCase.run(TestCase.java:118)
> >>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >>>     at junit.framework.TestSuite.run(TestSuite.java:203)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> >>>
> >>> estReference.java:128)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> >>>
> >>> 8)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:460)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:673)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> >>>
> >>> java:386)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> >>>
> >>> .java:196)
> >>>
> >>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F
> >>>
> >>> ormatterTest)
> >>> java.util.IllegalFormatFlagsException: Flags = '+'
> >>>     at
> >>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
> >>>     at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
> >>>     at java.util.Formatter.parse(Formatter.java:2477)
> >>>     at java.util.Formatter.format(Formatter.java:2411)
> >>>     at java.util.Formatter.format(Formatter.java:2364)
> >>>     at
> >>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> >>>
> >>> ject_Percent(FormatterTest.java:1069)
> >>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>     at
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> >>>
> >>> )
> >>>     at
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> >>>
> >>> .java:25)
> >>>     at java.lang.reflect.Method.invoke(Method.java:585)
> >>>     at junit.framework.TestCase.runTest(TestCase.java:154)
> >>>     at junit.framework.TestCase.runBare(TestCase.java:127)
> >>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
> >>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
> >>>     at junit.framework.TestResult.run(TestResult.java:109)
> >>>     at junit.framework.TestCase.run(TestCase.java:118)
> >>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >>>     at junit.framework.TestSuite.run(TestSuite.java:203)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> >>>
> >>> estReference.java:128)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> >>>
> >>> 8)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:460)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:673)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> >>>
> >>> java:386)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> >>>
> >>> .java:196)
> >>>
> >>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j
> >>>
> >>> ava.util.FormatterTest)
> >>> junit.framework.AssertionFailedError: should throw
> >>> FormatFlagsConversionMismatchException
> >>>     at junit.framework.Assert.fail(Assert.java:47)
> >>>     at
> >>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> >>>
> >>> ject_GeneralConversion(FormatterTest.java:1264)
> >>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>     at
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> >>>
> >>> )
> >>>     at
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> >>>
> >>> .java:25)
> >>>     at java.lang.reflect.Method.invoke(Method.java:585)
> >>>     at junit.framework.TestCase.runTest(TestCase.java:154)
> >>>     at junit.framework.TestCase.runBare(TestCase.java:127)
> >>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
> >>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
> >>>     at junit.framework.TestResult.run(TestResult.java:109)
> >>>     at junit.framework.TestCase.run(TestCase.java:118)
> >>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >>>     at junit.framework.TestSuite.run(TestSuite.java:203)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> >>>
> >>> estReference.java:128)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> >>>
> >>> 8)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:460)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:673)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> >>>
> >>> java:386)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> >>>
> >>> .java:196)
> >>>
> >>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api
> >>>
> >>> .java.util.FormatterTest)
> >>> java.util.UnknownFormatConversionException: Conversion = 'C'
> >>>     at
> >>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
> >>>     at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
> >>>     at java.util.Formatter.parse(Formatter.java:2477)
> >>>     at java.util.Formatter.format(Formatter.java:2411)
> >>>     at java.util.Formatter.format(Formatter.java:2364)
> >>>     at
> >>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> >>>
> >>> ject_CharacterConversion(FormatterTest.java:1335)
> >>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>>     at
> >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> >>>
> >>> )
> >>>     at
> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> >>>
> >>> .java:25)
> >>>     at java.lang.reflect.Method.invoke(Method.java:585)
> >>>     at junit.framework.TestCase.runTest(TestCase.java:154)
> >>>     at junit.framework.TestCase.runBare(TestCase.java:127)
> >>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
> >>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
> >>>     at junit.framework.TestResult.run(TestResult.java:109)
> >>>     at junit.framework.TestCase.run(TestCase.java:118)
> >>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
> >>>     at junit.framework.TestSuite.run(TestSuite.java:203)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> >>>
> >>> estReference.java:128)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> >>>
> >>> 8)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:460)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> >>>
> >>> nner.java:673)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> >>>
> >>> java:386)
> >>>     at
> >>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> >>>
> >>> .java:196)
> >>>
> >>>
> >>>
> >>>
> >>>> -----Original Message-----
> >>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
> >>>>
> >>>> Nathan Beyer wrote:
> >>>>
> >>>>> Sure, no problem.
> >>>>>
> >>>>> While talking about this issue, I did want to bring up that the
> >>>>> FormatterTest as it stands, even before this small addendum, doesn't
> >>>>>
> >>>> pass
> >>>>
> >>>>> against the RI (Sun 5.0_7).
> >>>>>
> >>>> Would you mind if I'm lazy and ask why?
> >>>>
> >>>> geir
> >>>>
> >>>> This particular test isn't in the 'api' test
> >>>>
> >>>>> folder as defined by our suggested best practice, so this may not be
> >>>>> important, but is this expected/known?
> >>>>>
> >>>>> -Nathan
> >>>>>
> >>>>>
> >>> ---------------------------------------------------------------------
> >>> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >>>
> >>>
> >>>
> >>
> >>
> >
>
> --
> Richard Liang
> China Software Development Lab, IBM
>
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Alexei Zakharov,
Intel Middleware Product Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Richard Liang <ri...@gmail.com>.

Spark Shen wrote:
> Richard Liang 写道:
>> Hello All,
>>
>> As we have further discussion about our Compatibility issues, I'd 
>> like to summarize this particular problems and ask for comments. 
>> Thanks a lot.
>>
>> If we pass a null to j.u.Formatter.Formatter(Appendable a), when we 
>> try to get the destination of the formatter's output by calling 
>> formatter.out(), RI will thrown a java.util.FormatterClosedException. 
>> But according to the specification, the destination should be a 
>> StringBuilder.
>>
>> Shall we follow RI or specification?
>>
>> (My opinion is: Following spec, and record a "Non-bug differences 
>> from RI" in JIRA)
>>
>> The following test passes on Harmony, but fails on RI.
>> public void test_ConstructorLjava_lang_Appendable() {
>> Formatter formatter = new Formatter((Appendable) null);
>> Appendable out = formatter.out();
>> assertTrue(out instanceof StringBuilder);
>> }
>>
> Richard, I am fully agree with you. :-)
> And there are places RI behaves irrational and not compatible with RI. 
> See the test cases below:
Thanks a lot, Spark. But I think we could discuss these problems case by 
case (in separate threads).

Best regards,
Richard

> public void 
> test_formatLjava_lang_String$Ljava_lang_Object_BigDecimalConversionF() {
> f = new Formatter(Locale.US);
> f.format("%f", new BigDecimal("5.0E9"));
> // error on RI
> // RI throw ArrayIndexOutOfBoundsException
> assertEquals("5000000000.000000", f.toString());
> }
> And others [1]
> **These assertion failures can neither be categoried to test case bug 
> nor harmony implementation imcompatible.
> IMHO, fully compatible with RI on these occasions may not be 
> appropriate. Record them in JIRA may be a good idea.
>
> [1]refer to thread '[classlib] Exception throwing compatibility: 
> java.util.Scanner'
>
> BTW, this one below is not caused by java.util.Formatter itself:
>
> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St 
>
> ring(FormatterTest.java:465)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> The failed assertion is on tests.api.java.util.FormatterTest Line 474 
> : **assertTrue(notExist.delete());*
>
> *Best regards*
> *
>>
>> Richard Liang wrote:
>>> Hello All,
>>>
>>> Here we think it's a bug of RI. I have addressed this issue in the 
>>> comments of these test cases. You may want to refer to the spec of 
>>> java.util.Formatter. Do you think I shall raise a "Non-bug 
>>> differences from RI" in JIRA? Thanks a lot.
>>>
>>> <quote>
>>> public Formatter(Appendable a)
>>> Constructs a new formatter with the specified destination.
>>> The locale used is the default locale for this instance of the Java 
>>> virtual machine.
>>> Parameters:
>>> *a - Destination for the formatted output. If a is null then a 
>>> StringBuilder will be created.*
>>> </quote>
>>>
>>> Tim Ellison wrote:
>>>> Richard is probably best placed to answer that question (so I've 
>>>> changed
>>>> the subject to attract his attention ;-) )
>>>>
>>>> Regards,
>>>> Tim
>>>>
>>>> Nathan Beyer wrote:
>>>>
>>>>> Here are the particular failures that I'm seeing. Some seem like 
>>>>> minor
>>>>> things like exception discrepancies, but others like this unexpected
>>>>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" 
>>>>> seem like
>>>>> flaws.
>>>>>
>>>>> BTW: if you search for "test_", it will land on the failed test 
>>>>> methods.
>>>>>
>>>>> TESTROOT
>>>>> tests.api.java.util.FormatterTest
>>>>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest) 
>>>>>
>>>>> java.util.FormatterClosedException
>>>>> at java.util.Formatter.ensureOpen(Formatter.java:2315)
>>>>> at java.util.Formatter.out(Formatter.java:2226)
>>>>> at
>>>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form 
>>>>>
>>>>> atterTest.java:183)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>>
>>>>> )
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>>
>>>>> .java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>>
>>>>> estReference.java:128)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>>
>>>>> 8)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:460)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:673)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>>
>>>>> java:386)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>>
>>>>> .java:196)
>>>>>
>>>>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter 
>>>>>
>>>>> Test)
>>>>> junit.framework.AssertionFailedError
>>>>> at junit.framework.Assert.fail(Assert.java:47)
>>>>> at junit.framework.Assert.assertTrue(Assert.java:20)
>>>>> at junit.framework.Assert.assertTrue(Assert.java:27)
>>>>> at
>>>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St 
>>>>>
>>>>> ring(FormatterTest.java:465)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>>
>>>>> )
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>>
>>>>> .java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>>
>>>>> estReference.java:128)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>>
>>>>> 8)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:460)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:673)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>>
>>>>> java:386)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>>
>>>>> .java:196)
>>>>>
>>>>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F 
>>>>>
>>>>> ormatterTest)
>>>>> java.util.IllegalFormatFlagsException: Flags = '+'
>>>>> at
>>>>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
>>>>> at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
>>>>> at java.util.Formatter.parse(Formatter.java:2477)
>>>>> at java.util.Formatter.format(Formatter.java:2411)
>>>>> at java.util.Formatter.format(Formatter.java:2364)
>>>>> at
>>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>>
>>>>> ject_Percent(FormatterTest.java:1069)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>>
>>>>> )
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>>
>>>>> .java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>>
>>>>> estReference.java:128)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>>
>>>>> 8)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:460)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:673)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>>
>>>>> java:386)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>>
>>>>> .java:196)
>>>>>
>>>>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j 
>>>>>
>>>>> ava.util.FormatterTest)
>>>>> junit.framework.AssertionFailedError: should throw
>>>>> FormatFlagsConversionMismatchException
>>>>> at junit.framework.Assert.fail(Assert.java:47)
>>>>> at
>>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>>
>>>>> ject_GeneralConversion(FormatterTest.java:1264)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>>
>>>>> )
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>>
>>>>> .java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>>
>>>>> estReference.java:128)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>>
>>>>> 8)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:460)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:673)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>>
>>>>> java:386)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>>
>>>>> .java:196)
>>>>>
>>>>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api 
>>>>>
>>>>> .java.util.FormatterTest)
>>>>> java.util.UnknownFormatConversionException: Conversion = 'C'
>>>>> at
>>>>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
>>>>> at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
>>>>> at java.util.Formatter.parse(Formatter.java:2477)
>>>>> at java.util.Formatter.format(Formatter.java:2411)
>>>>> at java.util.Formatter.format(Formatter.java:2364)
>>>>> at
>>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>>
>>>>> ject_CharacterConversion(FormatterTest.java:1335)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>>
>>>>> )
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>>
>>>>> .java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>>
>>>>> estReference.java:128)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>>
>>>>> 8)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:460)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>>
>>>>> nner.java:673)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>>
>>>>> java:386)
>>>>> at
>>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>>
>>>>> .java:196)
>>>>>
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>>>>>
>>>>>> Nathan Beyer wrote:
>>>>>>> Sure, no problem.
>>>>>>>
>>>>>>> While talking about this issue, I did want to bring up that the
>>>>>>> FormatterTest as it stands, even before this small addendum, 
>>>>>>> doesn't
>>>>>> pass
>>>>>>> against the RI (Sun 5.0_7).
>>>>>> Would you mind if I'm lazy and ask why?
>>>>>>
>>>>>> geir
>>>>>>
>>>>>> This particular test isn't in the 'api' test
>>>>>>> folder as defined by our suggested best practice, so this may 
>>>>>>> not be
>>>>>>> important, but is this expected/known?
>>>>>>>
>>>>>>> -Nathan
>>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>>>> For additional commands, e-mail: 
>>>>> harmony-dev-help@incubator.apache.org
>>>>>
>>>>>
>>>>
>>>
>>
>
>

-- 
Richard Liang
China Software Development Lab, IBM 



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Spark Shen <sm...@gmail.com>.
Anton Luht 写道:
> Hello,
>
>> And there are places RI behaves irrational and not compatible with RI.
>
> You mean RI behaves not compatible with spec? :)
>
Hi, Anton:
*Irrational* may be not a good word, is *illogical *better?. :-) In some 
places, RI does behave differently from RI.

This can be proved by the test cases Richard and I provided earlier:
Richard's:
public void test_ConstructorLjava_lang_Appendable() {
Formatter formatter = new Formatter((Appendable) null);

*// RI will throw a java.util.FormatterClosedException here, which is 
not compatible with RI
// "If appendable is null, then a StringBuilder will be created", cited 
from spec.
* Appendable out = formatter.out();

assertTrue(out instanceof StringBuilder);
}

Mine:
public void 
test_formatLjava_lang_String$Ljava_lang_Object_BigDecimalConversionF() {
f = new Formatter(Locale.US);
f.format("%f", new BigDecimal("5.0E9"));
*// error on RI
// RI throw ArrayIndexOutOfBoundsException
// This behavior here is illogical.
* assertEquals("5000000000.000000", f.toString());
}


IMHO, following RI under these situations may not be a good choice. 
Since there seems no ubiquitous opinion about
how to deal with these differences, record them down, as Richard had 
suggested, may be a better choice.

That's the reason why some test cases do not pass on RI (Sun 5.0.7) as 
Nathan pointed out eailer. The reason is the test cases chooses to
follow Spec, but not RI's specific, sometimes odd behavior on these 
occasion.

Best regards

-- 
Spark Shen
China Software Development Lab, IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Richard Liang <ri...@gmail.com>.
Anton Luht wrote:
> Hello,
>
>> And there are places RI behaves irrational and not compatible with RI.
>
> You mean RI behaves not compatible with spec? :)
>
Kidding :-) I think it's yes: "And there are places RI behaves 
irrational and not compatible with Spec."

Best regards,
Richard

-- 
Richard Liang
China Software Development Lab, IBM 



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Anton Luht <an...@gmail.com>.
Hello,

> And there are places RI behaves irrational and not compatible with RI.

You mean RI behaves not compatible with spec? :)

-- 
Regards,
Anton Luht,
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Spark Shen <sm...@gmail.com>.
Richard Liang 写道:
> Hello All,
>
> As we have further discussion about our Compatibility issues, I'd like 
> to summarize this particular problems and ask for comments. Thanks a lot.
>
> If we pass a null to j.u.Formatter.Formatter(Appendable a), when we 
> try to get the destination of the formatter's output by calling 
> formatter.out(), RI will thrown a java.util.FormatterClosedException. 
> But according to the specification, the destination should be a 
> StringBuilder.
>
> Shall we follow RI or specification?
>
> (My opinion is: Following spec, and record a "Non-bug differences from 
> RI" in JIRA)
>
> The following test passes on Harmony, but fails on RI.
> public void test_ConstructorLjava_lang_Appendable() {
> Formatter formatter = new Formatter((Appendable) null);
> Appendable out = formatter.out();
> assertTrue(out instanceof StringBuilder);
> }
>
Richard, I am fully agree with you. :-)
And there are places RI behaves irrational and not compatible with RI. 
See the test cases below:
public void 
test_formatLjava_lang_String$Ljava_lang_Object_BigDecimalConversionF() {
f = new Formatter(Locale.US);
f.format("%f", new BigDecimal("5.0E9"));
// error on RI
// RI throw ArrayIndexOutOfBoundsException
assertEquals("5000000000.000000", f.toString());
}
And others [1]
**These assertion failures can neither be categoried to test case bug 
nor harmony implementation imcompatible.
IMHO, fully compatible with RI on these occasions may not be 
appropriate. Record them in JIRA may be a good idea.

[1]refer to thread '[classlib] Exception throwing compatibility: 
java.util.Scanner'

BTW, this one below is not caused by java.util.Formatter itself:

tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St 

ring(FormatterTest.java:465)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at

The failed assertion is on tests.api.java.util.FormatterTest Line 474 : 
**assertTrue(notExist.delete());*

*Best regards*
*
>
> Richard Liang wrote:
>> Hello All,
>>
>> Here we think it's a bug of RI. I have addressed this issue in the 
>> comments of these test cases. You may want to refer to the spec of 
>> java.util.Formatter. Do you think I shall raise a "Non-bug 
>> differences from RI" in JIRA? Thanks a lot.
>>
>> <quote>
>> public Formatter(Appendable a)
>> Constructs a new formatter with the specified destination.
>> The locale used is the default locale for this instance of the Java 
>> virtual machine.
>> Parameters:
>> *a - Destination for the formatted output. If a is null then a 
>> StringBuilder will be created.*
>> </quote>
>>
>> Tim Ellison wrote:
>>> Richard is probably best placed to answer that question (so I've 
>>> changed
>>> the subject to attract his attention ;-) )
>>>
>>> Regards,
>>> Tim
>>>
>>> Nathan Beyer wrote:
>>>
>>>> Here are the particular failures that I'm seeing. Some seem like minor
>>>> things like exception discrepancies, but others like this unexpected
>>>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem 
>>>> like
>>>> flaws.
>>>>
>>>> BTW: if you search for "test_", it will land on the failed test 
>>>> methods.
>>>>
>>>> TESTROOT
>>>> tests.api.java.util.FormatterTest
>>>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest) 
>>>>
>>>> java.util.FormatterClosedException
>>>> at java.util.Formatter.ensureOpen(Formatter.java:2315)
>>>> at java.util.Formatter.out(Formatter.java:2226)
>>>> at
>>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form 
>>>>
>>>> atterTest.java:183)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>
>>>> )
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>
>>>> .java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>
>>>> estReference.java:128)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>
>>>> 8)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:460)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:673)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>
>>>> java:386)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>
>>>> .java:196)
>>>>
>>>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter 
>>>>
>>>> Test)
>>>> junit.framework.AssertionFailedError
>>>> at junit.framework.Assert.fail(Assert.java:47)
>>>> at junit.framework.Assert.assertTrue(Assert.java:20)
>>>> at junit.framework.Assert.assertTrue(Assert.java:27)
>>>> at
>>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St 
>>>>
>>>> ring(FormatterTest.java:465)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>
>>>> )
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>
>>>> .java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>
>>>> estReference.java:128)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>
>>>> 8)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:460)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:673)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>
>>>> java:386)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>
>>>> .java:196)
>>>>
>>>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F 
>>>>
>>>> ormatterTest)
>>>> java.util.IllegalFormatFlagsException: Flags = '+'
>>>> at
>>>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
>>>> at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
>>>> at java.util.Formatter.parse(Formatter.java:2477)
>>>> at java.util.Formatter.format(Formatter.java:2411)
>>>> at java.util.Formatter.format(Formatter.java:2364)
>>>> at
>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>
>>>> ject_Percent(FormatterTest.java:1069)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>
>>>> )
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>
>>>> .java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>
>>>> estReference.java:128)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>
>>>> 8)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:460)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:673)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>
>>>> java:386)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>
>>>> .java:196)
>>>>
>>>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j 
>>>>
>>>> ava.util.FormatterTest)
>>>> junit.framework.AssertionFailedError: should throw
>>>> FormatFlagsConversionMismatchException
>>>> at junit.framework.Assert.fail(Assert.java:47)
>>>> at
>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>
>>>> ject_GeneralConversion(FormatterTest.java:1264)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>
>>>> )
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>
>>>> .java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>
>>>> estReference.java:128)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>
>>>> 8)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:460)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:673)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>
>>>> java:386)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>
>>>> .java:196)
>>>>
>>>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api 
>>>>
>>>> .java.util.FormatterTest)
>>>> java.util.UnknownFormatConversionException: Conversion = 'C'
>>>> at
>>>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
>>>> at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
>>>> at java.util.Formatter.parse(Formatter.java:2477)
>>>> at java.util.Formatter.format(Formatter.java:2411)
>>>> at java.util.Formatter.format(Formatter.java:2364)
>>>> at
>>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>>
>>>> ject_CharacterConversion(FormatterTest.java:1335)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>>
>>>> )
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>>
>>>> .java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>> at junit.framework.TestCase.runTest(TestCase.java:154)
>>>> at junit.framework.TestCase.runBare(TestCase.java:127)
>>>> at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>> at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>> at junit.framework.TestResult.run(TestResult.java:109)
>>>> at junit.framework.TestCase.run(TestCase.java:118)
>>>> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>> at junit.framework.TestSuite.run(TestSuite.java:203)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>>
>>>> estReference.java:128)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>>
>>>> 8)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:460)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>>
>>>> nner.java:673)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>>
>>>> java:386)
>>>> at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>>
>>>> .java:196)
>>>>
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>>>>
>>>>> Nathan Beyer wrote:
>>>>>> Sure, no problem.
>>>>>>
>>>>>> While talking about this issue, I did want to bring up that the
>>>>>> FormatterTest as it stands, even before this small addendum, doesn't
>>>>> pass
>>>>>> against the RI (Sun 5.0_7).
>>>>> Would you mind if I'm lazy and ask why?
>>>>>
>>>>> geir
>>>>>
>>>>> This particular test isn't in the 'api' test
>>>>>> folder as defined by our suggested best practice, so this may not be
>>>>>> important, but is this expected/known?
>>>>>>
>>>>>> -Nathan
>>>>>>
>>>> ---------------------------------------------------------------------
>>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>>
>>>>
>>>
>>
>


-- 
Spark Shen
China Software Development Lab, IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]bug-to-bug compatibility j.u.Formatter

Posted by Richard Liang <ri...@gmail.com>.
Hello All,

As we have further discussion about our Compatibility issues, I'd like 
to summarize this particular problems and ask for comments. Thanks a lot.

If we pass a null to j.u.Formatter.Formatter(Appendable a), when we try 
to get the destination of the formatter's output by calling 
formatter.out(), RI will thrown a java.util.FormatterClosedException. 
But according to the specification,  the destination should be a 
StringBuilder.

Shall we follow RI or specification?

(My opinion is: Following spec, and record a "Non-bug differences from 
RI" in JIRA)

The following test passes on Harmony, but fails on RI.
    public void test_ConstructorLjava_lang_Appendable() {
        Formatter formatter = new Formatter((Appendable) null);
        Appendable out = formatter.out();
        assertTrue(out instanceof StringBuilder);
    }


Richard Liang wrote:
> Hello All,
>
> Here we think it's a bug of RI. I have addressed this issue in the 
> comments of these test cases. You may want to refer to the spec of 
> java.util.Formatter.  Do you think I shall raise a "Non-bug 
> differences from RI" in JIRA? Thanks a lot.
>
> <quote>
> public Formatter(Appendable a)
>    Constructs a new formatter with the specified destination.
>    The locale used is the default locale for this instance of the Java 
> virtual machine.
>    Parameters:
>        *a - Destination for the formatted output. If a is null then a 
> StringBuilder will be created.*
> </quote>
>
> Tim Ellison wrote:
>> Richard is probably best placed to answer that question (so I've changed
>> the subject to attract his attention ;-) )
>>
>> Regards,
>> Tim
>>
>> Nathan Beyer wrote:
>>  
>>> Here are the particular failures that I'm seeing. Some seem like minor
>>> things like exception discrepancies, but others like this unexpected
>>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem 
>>> like
>>> flaws.
>>>
>>> BTW: if you search for "test_", it will land on the failed test 
>>> methods.
>>>
>>> TESTROOT
>>> tests.api.java.util.FormatterTest
>>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest) 
>>>
>>> java.util.FormatterClosedException
>>>     at java.util.Formatter.ensureOpen(Formatter.java:2315)
>>>     at java.util.Formatter.out(Formatter.java:2226)
>>>     at
>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form 
>>>
>>> atterTest.java:183)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>
>>> )
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>
>>> .java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>
>>> estReference.java:128)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>
>>> 8)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>
>>> java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>
>>> .java:196)
>>>
>>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter 
>>>
>>> Test)
>>> junit.framework.AssertionFailedError
>>>     at junit.framework.Assert.fail(Assert.java:47)
>>>     at junit.framework.Assert.assertTrue(Assert.java:20)
>>>     at junit.framework.Assert.assertTrue(Assert.java:27)
>>>     at
>>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St 
>>>
>>> ring(FormatterTest.java:465)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>
>>> )
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>
>>> .java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>
>>> estReference.java:128)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>
>>> 8)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>
>>> java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>
>>> .java:196)
>>>
>>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F 
>>>
>>> ormatterTest)
>>> java.util.IllegalFormatFlagsException: Flags = '+'
>>>     at
>>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
>>>     at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
>>>     at java.util.Formatter.parse(Formatter.java:2477)
>>>     at java.util.Formatter.format(Formatter.java:2411)
>>>     at java.util.Formatter.format(Formatter.java:2364)
>>>     at
>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>
>>> ject_Percent(FormatterTest.java:1069)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>
>>> )
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>
>>> .java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>
>>> estReference.java:128)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>
>>> 8)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>
>>> java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>
>>> .java:196)
>>>
>>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j 
>>>
>>> ava.util.FormatterTest)
>>> junit.framework.AssertionFailedError: should throw
>>> FormatFlagsConversionMismatchException
>>>     at junit.framework.Assert.fail(Assert.java:47)
>>>     at
>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>
>>> ject_GeneralConversion(FormatterTest.java:1264)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>
>>> )
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>
>>> .java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>
>>> estReference.java:128)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>
>>> 8)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>
>>> java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>
>>> .java:196)
>>>
>>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api 
>>>
>>> .java.util.FormatterTest)
>>> java.util.UnknownFormatConversionException: Conversion = 'C'
>>>     at
>>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
>>>     at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
>>>     at java.util.Formatter.parse(Formatter.java:2477)
>>>     at java.util.Formatter.format(Formatter.java:2411)
>>>     at java.util.Formatter.format(Formatter.java:2364)
>>>     at
>>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob 
>>>
>>> ject_CharacterConversion(FormatterTest.java:1335)
>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>     at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 
>>>
>>> )
>>>     at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl 
>>>
>>> .java:25)
>>>     at java.lang.reflect.Method.invoke(Method.java:585)
>>>     at junit.framework.TestCase.runTest(TestCase.java:154)
>>>     at junit.framework.TestCase.runBare(TestCase.java:127)
>>>     at junit.framework.TestResult$1.protect(TestResult.java:106)
>>>     at junit.framework.TestResult.runProtected(TestResult.java:124)
>>>     at junit.framework.TestResult.run(TestResult.java:109)
>>>     at junit.framework.TestCase.run(TestCase.java:118)
>>>     at junit.framework.TestSuite.runTest(TestSuite.java:208)
>>>     at junit.framework.TestSuite.run(TestSuite.java:203)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T 
>>>
>>> estReference.java:128)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3 
>>>
>>> 8)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:460)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu 
>>>
>>> nner.java:673)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. 
>>>
>>> java:386)
>>>     at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner 
>>>
>>> .java:196)
>>>
>>>
>>>
>>>    
>>>> -----Original Message-----
>>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>>>
>>>> Nathan Beyer wrote:
>>>>      
>>>>> Sure, no problem.
>>>>>
>>>>> While talking about this issue, I did want to bring up that the
>>>>> FormatterTest as it stands, even before this small addendum, doesn't
>>>>>         
>>>> pass
>>>>      
>>>>> against the RI (Sun 5.0_7).
>>>>>         
>>>> Would you mind if I'm lazy and ask why?
>>>>
>>>> geir
>>>>
>>>> This particular test isn't in the 'api' test
>>>>      
>>>>> folder as defined by our suggested best practice, so this may not be
>>>>> important, but is this expected/known?
>>>>>
>>>>> -Nathan
>>>>>
>>>>>         
>>> ---------------------------------------------------------------------
>>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>>
>>>
>>>     
>>
>>   
>

-- 
Richard Liang
China Software Development Lab, IBM 



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: [classlib]j.u.Formatter test problems on RI

Posted by Richard Liang <ri...@gmail.com>.
Hello All,

Here we think it's a bug of RI. I have addressed this issue in the 
comments of these test cases. You may want to refer to the spec of 
java.util.Formatter.  Do you think I shall raise a "Non-bug differences 
from RI" in JIRA? Thanks a lot.

<quote>
public Formatter(Appendable a)
    Constructs a new formatter with the specified destination.
    The locale used is the default locale for this instance of the Java 
virtual machine.
    Parameters:
        *a - Destination for the formatted output. If a is null then a 
StringBuilder will be created.*
</quote>

Tim Ellison wrote:
> Richard is probably best placed to answer that question (so I've changed
> the subject to attract his attention ;-) )
>
> Regards,
> Tim
>
> Nathan Beyer wrote:
>   
>> Here are the particular failures that I'm seeing. Some seem like minor
>> things like exception discrepancies, but others like this unexpected
>> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem like
>> flaws.
>>
>> BTW: if you search for "test_", it will land on the failed test methods.
>>
>> TESTROOT
>> tests.api.java.util.FormatterTest
>> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest)
>> java.util.FormatterClosedException
>> 	at java.util.Formatter.ensureOpen(Formatter.java:2315)
>> 	at java.util.Formatter.out(Formatter.java:2226)
>> 	at
>> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form
>> atterTest.java:183)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter
>> Test)
>> junit.framework.AssertionFailedError
>> 	at junit.framework.Assert.fail(Assert.java:47)
>> 	at junit.framework.Assert.assertTrue(Assert.java:20)
>> 	at junit.framework.Assert.assertTrue(Assert.java:27)
>> 	at
>> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St
>> ring(FormatterTest.java:465)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F
>> ormatterTest)
>> java.util.IllegalFormatFlagsException: Flags = '+'
>> 	at
>> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
>> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
>> 	at java.util.Formatter.parse(Formatter.java:2477)
>> 	at java.util.Formatter.format(Formatter.java:2411)
>> 	at java.util.Formatter.format(Formatter.java:2364)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_Percent(FormatterTest.java:1069)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j
>> ava.util.FormatterTest)
>> junit.framework.AssertionFailedError: should throw
>> FormatFlagsConversionMismatchException
>> 	at junit.framework.Assert.fail(Assert.java:47)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_GeneralConversion(FormatterTest.java:1264)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api
>> .java.util.FormatterTest)
>> java.util.UnknownFormatConversionException: Conversion = 'C'
>> 	at
>> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
>> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
>> 	at java.util.Formatter.parse(Formatter.java:2477)
>> 	at java.util.Formatter.format(Formatter.java:2411)
>> 	at java.util.Formatter.format(Formatter.java:2364)
>> 	at
>> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
>> ject_CharacterConversion(FormatterTest.java:1335)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
>> )
>> 	at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
>> .java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at junit.framework.TestCase.runTest(TestCase.java:154)
>> 	at junit.framework.TestCase.runBare(TestCase.java:127)
>> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
>> 	at junit.framework.TestResult.run(TestResult.java:109)
>> 	at junit.framework.TestCase.run(TestCase.java:118)
>> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
>> 	at junit.framework.TestSuite.run(TestSuite.java:203)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
>> estReference.java:128)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
>> 8)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:460)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
>> nner.java:673)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
>> java:386)
>> 	at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
>> .java:196)
>>
>>
>>
>>     
>>> -----Original Message-----
>>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>>
>>> Nathan Beyer wrote:
>>>       
>>>> Sure, no problem.
>>>>
>>>> While talking about this issue, I did want to bring up that the
>>>> FormatterTest as it stands, even before this small addendum, doesn't
>>>>         
>>> pass
>>>       
>>>> against the RI (Sun 5.0_7).
>>>>         
>>> Would you mind if I'm lazy and ask why?
>>>
>>> geir
>>>
>>> This particular test isn't in the 'api' test
>>>       
>>>> folder as defined by our suggested best practice, so this may not be
>>>> important, but is this expected/known?
>>>>
>>>> -Nathan
>>>>
>>>>         
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>>
>>
>>     
>
>   

-- 
Richard Liang
China Software Development Lab, IBM 


j.u.Formatter test problems on RI (was: Re: svn commit: r417148 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Formatter.java test/java/tests/api/java/util/FormatterTest.java)

Posted by Tim Ellison <t....@gmail.com>.
Richard is probably best placed to answer that question (so I've changed
the subject to attract his attention ;-) )

Regards,
Tim

Nathan Beyer wrote:
> Here are the particular failures that I'm seeing. Some seem like minor
> things like exception discrepancies, but others like this unexpected
> exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem like
> flaws.
> 
> BTW: if you search for "test_", it will land on the failed test methods.
> 
> TESTROOT
> tests.api.java.util.FormatterTest
> test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest)
> java.util.FormatterClosedException
> 	at java.util.Formatter.ensureOpen(Formatter.java:2315)
> 	at java.util.Formatter.out(Formatter.java:2226)
> 	at
> tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form
> atterTest.java:183)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> estReference.java:128)
> 	at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> 8)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:460)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:673)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> java:386)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> .java:196)
> 
> test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter
> Test)
> junit.framework.AssertionFailedError
> 	at junit.framework.Assert.fail(Assert.java:47)
> 	at junit.framework.Assert.assertTrue(Assert.java:20)
> 	at junit.framework.Assert.assertTrue(Assert.java:27)
> 	at
> tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St
> ring(FormatterTest.java:465)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> estReference.java:128)
> 	at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> 8)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:460)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:673)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> java:386)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> .java:196)
> 
> test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F
> ormatterTest)
> java.util.IllegalFormatFlagsException: Flags = '+'
> 	at
> java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
> 	at java.util.Formatter.parse(Formatter.java:2477)
> 	at java.util.Formatter.format(Formatter.java:2411)
> 	at java.util.Formatter.format(Formatter.java:2364)
> 	at
> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> ject_Percent(FormatterTest.java:1069)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> estReference.java:128)
> 	at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> 8)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:460)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:673)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> java:386)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> .java:196)
> 
> test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j
> ava.util.FormatterTest)
> junit.framework.AssertionFailedError: should throw
> FormatFlagsConversionMismatchException
> 	at junit.framework.Assert.fail(Assert.java:47)
> 	at
> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> ject_GeneralConversion(FormatterTest.java:1264)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> estReference.java:128)
> 	at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> 8)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:460)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:673)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> java:386)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> .java:196)
> 
> test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api
> .java.util.FormatterTest)
> java.util.UnknownFormatConversionException: Conversion = 'C'
> 	at
> java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
> 	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
> 	at java.util.Formatter.parse(Formatter.java:2477)
> 	at java.util.Formatter.format(Formatter.java:2411)
> 	at java.util.Formatter.format(Formatter.java:2364)
> 	at
> tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
> ject_CharacterConversion(FormatterTest.java:1335)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> )
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at junit.framework.TestCase.runTest(TestCase.java:154)
> 	at junit.framework.TestCase.runBare(TestCase.java:127)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
> estReference.java:128)
> 	at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
> 8)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:460)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
> nner.java:673)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
> java:386)
> 	at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
> .java:196)
> 
> 
> 
>> -----Original Message-----
>> From: Geir Magnusson Jr [mailto:geir@pobox.com]
>>
>> Nathan Beyer wrote:
>>> Sure, no problem.
>>>
>>> While talking about this issue, I did want to bring up that the
>>> FormatterTest as it stands, even before this small addendum, doesn't
>> pass
>>> against the RI (Sun 5.0_7).
>> Would you mind if I'm lazy and ask why?
>>
>> geir
>>
>> This particular test isn't in the 'api' test
>>> folder as defined by our suggested best practice, so this may not be
>>> important, but is this expected/known?
>>>
>>> -Nathan
>>>
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


RE: svn commit: r417148 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Formatter.java test/java/tests/api/java/util/FormatterTest.java

Posted by Nathan Beyer <nb...@kc.rr.com>.
Here are the particular failures that I'm seeing. Some seem like minor
things like exception discrepancies, but others like this unexpected
exception "java.util.IllegalFormatFlagsException: Flags = '+'" seem like
flaws.

BTW: if you search for "test_", it will land on the failed test methods.

TESTROOT
tests.api.java.util.FormatterTest
test_ConstructorLjava_lang_Appendable(tests.api.java.util.FormatterTest)
java.util.FormatterClosedException
	at java.util.Formatter.ensureOpen(Formatter.java:2315)
	at java.util.Formatter.out(Formatter.java:2226)
	at
tests.api.java.util.FormatterTest.test_ConstructorLjava_lang_Appendable(Form
atterTest.java:183)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
estReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:196)

test_ConstructorLjava_io_FileLjava_lang_String(tests.api.java.util.Formatter
Test)
junit.framework.AssertionFailedError
	at junit.framework.Assert.fail(Assert.java:47)
	at junit.framework.Assert.assertTrue(Assert.java:20)
	at junit.framework.Assert.assertTrue(Assert.java:27)
	at
tests.api.java.util.FormatterTest.test_ConstructorLjava_io_FileLjava_lang_St
ring(FormatterTest.java:465)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
estReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:196)

test_formatLjava_lang_String$Ljava_lang_Object_Percent(tests.api.java.util.F
ormatterTest)
java.util.IllegalFormatFlagsException: Flags = '+'
	at
java.util.Formatter$FormatSpecifier.checkText(Formatter.java:2939)
	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2644)
	at java.util.Formatter.parse(Formatter.java:2477)
	at java.util.Formatter.format(Formatter.java:2411)
	at java.util.Formatter.format(Formatter.java:2364)
	at
tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
ject_Percent(FormatterTest.java:1069)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
estReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:196)

test_formatLjava_lang_String$Ljava_lang_Object_GeneralConversion(tests.api.j
ava.util.FormatterTest)
junit.framework.AssertionFailedError: should throw
FormatFlagsConversionMismatchException
	at junit.framework.Assert.fail(Assert.java:47)
	at
tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
ject_GeneralConversion(FormatterTest.java:1264)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
estReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:196)

test_formatLjava_lang_String$Ljava_lang_Object_CharacterConversion(tests.api
.java.util.FormatterTest)
java.util.UnknownFormatConversionException: Conversion = 'C'
	at
java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2603)
	at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2631)
	at java.util.Formatter.parse(Formatter.java:2477)
	at java.util.Formatter.format(Formatter.java:2411)
	at java.util.Formatter.format(Formatter.java:2364)
	at
tests.api.java.util.FormatterTest.test_formatLjava_lang_String$Ljava_lang_Ob
ject_CharacterConversion(FormatterTest.java:1335)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
	at junit.framework.TestCase.runBare(TestCase.java:127)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
	at junit.framework.TestSuite.runTest(TestSuite.java:208)
	at junit.framework.TestSuite.run(TestSuite.java:203)
	at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3T
estReference.java:128)
	at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:673)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:386)
	at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:196)



> -----Original Message-----
> From: Geir Magnusson Jr [mailto:geir@pobox.com]
> 
> Nathan Beyer wrote:
> > Sure, no problem.
> >
> > While talking about this issue, I did want to bring up that the
> > FormatterTest as it stands, even before this small addendum, doesn't
> pass
> > against the RI (Sun 5.0_7).
> 
> Would you mind if I'm lazy and ask why?
> 
> geir
> 
> This particular test isn't in the 'api' test
> > folder as defined by our suggested best practice, so this may not be
> > important, but is this expected/known?
> >
> > -Nathan
> >


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Re: svn commit: r417148 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Formatter.java test/java/tests/api/java/util/FormatterTest.java

Posted by Geir Magnusson Jr <ge...@pobox.com>.

Nathan Beyer wrote:
> Sure, no problem.
> 
> While talking about this issue, I did want to bring up that the
> FormatterTest as it stands, even before this small addendum, doesn't pass
> against the RI (Sun 5.0_7). 

Would you mind if I'm lazy and ask why?

geir

This particular test isn't in the 'api' test
> folder as defined by our suggested best practice, so this may not be
> important, but is this expected/known?
> 
> -Nathan
> 
>> -----Original Message-----
>> From: Tim Ellison [mailto:t.p.ellison@gmail.com]
>> Sent: Monday, June 26, 2006 4:46 AM
>> To: harmony-dev@incubator.apache.org
>> Subject: Re: svn commit: r417148 - in
>> /incubator/harmony/enhanced/classlib/trunk/modules/luni/src:
>> main/java/java/util/Formatter.java
>> test/java/tests/api/java/util/FormatterTest.java
>>
>> Soory for being petty, but could you please include the JIRA title as
>> well as the JIRA number in the log message, so I can read the reason
>> without having to endure the joys of the JIRA webpages?
>>
>> Thanks
>> Tim
>>
>> ndbeyer@apache.org wrote:
>>> Author: ndbeyer
>>> Date: Mon Jun 26 02:06:44 2006
>>> New Revision: 417148
>>>
>>> URL: http://svn.apache.org/viewvc?rev=417148&view=rev
>>> Log:
>>> Apply patch for HARMONY-653.
>>>
>>> Modified:
>>>
>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/
>> util/Formatter.java
>> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests
>> /api/java/util/FormatterTest.java
>>
>> --
>>
>> Tim Ellison (t.p.ellison@gmail.com)
>> IBM Java technology centre, UK.
>>
>> ---------------------------------------------------------------------
>> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> 
> 
> 

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


RE: svn commit: r417148 - in /incubator/harmony/enhanced/classlib/trunk/modules/luni/src: main/java/java/util/Formatter.java test/java/tests/api/java/util/FormatterTest.java

Posted by Nathan Beyer <nb...@kc.rr.com>.
Sure, no problem.

While talking about this issue, I did want to bring up that the
FormatterTest as it stands, even before this small addendum, doesn't pass
against the RI (Sun 5.0_7). This particular test isn't in the 'api' test
folder as defined by our suggested best practice, so this may not be
important, but is this expected/known?

-Nathan

> -----Original Message-----
> From: Tim Ellison [mailto:t.p.ellison@gmail.com]
> Sent: Monday, June 26, 2006 4:46 AM
> To: harmony-dev@incubator.apache.org
> Subject: Re: svn commit: r417148 - in
> /incubator/harmony/enhanced/classlib/trunk/modules/luni/src:
> main/java/java/util/Formatter.java
> test/java/tests/api/java/util/FormatterTest.java
> 
> Soory for being petty, but could you please include the JIRA title as
> well as the JIRA number in the log message, so I can read the reason
> without having to endure the joys of the JIRA webpages?
> 
> Thanks
> Tim
> 
> ndbeyer@apache.org wrote:
> > Author: ndbeyer
> > Date: Mon Jun 26 02:06:44 2006
> > New Revision: 417148
> >
> > URL: http://svn.apache.org/viewvc?rev=417148&view=rev
> > Log:
> > Apply patch for HARMONY-653.
> >
> > Modified:
> >
> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/
> util/Formatter.java
> >
> incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests
> /api/java/util/FormatterTest.java
> 
> --
> 
> Tim Ellison (t.p.ellison@gmail.com)
> IBM Java technology centre, UK.
> 
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org