classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] Re: DataFormat.equals() reimplemented


From: Mark Wielaard
Subject: [cp-patches] Re: DataFormat.equals() reimplemented
Date: Tue, 26 Jul 2005 16:44:12 +0200

Hi David,

On Tue, 2005-07-26 at 15:22 +0000, David Gilbert wrote:
> I wasn't sure from your description exactly which test fails.

Only number 10 fails. Where you set the TimeZone of the Calendar to a
new one with the same rules.

> I can't run the tests against Classpath myself right now because just
> today my 'jamvm' stopped working:
> 
> address@hidden ~/workspace/mauve $ jamvm -classpath .
> gnu.testlet.SimpleTestHarness -file DateFormatTests.txt -debug -verbose
> Cannot create system class loader
> Exception occured while printing exception (java/lang/RuntimeException)...
> Original exception was java/lang/NoSuchFieldError

Probably the new vm interface changes.
Add something like the following to your VMClassLoader.java override:
  static boolean USE_VM_CACHE = false;

> From memory, I used the hint in the Sun Java bug reports that
> DateFormat.equals() relies on the "equivalence" of the Calendars rather
> than their equality, and made the tests by guessing what "equivalence"
> means.   I don't recall if the JCL book had any more details that I
> relied on - I have a copy at home, so I'll take a look at that tonight.

It isn't completely precise so I did guess what the essential
equivalences for the different fields/properties should be as documented
in the new method docs.

I'll commit what I have now since it seems there is no clear/good
description of the behavior of this method anyway. It is clearly better
then we have now and it fixes a little issue with a program that I tried
to get working. If you feel the TimeZones should be compared differently
please yell and scream and we must try to figure out how and why. But it
looks like a really obscure corner case.

> Note that when I run the tests against the JDK, I get the following results:

> FAIL: gnu.testlet.java.text.DateFormat.equals: uncaught exception:
> java.lang.NullPointerException
> java.lang.NullPointerException
>         at java.text.DateFormat.equals(DateFormat.java:631)
>         at java.text.SimpleDateFormat.equals(SimpleDateFormat.java:1854)
>         at gnu.testlet.java.text.DateFormat.equals.test(equals.java:116)
>         at gnu.testlet.SimpleTestHarness.runtest(SimpleTestHarness.java:272)
>         at gnu.testlet.SimpleTestHarness.main(SimpleTestHarness.java:421)
> 1 of 16 tests failed

That looks like a bug in their implementation not one in the test.

Thanks,

Mark

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]