• Mark Cogan's avatar
    [iOS] Fix test crashes with multiwindow enabled. · de17fd16
    Mark Cogan authored
    This CL fixes a variety of issues that will cause crashes or timeouts
    in EG and unit tests with the multiwindow flag enabled:
    
    - InstallationNotifier will keep polling forever by default, and since
      it's a singleton that lives through the whole test app's lifetime, it
      can hit DCHECKs when objects it depends on get eventually deallocated.
      This CL adds a method to stop polling, and uses it in the download
      manager test (which was triggering the polling).
    
      Long-term, this shouldn't be a singleton.
    
    - SelectorCoordinatorTest needed to have explicit timeouts added to
      some waits; it was spinning forever in the simulator with MW enabled.
    
    - PassphraseTableViewControllerTest needed to create some dummy state
      objects, because one of the settings view controllers grabs the scene
      state. There are several layers of cleaner fixes possible here --
      refactoring the view controller to not access model/app objects, etc.
    
    - The history and bookmarks EG tests include tests for opening new
      windows, but they cause various EG test failures when they are actually
      run with the flag enabled.
    
    With this CL in place, there are still numerous unit test *failures*
    with multiwindow enabled, but not any crashes or timeouts.
    
    (Prior versions of this CL enabled multi-window on trunk; it now doesn't
    do that).
    
    
    Change-Id: Idde141baa4f28d17828367fb359630723c2d12dd
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2310676
    Commit-Queue: Mark Cogan <marq@chromium.org>
    Reviewed-by: default avatarDavid Jean <djean@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#805841}
    de17fd16
BUILD.gn 14.7 KB