New issue
Advanced search Search tips

Issue 883523 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug


Sign in to add a comment

interactive_ui_tests for SingleProcessMash (and Mash)

Project Member Reported by mukai@chromium.org, Sep 12

Issue description

Seems like interactive_ui_tests in the waterfall only runs with the normal configurations, no Mash. Maybe it's worthwhile to test with Mash.

Seems some simplistic test cases run well (I checked AboutFlagsBrowserTest), but some complicated tests (like TabDragControllerTest) fail. Some are touching ash::Shell directly.

 
Yes, we definitely need interactive_ui_tests running for single-process-mash too.
Blockedon: 885312
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b

commit bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b
Author: Jun Mukai <mukai@chromium.org>
Date: Tue Sep 18 23:21:21 2018

Fix UIControls for interactive_ui_tests w/ Mash

It seems UIControlsAsh is still used for interactive_ui_tests,
which isn't the case with Mash. Thus I changed the installation
of UIControls for this, meaning:
- do not install the UIControlsAsh on Main of interactive_ui_tests
- create and install UIControlsOzone during PreRunTestOnMainThread.
  This needs to be here since it needs a window tree host.
- fix the positioning logic in UIControlsOzone -- it creates the
  location in root_window's coordinate, which is actually intended
  to be display's coordinate.

BUG= 883523 
TEST=no breakage on existing tests

Change-Id: I62b1aea1a28deee4dd1d6da377574af8fddef5ed
Reviewed-on: https://chromium-review.googlesource.com/1228942
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592252}
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/ash/BUILD.gn
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/ash/test/ash_interactive_ui_test_base.cc
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/chrome/test/base/in_process_browser_test.cc
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/chrome/test/base/interactive_ui_tests_main.cc
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/chrome/test/base/view_event_test_base.cc
[modify] https://crrev.com/bfa0cad269a60ae53c39da7ac3fb66d8130fcb8b/ui/aura/test/ui_controls_factory_ozone.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b4591be80b1a49dfceceda6b4ef28b5ab68af64

commit 5b4591be80b1a49dfceceda6b4ef28b5ab68af64
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Sep 19 21:56:55 2018

Fix initialization of aura::Env on some tests

BUG= 883523 
TEST=local run of interactive_ui_tests / try success

Change-Id: I54f81374374f83fe70441acb1634fe04e137d298
Reviewed-on: https://chromium-review.googlesource.com/1232483
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592563}
[modify] https://crrev.com/5b4591be80b1a49dfceceda6b4ef28b5ab68af64/ash/test/ash_interactive_ui_test_base.cc
[modify] https://crrev.com/5b4591be80b1a49dfceceda6b4ef28b5ab68af64/chrome/test/base/view_event_test_platform_part_chromeos.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/92a861ac8d207da156de6aa9df70cb40b6d60b23

commit 92a861ac8d207da156de6aa9df70cb40b6d60b23
Author: Jun Mukai <mukai@chromium.org>
Date: Thu Sep 20 21:40:44 2018

Use AshUIControls for UI tests with no browser

LoginCursorTest.CursorHidden and OobeTest.Accelerator are still
crashing even after the refactoring of UIControls and aura::Env.
Actually, these tests do not require browser windows therefore
UIControlsOzone is created with nullptr WindowTreeHost which is
not expected.

Thinking about that, such test cases actually do controls for
the UI within Ash -- therefore AshUIControls should be used.

Test: interactive_ui_tests with --enable-features=SingleProcessMash
Bug:  883523 
Change-Id: I3d6e1ecb569551a7eacfce979c4b543771f19fc6
Reviewed-on: https://chromium-review.googlesource.com/1236842
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592953}
[modify] https://crrev.com/92a861ac8d207da156de6aa9df70cb40b6d60b23/chrome/test/base/in_process_browser_test.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 24

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c79cc2cb23adcdc3471f1db07803d0dd59768946

commit c79cc2cb23adcdc3471f1db07803d0dd59768946
Author: Jun Mukai <mukai@chromium.org>
Date: Mon Sep 24 19:35:35 2018

Install MenuPreTargetHandlerAura to the right Env

aura::Env::GetInstance() means the Env in the client in
SingleProcessMash, which means this PreTargetHandler might not
be invoked in SingleProcessMash.

This is primarily for fixing test failures of BookmarkBarViewTest
and MenuItemViewTestRemoveWithSubmenu in interactive_ui_tests,
but I guess this will fix some keyboard operations on menu
items in normal chrome.

Bug:  883523 
Test: interactive_ui_tests --enable-features=SingleProcessMash
Change-Id: I4f081b290bf6468318df3a77844efaf8410d05b7
Reviewed-on: https://chromium-review.googlesource.com/1237540
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593633}
[modify] https://crrev.com/c79cc2cb23adcdc3471f1db07803d0dd59768946/ui/views/controls/menu/menu_pre_target_handler_aura.cc

Blockedon: 888779
Blockedon: 889093
Blockedon: 889097
Blockedon: 889101
Project Member

