First pass of "fake" services on Ravenwood.
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
Loading
Please register or sign in to comment