| // 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. |
| |
| // [START example] |
| #[cfg(test)] |
| mod tests { |
| use anyhow::{Context as _, Error}; |
| use fidl_fuchsia_examples::{EchoMarker, EchoSynchronousProxy}; |
| use fuchsia_component::client::connect_channel_to_protocol; |
| use fuchsia_zircon as zx; |
| |
| #[fuchsia::test] |
| fn test() -> Result<(), Error> { |
| let (server_end, client_end) = zx::Channel::create(); |
| connect_channel_to_protocol::<EchoMarker>(server_end) |
| .context("Failed to connect to echo service")?; |
| let echo = EchoSynchronousProxy::new(client_end); |
| |
| // Make an EchoString request, with no timeout for receiving the response. |
| let res = echo.echo_string("hello", zx::Time::INFINITE)?; |
| println!("response: {:?}", res); |
| Ok(()) |
| } |
| } |
| // [END example] |