[OpenJDK 2D-Dev] JDK 9 RFR of JDK-8148914: BitDepth.java test fails

Brian Burkhalter brian.burkhalter at oracle.com
Mon Feb 15 19:39:15 UTC 2016


Hi Joe,

Might it not be better to modify testWriteRGB() to do something like this (code neither compiled nor tested):

ImageTypeSpecifier spec = new ImageTypeSpecifier(bi);
Iterator<ImageWriter> writers = ImageIO.getImageWriters(spec, format).next();
File file = new File("BitDepth_" + biTypeNames[type] + "." + format);
if (!writers.hasNext()) {
    System.out.println(“No writers available for type “ + biTypeNames[type]
                       + " BufferedImage!");
} else {
    ImageWriter writer = writers.next();
    try (ImageOutputStream out = ImageIO.createImageOutputStream(file)) {
        writer.setOutput(out);
        writer.write(bi);
    } catch (Exception e) {
        System.out.println("Can't write a type “ + biTypeNames[type]
                           + " BufferedImage!");
    }
}

return file;

Thanks,

Brian

On Feb 15, 2016, at 9:35 AM, joe darcy <joe.darcy at oracle.com> wrote:

> Any comments on this?
> 
> Thanks,
> 
> -Joe
> 
> On 2/11/2016 6:00 PM, joe darcy wrote:
>> Hello,
>> 
>> Please review a candidate fix for
>> 
>>    JDK-8148914: BitDepth.java test fails
>> 
>> In brief, OpenJDK supports two fewer buffered image formats for jpg than the closed JDK does. I've modified the BitDepth test to allow for this difference. Patch below; webrev at
>> 
>>    http://cr.openjdk.java.net/~darcy/8148914.0/
>> 
>> Thanks,
>> 
>> -Joe
>> 
>> --- a/test/javax/imageio/plugins/shared/BitDepth.java    Thu Feb 11 16:24:55 2016 -0800
>> +++ b/test/javax/imageio/plugins/shared/BitDepth.java    Thu Feb 11 17:26:23 2016 -0800
>> @@ -130,11 +130,7 @@
>> 
>>         boolean allOK = true;
>> 
>> -        for (int i = 0; i < biRGBTypes.length; i++) {
>> -
>> -            int type = biRGBTypes[i];
>> -
>> -
>> +        for (int type : biRGBTypes) {
>>             // TODO: remove the following 'if' block after the 8147448 fix
>>             if ( format.toLowerCase().equals("bmp") && (
>>                 (type == BufferedImage.TYPE_INT_ARGB       ) ||
>> @@ -151,12 +147,23 @@
>> 
>>             System.out.println("Testing " + format +
>>                                " writer for type " + biTypeNames[type]);
>> -            File f = testWriteRGB(format, type);
>> -            boolean ok = testReadRGB(f);
>> -            if (ok) {
>> -                f.delete();
>> +            boolean ok = false;
>> +            File f = null;
>> +            try {
>> +                f = testWriteRGB(format, type);
>> +                ok = testReadRGB(f);
>> +            } catch (javax.imageio.IIOException e) {
>> +                // The follow two formats are not supported on OpenJDK
>> +                if (format.toLowerCase().equals("jpg") &&
>> +                    (type == BufferedImage.TYPE_4BYTE_ABGR ||
>> +                     type == BufferedImage.TYPE_4BYTE_ABGR_PRE))
>> +                    continue;
>> +            } finally {
>> +                if (ok) {
>> +                    f.delete();
>> +                }
>> +                allOK = allOK && (ok || f == null);
>>             }
>> -            allOK = allOK && ok;
>>         }
>> 
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20160215/3761029f/attachment.html>


More information about the 2d-dev mailing list