Comment 11 by bugdroid1@chromium.org, Sep 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f741cf062ad9bd23465cef9fea2e97d44023ffd7

commit f741cf062ad9bd23465cef9fea2e97d44023ffd7
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Sep 26 00:04:51 2018

fix BookmarkBarViewTest12 for SingleProcessMash

BookmarkBarViewTest12.CloseWithModalDialog is in timeout.
That's because DialogWaiter is observing for a wrong aura::Env
instance.

BUG= 883523 
TEST=interactive_ui_tests --enable-features=SingleProcessMash

Change-Id: Ia2b057763e87458a564dbffa25c6cc92889992a6
Reviewed-on: https://chromium-review.googlesource.com/1244125
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594149}
[modify] https://crrev.com/f741cf062ad9bd23465cef9fea2e97d44023ffd7/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1be868e972f78c922afae62acf4b89dea22f354

commit d1be868e972f78c922afae62acf4b89dea22f354
Author: Jun Mukai <mukai@chromium.org>
Date: Thu Sep 27 19:00:14 2018

fix WindowSizerTest failure on Mash

The test fails because of checking browser's root window with
Shell's root window -- this is actually checking the display
for the browser window. This CL applies the same fix for
TabDragController.

BUG= 883523 
TEST=interactive_ui_tests --enable-features=SingleProcessMash

Change-Id: I8a53b15216c665c8c0f34ebfced0b22b97e93875
Reviewed-on: https://chromium-review.googlesource.com/1246064
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594801}
[modify] https://crrev.com/d1be868e972f78c922afae62acf4b89dea22f354/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
[modify] https://crrev.com/d1be868e972f78c922afae62acf4b89dea22f354/chrome/browser/ui/window_sizer/window_sizer_ash_uitest.cc
[modify] https://crrev.com/d1be868e972f78c922afae62acf4b89dea22f354/chrome/test/base/interactive_test_utils.cc
[modify] https://crrev.com/d1be868e972f78c922afae62acf4b89dea22f354/chrome/test/base/interactive_test_utils.h

Blockedon: 890071
Project Member

Comment 15 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b90f388e94cb0c598e2814ed33625db252c5ea1f

commit b90f388e94cb0c598e2814ed33625db252c5ea1f
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Oct 17 17:47:17 2018

Run single_process_mash_interactive_ui_tests in main waterfall

It seems this is stable recently with the current filter.
Let's run under the main waterfall.

BUG= 883523 
TEST=none

Change-Id: Ia14281c1e5a276c5057ae7653547086347c3ee0c
Reviewed-on: https://chromium-review.googlesource.com/c/1285055
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600462}
[modify] https://crrev.com/b90f388e94cb0c598e2814ed33625db252c5ea1f/testing/buildbot/chromium.chromiumos.json
[modify] https://crrev.com/b90f388e94cb0c598e2814ed33625db252c5ea1f/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/b90f388e94cb0c598e2814ed33625db252c5ea1f/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/b90f388e94cb0c598e2814ed33625db252c5ea1f/testing/buildbot/test_suites.pyl

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5fdb8d79826e870b24ce154ec48b0ba2aaf12c69

commit 5fdb8d79826e870b24ce154ec48b0ba2aaf12c69
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Oct 17 23:18:41 2018

increase shards for single_process_mash_interactive_ui_tests

Set shards to 3, as normal interactive_ui_tests does.

BUG= 883523 
TEST=none

Change-Id: Ia1fe3ec5e109b9d4b619c015525805e504e92d37
Reviewed-on: https://chromium-review.googlesource.com/c/1287197
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600591}
[modify] https://crrev.com/5fdb8d79826e870b24ce154ec48b0ba2aaf12c69/testing/buildbot/chromium.chromiumos.json
[modify] https://crrev.com/5fdb8d79826e870b24ce154ec48b0ba2aaf12c69/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/5fdb8d79826e870b24ce154ec48b0ba2aaf12c69/testing/buildbot/test_suites.pyl

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/83de5307405573ebd0e24d564c2eeaf3d33d44bd

commit 83de5307405573ebd0e24d564c2eeaf3d33d44bd
Author: Jun Mukai <mukai@chromium.org>
Date: Wed Oct 17 23:51:59 2018

Enable OmniboxViewViews uitest

The reason of OmniboxViewViews test failures are basically on
touches, and that's because EventInjector is not used.
This CL sets nullptr for EventGenerator to use EventInjector.

BUG= 883523 
TEST=interactive_ui_tests

Change-Id: I394b9b11d6efc6826a45da407b79cee328224dcf
Reviewed-on: https://chromium-review.googlesource.com/c/1283929
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600606}
[modify] https://crrev.com/83de5307405573ebd0e24d564c2eeaf3d33d44bd/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
[modify] https://crrev.com/83de5307405573ebd0e24d564c2eeaf3d33d44bd/testing/buildbot/filters/chromeos.single_process_mash.interactive_ui_tests.filter

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8da1c8f70f1f3215b3415a1626f8a83f9636d4d6

