| {{>copyright comment="//"}} | |
| use anyhow::Error; | |
| #[fuchsia::test] | |
| async fn {{snake_case PROJECT_NAME}}_test() -> Result<(), Error> { | |
| // Connect to the component(s) under test using the Realm protocol, e.g. | |
| // This assumes that the child component exposes the `fuchsia.component.Binder` | |
| // protocol. | |
| // If your component exposes another capability, you connect to it directly. | |
| // ``` | |
| // use fuchsia_component::client as fclient; | |
| // use fidl_fuchsia_component as fcomponent; | |
| // use fidl_fuchsia_component_decl as fdecl; | |
| // use fidl_fuchsia_io as fio; | |
| // use fidl::endpoints; | |
| // | |
| // let realm_proxy = fclient::realm()?; | |
| // let (exposed_directory, server_end) = endpoints::create_proxy::<fio::DirectoryMarker>(); | |
| // let () = realm_proxy | |
| // .open_exposed_dir( | |
| // &mut fdecl::ChildRef { name: "hello-world".to_string(), collection: None }, | |
| // server_end, | |
| // ) | |
| // .await?; | |
| // let _: fcomponent::BinderProxy = fclient::connect_to_protocol_at_dir_root::<fcomponent::BinderMarker>(&exposed_directory)?; | |
| // ``` | |
| // Use the ArchiveReader to access inspect data, e.g. | |
| // ``` | |
| // use diagnostics_reader::{ArchiveReader, Inspect}; | |
| // | |
| // let reader = ArchiveReader::new().add_selector("hello-world:root"); | |
| // let results = reader.snapshot::<Inspect>().await?; | |
| // ``` | |
| // Add test conditions here, e.g. | |
| // ``` | |
| // let expected_string = test_function(); | |
| // ``` | |
| log::debug!("Initialized."); | |
| // Assert conditions here, e.g. | |
| // ``` | |
| // assert_eq!(expected_string, "Hello World!"); | |
| // ``` | |
| Ok(()) | |
| } |