|
From: Harald O. <har...@el...> - 2019-10-12 13:56:14
|
Am 12.10.2019 um 14:19 schrieb Francois Vogel:
>
> Le 12/10/2019 à 10:07, Harald Oehlmann a écrit :
>> Checkout is 440d0d87.
>> I tested it against 8.6.6rc0
>>
>> The result for bind-32.2 is now:
>>
>> ==== bind-34.2 -warp works relatively to the screen FAILED
>> ==== Contents of test case:
>>
>> # Contrary to bind-34.1, we're directly checking screen coordinates
>> event generate {} <Motion> -x 20 -y 20 -warp 1
>> update idletasks ; # DoWarp is an idle callback
>> set res [winfo pointerxy .]
>> event generate {} <Motion> -x 200 -y 200 -warp 1
>> update idletasks ; # DoWarp is an idle callback
>> lappend res {*}[winfo pointerxy .]
>>
>> ---- Result was:
>> 628 651 200 200
>> ---- Result should have been (exact matching):
>> 20 20 200 200
>
> This results indicates that the idle callback 'DoWarp' is not executed
> at the time the test expects it to be.
>
> The command
> event generate {} <Motion> -x 20 -y 20 -warp 1
> schedules an idle callback 'DoWarp'.
>
> We want this callback to be serviced before requesting the pointer
> position through
> set res [winfo pointerxy .]
> and that's why I'm calling 'update idletasks' in between these two
> statements.
>
> If I remove this 'update idletasks', then I reproduce the behavior
> you're seeing, this is normal and expected.
>
> But it shouldn't happen with the 'update idletasks'.
> The test works on my system and I simply have no idea why it doesn't on
> yours.
>
> Can you start debugging this? It's hard for me to guess since I don't
> reproduce.
>
> The first thing to check is that in wish the following command:
> event generate {} <Motion> -x 20 -y 20 -warp 1
> moves the pointer at the correct position (20,20) in screen coordinates.
> I'm sure it does so this should be a timing/event issue specific to the
> test. Then, look at how the test can be improved to make it more robust
> (against... what exactly...?)
>
> Thanks,
> Francois
>
I have tried it manually, copy the test into wish: works always
I have tried it multiple times:
nmake -f Makefile.vc test TESTFLAGS="-file bind.test -match bind-34.2
-verbose bte"
Result: 5 ok, 2 failures. So, roughly 1 of 3 fail.
THank you,
Harald
|