[OpenJDK 2D-Dev] RFR: 8215537: [TEST_BUG] java/awt/print/PrinterJob/LandscapeStackOverflow.java fails by timeout [v2]
Phil Race
prr at openjdk.java.net
Tue Jan 5 16:36:57 UTC 2021
On Mon, 4 Jan 2021 20:31:56 GMT, Phil Race <prr at openjdk.org> wrote:
>> Prasanta Sadhukhan has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fail the test if no printer is found
>
> test/jdk/java/awt/print/PrinterJob/LandscapeStackOverflow.java line 50:
>
>> 48: PrintService defaultPrtSrv = PrintServiceLookup.lookupDefaultPrintService();
>> 49: if (printjob.getPrintService() == null || defaultPrtSrv == null) {
>> 50: throw new RuntimeException("No printer found");
>
> We need to make this more robust.
> The checks should be before we create the pritner job and should be to find ANY printer and none
> throws the excepton, but if there is only a non-default one, set that as the printer for the job after creating the job.
>
> That may not matter on Windows but on other platforms I am sure you can have printers, but not a default one.
> if (printService.length == 1) {
So if there are two, you do nothing ?
I was thinking of code like this
PrintService[] printService = PrinterJob.lookupPrintServices();
if (printService.length == 0) {
throw new RuntimeException("no printer found");
}
PrinterJob printjob = PrinterJob.getPrinterJob();
if (printjob.getPrintService() == null) {
printjob.setPrintService(printService[0]);
}
-------------
PR: https://git.openjdk.java.net/jdk/pull/1927
More information about the 2d-dev
mailing list