[OpenJDK 2D-Dev] [9]JDK-6949753:[TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop
Philip Race
philip.race at oracle.com
Wed Jun 7 22:01:44 UTC 2017
.. and please make sure all lines are <= 80 chars as per the coding
standards.
-phil.
On 6/6/17, 11:59 PM, Prasanta Sadhukhan wrote:
>
> do_test() does not need to be under EDT as it invokes printer
> pagedialog and not swing components. Actually, createUI() needs to be
> under EDT which has not been done.
>
> Also,
> 79 SwingUtilities.invokeAndWait(() -> {
> 80 test.disposeUI();
> 81 });
> 82 }
> should be called before you throw RuntimeException when test times out .
> There is no need of calling this after
> 75 if (test.testResult == false) {
> 76 throw new RuntimeException("Test Failed.");
> 77 }
> as it has already been called in pass/fail actionlistener.
>
> Also, put a sleep after T1.start() and do_test() otherwise since they are in separate thread, in mycase, pagedialog is displayed before test instructions dialog.
>
> Regards
> Prasanta
> On 6/7/2017 11:50 AM, Shashidhara Veerabhadraiah wrote:
>>
>> Hi All,
>>
>> I have altered the manual test template per the comments.
>>
>> 1.Have moved the test instructions window under newly created thread.
>>
>> 2.Have moved the print dialog(main test module) under EDT.
>>
>> 3.Timer management shall be done on the main thread.
>>
>> I have placed the updated Webrev @
>> http://cr.openjdk.java.net/~pkbalakr/shashi/6949753/webrev_03/
>> <http://cr.openjdk.java.net/%7Epkbalakr/shashi/6949753/webrev_03/>
>>
>> Please let me know if any comments on it.
>>
>> Thanks and regards,
>>
>> Shashi
>>
>> *From:*Prasanta Sadhukhan
>> *Sent:* Tuesday, June 6, 2017 11:52 AM
>> *To:* Shashidhara Veerabhadraiah
>> <shashidhara.veerabhadraiah at oracle.com>; 2d-dev at openjdk.java.net
>> *Cc:* Philip Race <philip.race at oracle.com>
>> *Subject:* Re: [9]JDK-6949753:[TEST BUG]:
>> java/awt/print/PageFormat/PDialogTest.java needs update by removing a
>> infinite loop
>>
>> As I told, pageDialog is modal so latch.await() will not be called if
>> user does not close the page dialog or do any interaction. The actual
>> test
>>
>> 59 PageFormat pageFormat = new PageFormat();
>> 60
>> 61 createNewPrintPageSetup(pageFormat);
>> 62
>> 63 setValuesForPrintPageSetup(pageFormat, 2);
>> 64
>> 65 createNewPrintPageSetup(pageFormat);
>> 66
>> 67 setValuesForPrintPageSetup(pageFormat, 3);
>> 68
>> 69 createNewPrintPageSetup(pageFormat);
>>
>>
>> should be done in other thread.
>>
>> Regards
>> Prasanta
>>
>> On 6/6/2017 11:24 AM, Shashidhara Veerabhadraiah wrote:
>>
>> The manual test template that I received from the team seems
>> buggy and an older version it seems. I have modified the same per
>> your inputs and now placed the updated Webrev at
>> http://cr.openjdk.java.net/~pkbalakr/shashi/6949753/webrev_02/
>> <http://cr.openjdk.java.net/%7Epkbalakr/shashi/6949753/webrev_02/>.
>>
>> Thanks and regards,
>>
>> Shashi
>>
>> *From:*Prasanta Sadhukhan
>> *Sent:* Monday, June 5, 2017 12:35 PM
>> *To:* Shashidhara Veerabhadraiah
>> <shashidhara.veerabhadraiah at oracle.com>
>> <mailto:shashidhara.veerabhadraiah at oracle.com>;
>> 2d-dev at openjdk.java.net <mailto:2d-dev at openjdk.java.net>
>> *Cc:* Philip Race <philip.race at oracle.com>
>> <mailto:philip.race at oracle.com>
>> *Subject:* Re: [9]JDK-6949753:[TEST BUG]:
>> java/awt/print/PageFormat/PDialogTest.java needs update by
>> removing a infinite loop
>>
>> I guess there is one more problem in usage of CountDown latch.
>> Have you seen this test fail with timeout even if you wait for 5
>> minutes as per your timeout period?
>>
>> latch.await() needs to be wait on main thread while the test
>> needs to be executed in another thread otherwise, pageDialog
>> being modal the control will not come to latch.await()
>>
>> Iguess you need to do this.
>>
>> TestUI test = new TestUI(latch);
>> Thread T1 = new Thread(test);
>> T1.start();
>>
>> class TestUI implements Runnable {
>> ...
>> @Override
>> public void run() {
>> try {
>> createUI();
>>
>> Regards
>> Prasanta
>>
>> On 6/2/2017 4:00 PM, Shashidhara Veerabhadraiah wrote:
>>
>> Hi, I have fixed the comments below and updated the webrev @
>> http://cr.openjdk.java.net/~pkbalakr/shashi/6949753/webrev_01/ <http://cr.openjdk.java.net/%7Epkbalakr/shashi/6949753/webrev_01/>
>>
>> Thanks and regards,
>>
>> Shashi
>>
>> *From:*Prasanta Sadhukhan
>> *Sent:* Friday, June 2, 2017 12:36 PM
>> *To:* Shashidhara Veerabhadraiah
>> <shashidhara.veerabhadraiah at oracle.com>
>> <mailto:shashidhara.veerabhadraiah at oracle.com>;
>> 2d-dev at openjdk.java.net <mailto:2d-dev at openjdk.java.net>
>> *Cc:* Philip Race <philip.race at oracle.com>
>> <mailto:philip.race at oracle.com>
>> *Subject:* Re: [9]JDK-6949753:[TEST BUG]:
>> java/awt/print/PageFormat/PDialogTest.java needs update by
>> removing a infinite loop
>>
>> Test fix look ok. Only thing is, you can call getPrinterJob()
>> once and reutilise instead of calling 3 times and probably
>> there is no need of creating a
>> functioncreateNewPrintPageSetup() for it (as it calls 1
>> method) but it is upto you.
>>
>> Few comments:
>>
>> Copyright should have "," after 2017.
>> I guess createUI() does not have any call that throws
>> exception so no need to have try-catch block for createUI().
>> Also, there is no need to catch PrinterException and rethrow
>> RuntimeException, so you can do away with that try-catch.
>> Also, you can call disposeUI() in passButton and failButton
>> actionlistener instead of in main(). Also, there is no need
>> to do setVisible(false) in disposeUI(), dispose() will take
>> care of that.
>> You can throw RuntimeException when test timed out (instead
>> of just println and later getting test fail exception) which
>> is different from Test Failed RuntimeException.
>>
>> Regards
>> Prasanta
>>
>> On 6/1/2017 5:10 PM, Shashidhara Veerabhadraiah wrote:
>>
>> Hi All,
>>
>> Please review a fix for a test bug which contained an infinite loop to test the printer setup dialog's margin attributes retention without the manual step procedure.
>>
>>
>>
>> The issue with PDialogTest.java which tests the printer setup dialog's margin attributes retention by having as infinite loop to keep popping up the dialog without a proper exit. The test does not cover the instruction steps necessary to properly test dialog's margin attributes retention.
>>
>>
>>
>> The updated test file includes the standard manual test template along with test cases to cover the printer dialog's margin attributes retention feature.
>>
>>
>>
>> Bug:
>>
>> <https://bugs.openjdk.java.net/browse/JDK-6949753>
>>
>>
>>
>> Webrev:
>>
>> <http://cr.openjdk.java.net/~pkbalakr/shashi/6949753/webrev_00/> <http://cr.openjdk.java.net/%7Epkbalakr/shashi/6949753/webrev_00/>
>>
>>
>>
>> Note : PrintDialog on Mac does not show page margins and hence this test does not run on Mac.
>>
>>
>>
>> Thanks and regards,
>>
>> Shashi
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20170607/5349bd86/attachment-0001.html>
More information about the 2d-dev
mailing list