Skip to content
Snippets Groups Projects
Forked from Dhina17 / platform_frameworks_base
19348 commits behind the upstream repository.
  • Jeff Sharkey's avatar
    16f7cdf2
    First pass of "fake" services on Ravenwood. · 16f7cdf2
    Jeff Sharkey authored
    One of our eventual goals with Ravenwood is to support usage of
    system services from test code.  A recent change added support for
    "real" services on Ravenwood, and this change expands that to add
    support for "fake" services.
    
    Some services are so tangled with dependencies it would take a
    long time until we'd be able to run their "real" code.  Also, some
    services with deep hardware dependencies that it can be difficult
    to add new abstraction layers to support Ravenwood.  Finally, we
    want to support service owners that only have resources to meet
    the "Pareto principle", where enabling 20% of their functionality
    on Ravenwood is enough to unblock 80% of test use-cases.
    
    Thus, we're supporting teams bringing either "real" or "fake"
    implementations of their services.  Since all test interactions
    still go through published FooManager and FooManagerInternal-style
    interfaces, teams can start with a "fake" and slowly transition
    to using more of their "real" code over time, without having to
    update test clients.
    
    And as a final reminder, because Ravenwood requires test suites
    like CTS, we're already verifying that "fake" services behave
    similarly to the "real" services on physical devices.
    
    Bug: 325506297
    Test: atest CtsContentTestCasesRavenwood
    Change-Id: I8ed5bd030e03143c15cb9fa945bbdcb0b412611e
    16f7cdf2
    History
    First pass of "fake" services on Ravenwood.
    Jeff Sharkey authored
    One of our eventual goals with Ravenwood is to support usage of
    system services from test code.  A recent change added support for
    "real" services on Ravenwood, and this change expands that to add
    support for "fake" services.
    
    Some services are so tangled with dependencies it would take a
    long time until we'd be able to run their "real" code.  Also, some
    services with deep hardware dependencies that it can be difficult
    to add new abstraction layers to support Ravenwood.  Finally, we
    want to support service owners that only have resources to meet
    the "Pareto principle", where enabling 20% of their functionality
    on Ravenwood is enough to unblock 80% of test use-cases.
    
    Thus, we're supporting teams bringing either "real" or "fake"
    implementations of their services.  Since all test interactions
    still go through published FooManager and FooManagerInternal-style
    interfaces, teams can start with a "fake" and slowly transition
    to using more of their "real" code over time, without having to
    update test clients.
    
    And as a final reminder, because Ravenwood requires test suites
    like CTS, we're already verifying that "fake" services behave
    similarly to the "real" services on physical devices.
    
    Bug: 325506297
    Test: atest CtsContentTestCasesRavenwood
    Change-Id: I8ed5bd030e03143c15cb9fa945bbdcb0b412611e
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Ravenwood.bp 6.97 KiB