This is the mail archive of the
mailing list for the Mauve project.
problems with "InputStreamReader.read" tests in "java.io.Utf8Encoding"
- From: Steve Murry <stmurr at unx dot sas dot com>
- To: mauve-discuss at sources dot redhat dot com
- Date: Thu, 27 Mar 2003 09:09:28 -0500 (EST)
- Subject: problems with "InputStreamReader.read" tests in "java.io.Utf8Encoding"
(I'm reposting my earlier email due to format problems. Sorry 'bout that)
Can someone check the 'negative' testcases within java.io.Utf8Encoding.mojo
to see if these are valid tests or not? Specifically, I'm referring to the
9 testcases with data values that are declared 'test5_bytes' through
'test13_bytes'. The testcases expect a CharEncodingException when decoding
illegal UTF-8 byte strings. In some cases the UTF-8 data is incorrect and
in others it represents codepoints that have not yet been assigned (at least
for Unicode 3.2). As I read the Sun API description for InputStreamReader.read,
I would expect either MalformedInputException or UTFDataFormatException to
be thrown instead (the API description doesn't seem very precise in this area).
In fact, most of the platforms that we have run these testcases against do not
throw any type of exception at all! Only the IBM JREs throw the expected
CharConversionException. We also found the following paragraph in one
of the Sun bug descriptions:
>This is a bug in the tests. The specification of
>java.io.InputStreamReader does not require that an implementation throw
>IOExceptions on malformed input when decoding bytes in the UTF-8
>charset. That our implementation has done this historically is a bug
>that was fixed as part of 4503732.
I'm not sure I agree with this statement myself (BTW - I believe they are
referring to one of their own internal tests, not Mauve), but I'm just
trying to get Mauve's take on all of this. I would appreciate anyone's thoughts.