Skip to content
  • James Cook's avatar
    mash: Add support for test-only mojo interfaces for ash · 625eff0a
    James Cook authored
    Chrome browser_tests often assume they can make synchronous in-process
    calls into ash to check UI state. This won't work under mash. These
    interfaces often access private state, so we don't want to expose them
    to non-test code.
    
    Design doc at go/mash-test-interfaces
    
    * Create a separate build target for test mojo interfaces
    * Only bind the interfaces when running a test suite
    * Add a mojo::test::Waiter that allows tests to be written in the
      synchronous style without using sync mojo IPC (kudos to rockot@
      for writing this)
    * Convert two browser tests as examples
    
    The tests now run under --mash without crashing. One fails, which is
    expected because it relies on a VPN feature that hasn't been converted
    to mash.
    
    Bug: none
    Test: browser_tests and browser_tests --mash
    Change-Id: If4bbeb32e58367d41e3ae5b8689eb704f864a960
    Reviewed-on: https://chromium-review.googlesource.com/702636
    
    
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
    Reviewed-by: default avatarKen Rockot <rockot@chromium.org>
    Commit-Queue: James Cook <jamescook@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#508101}
    625eff0a