| // Copyright 2023 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. |
| |
| // This shard should be used when writing CTF tests using Google Test. This shard |
| // will add two subpackages to your component hierarchy, ensuring that the test |
| // runner and gtest are always compatible. Test components using this shard |
| // should be started in the #subpackaged-runner-env environment. |
| // |
| // The following subpackages need to be added to the test's |
| // ctf_fuchsia_package definition: |
| // |
| // subpackages = [ |
| // "//src/sys/test_runners/gtest:gtest-runner", |
| // "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache", |
| // ] |
| { |
| children: [ |
| { |
| name: "subpackaged_gtest_runner", |
| url: "gtest-runner#meta/gtest-runner.cm", |
| }, |
| { |
| name: "lib_loader_cache", |
| url: "lib_loader_runner_cache#meta/lib_loader_runner_cache.cm", |
| }, |
| ], |
| offer: [ |
| { |
| protocol: "fuchsia.process.Launcher", |
| from: "parent", |
| to: "#subpackaged_gtest_runner", |
| }, |
| { |
| protocol: "fuchsia.test.runner.LibraryLoaderCacheBuilder", |
| from: "#lib_loader_cache", |
| to: "#subpackaged_gtest_runner", |
| }, |
| { |
| storage: "data", |
| from: "parent", |
| to: "#subpackaged_gtest_runner", |
| }, |
| { |
| protocol: "fuchsia.inspect.InspectSink", |
| from: "parent", |
| to: [ |
| "#lib_loader_cache", |
| "#subpackaged_gtest_runner", |
| ], |
| }, |
| ], |
| environments: [ |
| { |
| name: "subpackaged-runner-env", |
| extends: "realm", |
| runners: [ |
| { |
| runner: "gtest_runner", |
| from: "#subpackaged_gtest_runner", |
| }, |
| ], |
| }, |
| ], |
| } |