blob: 0e9ed4881b97c2ae956409c3d451f0b286a7373f [file] [log] [blame]
// Copyright 2018 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.
#include <fcntl.h>
#include <lib/fdio/fd.h>
#include <lib/zx/handle.h>
#include <fbl/unique_fd.h>
#include <gtest/gtest.h>
#include "src/lib/testing/predicates/status.h"
namespace {
TEST(FdioTestCase, DeviceClone) {
fbl::unique_fd fd(open("/dev/zero", O_RDONLY));
zx::handle handle;
ASSERT_OK(fdio_fd_clone(fd.get(), handle.reset_and_get_address()));
ASSERT_NE(handle.get(), ZX_HANDLE_INVALID);
}
TEST(FdioTestCase, DeviceTransfer) {
fbl::unique_fd fd(open("/dev/zero", O_RDONLY));
zx::handle handle;
ASSERT_OK(fdio_fd_transfer(fd.release(), handle.reset_and_get_address()));
ASSERT_NE(handle.get(), ZX_HANDLE_INVALID);
}
} // namespace