Hi Phil, Thanks for your inputs. Please find updated webrev for review: http://cr.openjdk.java.net/~jdv/8233696/webrev.03/ <http://cr.openjdk.java.net/~jdv/8233696/webrev.03/>
Internal Test CI is green with latest change. Thanks, Jay > On 15-Nov-2019, at 7:15 AM, Philip Race <philip.r...@oracle.com> wrote: > > It would at least be nice if tests could report : expected "a", got "A" .. as > that will be a helpful > clue if we get more such failures. > > -phil. > > On 11/14/19 1:25 AM, Jayathirth D V wrote: >> Hi Sergey, >> >> Thanks for the clarification. >> If test behavior has to be that it should fail when CAPS_LOCK is on then >> there is no need to change individual test cases where we are verifying >> alphabets. >> >> There are only 2 regression tests which try to change locking state of >> CAPS_LOCK: >> java\awt\Toolkit\LockingKeyStateTest\LockingKeyStateTest.java >> java\awt\Toolkit\Headless\HeadlessToolkit.java >> >> In case of HeadlessToolkit.java we expect to not get access to LockingState >> of the key so there is no need to update the code here. In case of >> LockingKeyState, I have added finally block to make sure that we restore key >> state in all cases. >> >> Please find updated webrev for review: >> http://cr.openjdk.java.net/~jdv/8233696/webrev.02/ >> >> Internal CI system is also green. >> >> Thanks, >> Jay >> >> -----Original Message----- >> From: Sergey Bylokhov >> Sent: Tuesday, November 12, 2019 4:53 AM >> To: Jayathirth Rao <jayathirth....@oracle.com>; Phil Race >> <philip.r...@oracle.com> >> Cc: awt-dev@openjdk.java.net; swing-...@openjdk.java.net >> Subject: Re: <Swing Dev> <AWT Dev> [14] RFR JDK-8233696:[TESTBUG]Some jtreg >> tests fail when CAPS_LOCK is ON >> >> On 11/10/19 9:15 pm, Jayathirth Rao wrote: >>> Hi Sergey, >>> >>> I tested with get and setLockingKeyState() and it is not supported in all >>> platforms. I got UnsupportedOperationException in Linux and MacOS in our >>> internal test CI system. >> But on platforms where it is supported, we can use it. >> >>> Also there can be cases where user has set CAPS_LOCK on explicitly and in >>> that case also test should pass or gracefully exit instead of throwing >>> failure. >> In this case they should fail, since expectation of the test will be >> different from the actual behavior. >> >>> And these test cases are not explicitly expecting lower case alphabets, >>> they are just taking input to check focus. >>> More analysis and how it behaves in internal test system is captured in JBS. >> This is only because we found the root cause right now, there are might be >> other tests in the problem list that had the same root cause. >> >> The right thing to do is to check all tests which press key modifiers such >> as capslock/shift/alt/meta and confirm that all of them release these keys >> on all code paths. >> >>> @Phil : Yes we should use equalsIgnoreCase() that would be more cleaner >>> approach. I will update the webrev. >>> >>> Thanks, >>> Jay >>> >>>> On 08-Nov-2019, at 2:27 AM, Sergey Bylokhov <sergey.bylok...@oracle.com >>>> <mailto:sergey.bylok...@oracle.com>> wrote: >>>> >>>> On 11/7/19 4:23 am, Jayathirth D V wrote: >>>>> Solution : I tried many things like finding test cases where we >>>>> might not be restoring the CAPS_LOCK state or using >>>>> get/setLockingKeyState(). But they were not feasible solutions >>>> Why this solution does not work? >>>> >>>>> so I am modifying the test cases which are failing because of CAPS_LOCK >>>>> state to have proper checks. More details are in the bug. >>>> I am not sure that this is the right thing to do if the test enters >>>> some text in the text field and expects the low case text, then the text >>>> field should not return uppercase. >>>> >>>> Otherwise you need to check other combinations when the shift/cmd/ctrl >>>> were pressed by other test. >>>> >>>> -- >>>> Best regards, Sergey. >>