#include "perfetto/ext/base/threading/channel.h"
#include <array>
#include <memory>
#include <optional>
#include "perfetto/base/platform_handle.h"
#include "perfetto/ext/base/file_utils.h"
#include "perfetto/ext/base/utils.h"
#include "test/gtest_and_gmock.h"
#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
#include <Windows.h>
#include <synchapi.h>
#else
#include <poll.h>
#endif
namespace perfetto {
namespace base {
namespace {
ReadResult;
WriteResult;
bool IsReady(base::PlatformHandle fd) { … }
TEST(ChannelUnittest, SingleElementBuffer) { … }
TEST(ChannelUnittest, MultiElementBuffer) { … }
TEST(ChannelUnittest, CloseEmptyChannel) { … }
TEST(ChannelUnittest, WriteDoesNotMoveIfFalse) { … }
TEST(ChannelUnittest, ReadAfterClose) { … }
TEST(ChannelUnittest, WriteAfterClose) { … }
TEST(ChannelUnittest, EmptyClosedChannel) { … }
TEST(ChannelUnittest, FullClosedChannel) { … }
}
}
}