blob: f51486f3521b9510a7a11b86867bc36cd6591076 [file] [log] [blame]
// 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;
});
};