Ok. Updated webrev just in case we are not reading the protocol wrongly.

http://cr.openjdk.java.net/~psadhukhan/8170578/webrev.02/

Regards
Prasanta
On 1/12/2017 8:04 AM, Philip Race wrote:
I am looking at this and the hold up is I can't remember the protocol readIPPResponse() is trying to follow. Without that understanding it is hard to say much .. so I need to go read
up and remember ..

Two  comments : There is an extra space in
if (responseMap.length > 1) {
The test update is bogus in referring to this bug. The change is nothing to do with the bug. And I actually prefer printer tests to throw nasty exceptions when there are no printers and they need one ... else SQE just don't configure printers on test systems and the tests all wrongly pass.
Would you run Linux UI tests on a blade with no X-server running ?

-phil.

On 1/10/17, 1:14 AM, Prasanta Sadhukhan wrote:



On 1/10/2017 2:43 PM, Prasanta Sadhukhan wrote:
Actually, in ubuntu16.10 attribute map did not have "page-ranges-supported" attribute because 2 attribute hashmap is created in IPPPrintService#readIPPResponse() and most of the supported attributes are part of the 2nd hashmap (responseMap[1]) whereas only the 1st hashmap is utilised through responseMap[0] [http://hg.openjdk.java.net/jdk9/client/jdk/file/8be0bb1aa238/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1760]

As to why 2 hashmaps are created in ubuntu16.10, it is because readIPPResponse() checks if key is already present in existing map, then create a new hashmap through this code <http://hg.openjdk.java.net/jdk9/client/jdk/file/8be0bb1aa238/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1887> and in ubuntu16.10, some attributes (like pwg-raster-document-type-supported which is not there in ubuntu 14.04] are duplicated.

Proposed fix is to check if there are more than 1 hashmaps, if it is, get the entries from those maps, remove duplicate entries and append to existing hashmap to get a consolidated map having all the IPP attributes.

Missing webrev link: http://cr.openjdk.java.net/~psadhukhan/8170578/webrev.01/
Regards
Prasanta
On 12/21/2016 11:28 PM, Phil Race wrote:
So now I am very suspicious.
First (previous fix I reviewed) Job Sheets weren't supported on 16.10, now its PageRanges.

I think this merits investigation of what is going on before we commit this fix. Why are attributes that have always been supported by CUPS suddenly unavailable ?

And for the cases we image the pages ourselves, we can implement PageRanges internally, so for a normal PrinterJob it always can be supported .. regardless of
what the printer says.

-phil.


On 12/14/2016 09:50 PM, Prasanta Sadhukhan wrote:

Hi All,

Please review a testbug fix for jdk9 for an issue where it it seen that PageRanges option is disabled in printer dialog in ubuntu16.10.

Bug: https://bugs.openjdk.java.net/browse/JDK-8170578

webrev: http://cr.openjdk.java.net/~psadhukhan/8170578/webrev.00/

Issue was, in ubuntu16.10 the attribute map [obtained here http://hg.openjdk.java.net/jdk9/client/jdk/file/dc658d7dde90/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1767]
does not have
"pageranges-supported" attribute returned by CUPS
so this category is not added to supported categories
[http://hg.openjdk.java.net/jdk9/client/jdk/file/7f09d558b044/src/java.desktop/unix/classes/sun/print/IPPPrintService.java#l1030]
so isAttributeCategorySupported() called by ServiceDialog returns false
[http://hg.openjdk.java.net/jdk9/client/jdk/file/7f09d558b044/src/java.desktop/share/classes/sun/print/ServiceDialog.java#l1141]
resulting in PageRanges option getting disabled.

Fix is to check if PageRanges category is supported in underlying platform, only then proceed with the test.

Regards
Prasanta




Reply via email to