WindowTreeClientClientTests consistently fail first run |
||||
Issue description
Run: hide_tests ./out/cros/aura_unittests --gtest_filter=*WindowTreeClientClientTest*Input*
Currently two tests fail on the first pass, but in subsequent retries of an entire test suite, they pass:
WindowTreeClientClientTest.InputMouseEventNoWindow
WindowTreeClientClientTestHighDPI.InputEventsInDip
../../ui/aura/mus/window_tree_client_unittest.cc:1164: Failure
Expected: gfx::Point()
Which is: 0,0
To be equal to: env->last_mouse_location()
Which is: 20,30
[ FAILED ] WindowTreeClientClientTest.InputMouseEventNoWindow (67 ms)
../../ui/aura/mus/window_tree_client_unittest.cc:2408: Failure
Expected: 2.0f
Which is: 2
To be equal to: display.device_scale_factor()
Which is: 1
[ FAILED ] WindowTreeClientClientTestHighDPI.InputEventsInDip (62 ms)
,
Aug 16 2017
This is because aura::Env is created once for the entire test suite. This persists state across tests. I'll add a method for tests to reset the state.
,
Aug 18 2017
,
Aug 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8607ee85a9d0e256b1e25d163090cdf026751b31 commit 8607ee85a9d0e256b1e25d163090cdf026751b31 Author: Jonathan <jonross@chromium.org> Date: Fri Aug 18 20:26:33 2017 Reset Aura Env between tests A series of aura_unittests were failing consistently on the first attempt, but passing when ran in isolation. WindowTreeClientClientTest, WindowTreeClientClientTestHighDPI, WindowEventDispatcherTest This is because display scale factors are preserved between tests, ignoring newly set command line flags. Furthermore input event states were also persisting between runs. EnvTestHelper has been updated to clear out mouse location and the global EnvInputStateController. AuraTestHelper has been updated to clear forced device scales between tests. TEST= aura_unittests Bug: 756125 Change-Id: I207f03a2ad263345d212f6571e194ceb7f8e573d Reviewed-on: https://chromium-review.googlesource.com/621509 Commit-Queue: Jonathan Ross <jonross@chromium.org> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Cr-Commit-Position: refs/heads/master@{#495667} [modify] https://crrev.com/8607ee85a9d0e256b1e25d163090cdf026751b31/ui/aura/env_input_state_controller.h [modify] https://crrev.com/8607ee85a9d0e256b1e25d163090cdf026751b31/ui/aura/test/aura_test_helper.cc [modify] https://crrev.com/8607ee85a9d0e256b1e25d163090cdf026751b31/ui/aura/test/env_test_helper.h
,
Aug 21 2017
,
Jan 22 2018
|
||||
►
Sign in to add a comment |
||||
Comment 1 by varkha@chromium.org
, Aug 16 2017Labels: OS-Chrome
The tests that fail the first time when running aura_unittests: [ RUN ] WindowTreeClientClientTest.InputMouseEventNoWindow ../../ui/aura/mus/window_tree_client_unittest.cc:1164: Failure Expected: gfx::Point() Which is: 0,0 To be equal to: env->last_mouse_location() Which is: 20,30 [ FAILED ] WindowTreeClientClientTest.InputMouseEventNoWindow (7 ms) [ RUN ] WindowTreeClientClientTestHighDPI.NewTopLevelWindowBounds ../../ui/aura/mus/window_tree_client_unittest.cc:2363: Failure Expected: gfx::Rect(0, 0, 3, 4) Which is: 0,0 3x4 To be equal to: top_level->bounds() Which is: 0,0 6x8 [ FAILED ] WindowTreeClientClientTestHighDPI.NewTopLevelWindowBounds (5 ms) [ RUN ] WindowTreeClientClientTestHighDPI.PointerEventsInDip ../../ui/aura/mus/window_tree_client_unittest.cc:2370: Failure Expected: 2.0f Which is: 2 To be equal to: primary_display.device_scale_factor() Which is: 1 [ FAILED ] WindowTreeClientClientTestHighDPI.PointerEventsInDip (8 ms) [ RUN ] WindowTreeClientClientTestHighDPI.InputEventsInDip ../../ui/aura/mus/window_tree_client_unittest.cc:2408: Failure Expected: 2.0f Which is: 2 To be equal to: display.device_scale_factor() Which is: 1 [ FAILED ] WindowTreeClientClientTestHighDPI.InputEventsInDip (6 ms) [ RUN ] WindowEventDispatcherTest.OnHostMouseEvent/0 ../../ui/aura/window_event_dispatcher_unittest.cc:138: Failure Expected: 1 To be equal to: delegate1->non_client_count() Which is: 0 ../../ui/aura/window_event_dispatcher_unittest.cc:141: Failure Expected: gfx::Point(1, 1) Which is: 1,1 To be equal to: delegate1->non_client_location() Which is: 0,0 ../../ui/aura/window_event_dispatcher_unittest.cc:143: Failure Expected: 1 To be equal to: delegate1->mouse_event_count() Which is: 0 ../../ui/aura/window_event_dispatcher_unittest.cc:146: Failure Expected: gfx::Point(1, 1) Which is: 1,1 To be equal to: delegate1->mouse_event_location() Which is: 0,0 ../../ui/aura/window_event_dispatcher_unittest.cc:148: Failure Value of: delegate1->mouse_event_flags() & ui::EF_IS_NON_CLIENT Actual: false Expected: true [ FAILED ] WindowEventDispatcherTest.OnHostMouseEvent/0, where GetParam() = 4-byte object <00-00 00-00> (27 ms) [ RUN ] WindowEventDispatcherTest.OnHostMouseEvent/1 ../../ui/aura/window_event_dispatcher_unittest.cc:138: Failure Expected: 1 To be equal to: delegate1->non_client_count() Which is: 0 ../../ui/aura/window_event_dispatcher_unittest.cc:141: Failure Expected: gfx::Point(1, 1) Which is: 1,1 To be equal to: delegate1->non_client_location() Which is: 0,0 ../../ui/aura/window_event_dispatcher_unittest.cc:143: Failure Expected: 1 To be equal to: delegate1->mouse_event_count() Which is: 0 ../../ui/aura/window_event_dispatcher_unittest.cc:146: Failure Expected: gfx::Point(1, 1) Which is: 1,1 To be equal to: delegate1->mouse_event_location() Which is: 0,0 ../../ui/aura/window_event_dispatcher_unittest.cc:148: Failure Value of: delegate1->mouse_event_flags() & ui::EF_IS_NON_CLIENT Actual: false Expected: true [ FAILED ] WindowEventDispatcherTest.OnHostMouseEvent/1, where GetParam() = 4-byte object <01-00 00-00> (14 ms) [ RUN ] WindowEventDispatcherTest.TouchDownState/0 ../../ui/aura/window_event_dispatcher_unittest.cc:200: Failure Value of: Env::GetInstance()->is_touch_down() Actual: true Expected: false [ FAILED ] WindowEventDispatcherTest.TouchDownState/0, where GetParam() = 4-byte object <00-00 00-00> (27 ms) [ RUN ] WindowEventDispatcherTest.TouchDownState/1 ../../ui/aura/window_event_dispatcher_unittest.cc:200: Failure Value of: Env::GetInstance()->is_touch_down() Actual: true Expected: false [ FAILED ] WindowEventDispatcherTest.TouchDownState/1, where GetParam() = 4-byte object <01-00 00-00> (11 ms) And then they [always] pass on the second try: Retrying 8 tests (retry #1) [414/421] WindowTreeClientClientTestHighDPI.PointerEventsInDip (28 ms) [415/421] WindowTreeClientClientTestHighDPI.NewTopLevelWindowBounds (25 ms) [416/421] WindowTreeClientClientTestHighDPI.InputEventsInDip (28 ms) [417/421] WindowTreeClientClientTest.InputMouseEventNoWindow (27 ms) [418/421] WindowEventDispatcherTest.TouchDownState/1 (27 ms) [419/421] WindowEventDispatcherTest.TouchDownState/0 (48 ms) [420/421] WindowEventDispatcherTest.OnHostMouseEvent/1 (27 ms) [421/421] WindowEventDispatcherTest.OnHostMouseEvent/0 (49 ms) SUCCESS: all tests passed.