blob: 4413aeccf9500823752a4304eb096d9ac5dee2c0 [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.
use {
fidl::AsHandleRef, fidl_fuchsia_debugdata::PublisherMarker,
fuchsia_component::client::connect_to_protocol, fuchsia_zircon as zx, std::ffi::CStr,
};
const VMO_CONTENTS: &[u8] = b"Debug data from test\n";
const VMO_NAME: &[u8] = b"vmo_name\0";
const VMO_DATA_SINK: &str = "data_sink";
#[fuchsia::test]
async fn publish_debug_data() {
let publish_data = connect_to_protocol::<PublisherMarker>().unwrap();
let vmo = zx::Vmo::create(1024).unwrap();
vmo.write(VMO_CONTENTS, 0).expect("write to VMO");
vmo.set_content_size(&(VMO_CONTENTS.len() as u64)).expect("set VMO content size");
vmo.set_name(CStr::from_bytes_with_nul(VMO_NAME).unwrap()).expect("set VMO name");
let (vmo_token, vmo_server) = zx::EventPair::create();
publish_data.publish(VMO_DATA_SINK, vmo, vmo_server).expect("Publish debugdata");
drop(vmo_token);
}