commit 8da1c8f70f1f3215b3415a1626f8a83f9636d4d6
Author: Kinuko Yasuda <kinuko@chromium.org>
Date: Thu Oct 18 07:01:32 2018

Revert "Run single_process_mash_interactive_ui_tests in main waterfall"

This reverts commit b90f388e94cb0c598e2814ed33625db252c5ea1f.

Reason for revert: After enabling this in main waterfall following tests keep failing in single_process_mash_interactive_ui_tests:

TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/0
TestAsNormalAndGuestUser/SpokenFeedbackTest.FocusShelf/1
LoggedInSpokenFeedbackTest.KeyboardShortcutViewer

Original change's description:
> Run single_process_mash_interactive_ui_tests in main waterfall
>
> It seems this is stable recently with the current filter.
> Let's run under the main waterfall.
>
> BUG= 883523 
> TEST=none
>
> Change-Id: Ia14281c1e5a276c5057ae7653547086347c3ee0c
> Reviewed-on: https://chromium-review.googlesource.com/c/1285055
> Reviewed-by: Scott Violet <sky@chromium.org>
> Commit-Queue: Jun Mukai <mukai@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#600462}

TBR=mukai@chromium.org,sky@chromium.org

Change-Id: I511a0b6101a5574b154981cd1aaac76c7d5d088f
No-Tree-Checks: true
No-Try: true
Bug:  883523 
Reviewed-on: https://chromium-review.googlesource.com/c/1288158
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600676}
[modify] https://crrev.com/8da1c8f70f1f3215b3415a1626f8a83f9636d4d6/testing/buildbot/chromium.chromiumos.json
[modify] https://crrev.com/8da1c8f70f1f3215b3415a1626f8a83f9636d4d6/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/8da1c8f70f1f3215b3415a1626f8a83f9636d4d6/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/8da1c8f70f1f3215b3415a1626f8a83f9636d4d6/testing/buildbot/test_suites.pyl

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f1568560e582e65007592fbed058579fe907ea2

commit 0f1568560e582e65007592fbed058579fe907ea2
Author: Jun Mukai <mukai@chromium.org>
Date: Thu Oct 18 22:57:20 2018

reland: single_process_mash_interactive_ui_tests in main waterfall

The previous one was reverted due to failures on ASAN/LSAN bot
(see crrev.com/600462). Those failures are fixed by crrev.com/600889
so this simply relands the same config.

BUG= 883523 
TEST=none
TBR=sky@chromium.org

Change-Id: I0d4ee97bf3a446bcae359e7c5bf9125e48a4405a
Reviewed-on: https://chromium-review.googlesource.com/c/1289680
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Jun Mukai <mukai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600955}
[modify] https://crrev.com/0f1568560e582e65007592fbed058579fe907ea2/testing/buildbot/chromium.chromiumos.json
[modify] https://crrev.com/0f1568560e582e65007592fbed058579fe907ea2/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/0f1568560e582e65007592fbed058579fe907ea2/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/0f1568560e582e65007592fbed058579fe907ea2/testing/buildbot/test_suites.pyl

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14181d17aa04366982cd18116d571762aac6d226

commit 14181d17aa04366982cd18116d571762aac6d226
Author: Scott Violet <sky@chromium.org>
Date: Mon Oct 29 16:40:24 2018

views(chromeos): fix restore

There are two paths to unminimize/restoring a window:
. Implicitly by calling Show()/Activate(). In this scenario the expectation
  is the Widget returns to it's pre-minimized state.
  DesktopWindowTreeHostMus does *not* cache the pre-minimized state, only
  the server knows it. While waiting for the server to change the show state
  it's important IsMinimized() returns false. To deal with this an observer is
  added to wait for the show state to change.
. By calling Restore(). Restore sets the state to normal, circumventing
  the pre-minimized state in the server. This mirrors what NativeWidgetAura
  does.

BUG= 883523 
TEST=covered by tests

Change-Id: I79a89a419032f125d905a98a01fe906c7ca82efd
Reviewed-on: https://chromium-review.googlesource.com/c/1299913
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603522}
[modify] https://crrev.com/14181d17aa04366982cd18116d571762aac6d226/chrome/browser/devtools/devtools_sanity_interactive_browsertest.cc
[modify] https://crrev.com/14181d17aa04366982cd18116d571762aac6d226/testing/buildbot/filters/chromeos.single_process_mash.interactive_ui_tests.filter
[modify] https://crrev.com/14181d17aa04366982cd18116d571762aac6d226/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/14181d17aa04366982cd18116d571762aac6d226/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/14181d17aa04366982cd18116d571762aac6d226/ui/views/mus/desktop_window_tree_host_mus_unittest.cc

Status: Fixed (was: Assigned)
Multi-process Mash interactive_ui_tests has been added to the FYI bot. Closing this -- some tests are still filtered but those test failures are tracked by other issues.

Sign in to add a comment