blob: 1c5e7ce115eceeb7ecc4dcaf942cdcb3d83cda7e [file]
// 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.
use {
assert_matches::assert_matches,
fidl_fuchsia_io as fio, fuchsia_zircon as zx,
futures::stream::TryStreamExt as _,
io_conformance_util::{test_harness::TestHarness, *},
};
#[fuchsia::test]
async fn enumerate_directory_unsupported() {
let harness = TestHarness::new().await;
let root = root_directory(vec![directory("dir", vec![])]);
let test_dir = harness.get_directory(root, harness.dir_rights.all());
let dir_proxy = open_dir_with_flags(&test_dir, fio::OpenFlags::RIGHT_READABLE, "dir").await;
// fuchsia.io/Directory.Enumerate
let (enumerate_proxy, enumerate_server) =
fidl::endpoints::create_proxy::<fio::DirectoryIteratorMarker>().unwrap();
dir_proxy.enumerate(&fio::DirectoryEnumerateOptions::default(), enumerate_server).unwrap();
assert_matches!(
enumerate_proxy.take_event_stream().try_next().await,
Err(fidl::Error::ClientChannelClosed { status: zx::Status::NOT_SUPPORTED, .. })
);
}