mash_unittests OverflowButtonActiveInkDropTest.TouchContextMenu is flaky |
||||||||
Issue descriptionThis test causes recurring failures on the Linux ChromiumOS Ozone Tests builder (https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Tests%20%281%29). Maybe we should do the same thing in this CL (https://codereview.chromium.org/2718763003) for this test: if (WmShell::Get()->IsRunningInMash()) return;
,
Feb 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/98d7a599f145f9e5ad5b5f6a47dc1998045f16c8 commit 98d7a599f145f9e5ad5b5f6a47dc1998045f16c8 Author: sky <sky@chromium.org> Date: Tue Feb 28 00:18:35 2017 mash: makes OverflowButtonActiveInkDropTest.TouchContextMenu early out It appears to be flaky. BUG= 696769 , 695751 TEST=test only change R=msw@chromium.org TBR=msw@chromium.org Review-Url: https://codereview.chromium.org/2719973003 Cr-Commit-Position: refs/heads/master@{#453408} [modify] https://crrev.com/98d7a599f145f9e5ad5b5f6a47dc1998045f16c8/ash/shelf/shelf_view_unittest.cc
,
Feb 28 2017
,
Mar 21 2017
It's back, runing my try jobs: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/344720 failures: OverflowButtonActiveInkDropTest.TouchDragOutAndBack OverflowButtonActiveInkDropTest.TouchContextMenu OverflowButtonInkDropTest.TouchActivate OverflowButtonActiveInkDropTest.TouchDragOut OverflowButtonActiveInkDropTest.MouseDragOutAndBack
,
Mar 21 2017
Another: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/344693 On https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng?numbuilds=200 , 35 of the last 200 builds had a mash_unittests failure, so 17.5% of try jobs or so currently seem to fail because of this.
,
Mar 22 2017
I'll take a look at this tomorrow. James, might this be from https://codereview.chromium.org/2752903002 ?
,
Mar 22 2017
+tdanderson. Who on your team knows the ink drop / ripple code?
It's possible the CL in #6 is related. The overflow menu uses pointer watchers to close itself and my CL hooks up pointer watchers in mash_unittests. However, everything it does is synchronous -- I don't see an obvious way it would introduce flake.
One possibility is that the test was incorrectly passing before (I suspect the overflow menu was not being hidden in the tests) and my CL exposed some existing flake.
Maybe animation differences between classic ash and mash? mash_unittests not tweaking animation timing the same way as ash_unittests?
Error is:
[ RUN ] OverflowButtonInkDropTest.TouchActivate
[2375:2375:0321/144438.879212:408041496:ERROR:window_tree_host_mus.cc(224)] Not implemented reached in virtual void aura::WindowTreeHostMus::MoveCursorToScreenLocationInPixels(const gfx::Point &)
../../ash/shelf/shelf_view_unittest.cc:2679: Failure
Value of: overflow_button_ink_drop_->GetAndResetRequestedStates()
Expected: has 1 element that is equal to ACTION_PENDING
Actual: { HIDDEN, ACTION_PENDING }, which has 2 elements
I see this code in InkDropImpl:
InkDropState InkDropImpl::GetTargetInkDropState() const {
if (!ink_drop_ripple_)
return InkDropState::HIDDEN;
return ink_drop_ripple_->target_ink_drop_state();
}
,
Mar 22 2017
bruthig@ knows the ink-drop code. I'll poke at this some now.
,
Mar 22 2017
As this is causing pain in the CQ I'm disabling the tests for now.
,
Mar 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1203b185b7da6a3e2e879c72ad0c340e36b34120 commit 1203b185b7da6a3e2e879c72ad0c340e36b34120 Author: sky <sky@chromium.org> Date: Wed Mar 22 18:19:12 2017 Makes a couple of overflow button tests early out in mash They are flaky on the bots. BUG= 696769 TEST=none R=msw@chromium.org TBR=msw@chromium.org Review-Url: https://codereview.chromium.org/2767133002 Cr-Commit-Position: refs/heads/master@{#458805} [modify] https://crrev.com/1203b185b7da6a3e2e879c72ad0c340e36b34120/ash/shelf/shelf_view_unittest.cc
,
Mar 22 2017
Regarding #1 It's odd that OverflowButtonActiveInkDropTest.TouchContextMenu is flakey. It was intended to be deterministic by using a ScopedMockTimeMessageLoopTaskRunner to drive the underlying Timers and the Layer animations should complete immediately as per the ui::ScopedAnimationDurationScaleMode::ZERO_DURATION set in AshTestHelper::SetUp(). What line is this test actually failing on (The ones reported in old logs don't match up to code search)? Since it's intermittent I'd start by adding a log line to InkDropImpl::AnimateToState() (or InkDropSpy::AnimateToState()) and find out when the extra HIDDEN is being requested. I'd also be suspicious of an unexpected input event being dispatched for some reason.
,
Mar 22 2017
ASSERTing that the overflow shelf is actually closed might shed some light on things. It's also conceivable that my CL results in two events sent to the code under test, one via normal event generation and one via pointer watcher. However, I think that's similar to what the window server does in mash.
,
Mar 22 2017
Several more flaky tests from this suite came up in the sheriff list from try flakes today, see OverflowButtonActiveInkDropTest.TouchDragOutAndBack issue 704175 , OverflowButtonActiveInkDropTest.MouseDragOut issue 704157 , and OverflowButtonInkDropTest.TouchContextMenu issue 704176 .
,
Mar 22 2017
I think I have a handle on what is causing this.
,
Mar 22 2017
,
Mar 22 2017
Issue 704157 has been merged into this issue.
,
Mar 22 2017
Issue 704176 has been merged into this issue.
,
Mar 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69 commit eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69 Author: sky <sky@chromium.org> Date: Wed Mar 22 23:24:18 2017 Makes AshTestHelper shutdown ChromeOS NetworkHandler Classic ash unittests don't run with the NetworkHandler running. To run with the NetworkHandler triggers additional items on the tray, which tests are not setup to deal correctly with. BUG= 695751 , 696769 TEST=test only changes R=jamescook@chromium.org Review-Url: https://codereview.chromium.org/2772513003 Cr-Commit-Position: refs/heads/master@{#458927} [modify] https://crrev.com/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69/ash/mus/test/wm_test_helper.cc [modify] https://crrev.com/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69/ash/mus/window_manager_application.cc [modify] https://crrev.com/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69/ash/mus/window_manager_application.h [modify] https://crrev.com/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69/ash/shelf/shelf_view_unittest.cc [modify] https://crrev.com/eeccd7ee07f0c25c2de9b9ab4c176ac0b3441e69/ash/test/ash_test_helper.cc
,
Mar 22 2017
I believe this fixes all the flakey shelf related mash_unitests. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by sky@chromium.org
, Feb 27 2017