| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.test.runner; |
| |
| using fuchsia.io; |
| using fuchsia.ldsvc; |
| |
| |
| /// Caches lib loader requests in memory. |
| protocol LibraryLoaderCache { |
| /// Serve the cache over provided handle. |
| Serve(resource struct { |
| loader server_end:fuchsia.ldsvc.Loader; |
| }); |
| }; |
| |
| |
| /// Provides an API to create LibraryLoaderCache. This is used by test runners |
| /// to make test execution faster when launching same process in a package |
| /// multiple times. |
| @discoverable |
| protocol LibraryLoaderCacheBuilder { |
| /// Create a new LibraryLoaderCache backed by `lib_directory`. |
| /// `lib_directory`: Handle to /pkg/lib of the component which needs |
| /// to be launched. |
| /// `cache`: The handle which will serve |LibraryLoaderCache|. |
| Create(resource struct { |
| lib_directory client_end:fuchsia.io.Directory; |
| cache server_end:LibraryLoaderCache; |
| }); |
| }; |