blob: 4bc1216fd070fb02d41357993700fa5e9dcafdb0 [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.
closed protocol LibraryLoaderCache {
/// Serve the cache over provided handle.
strict 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
closed 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|.
strict Create(resource struct {
lib_directory client_end:fuchsia.io.Directory;
cache server_end:LibraryLoaderCache;
});
};