#include <memory>
#include <string_view>
#include <tuple>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/process/process_metrics.h"
#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
#include "base/synchronization/waitable_event.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/perf_log.h"
#include "base/test/task_environment.h"
#include "base/timer/timer.h"
#include "base/types/expected.h"
#include "ipc/ipc_channel_proxy.h"
#include "ipc/ipc_perftest_messages.h"
#include "ipc/ipc_perftest_util.h"
#include "ipc/ipc_sync_channel.h"
#include "ipc/ipc_test.mojom.h"
#include "ipc/ipc_test_base.h"
#include "mojo/core/test/mojo_test_base.h"
#include "mojo/core/test/multiprocess_test_helper.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/message_pipe.h"
namespace IPC {
namespace {
struct TestParams { … };
std::vector<TestParams> GetDefaultTestParams() { … }
std::string GetLogTitle(const std::string& label, const TestParams& params) { … }
base::TimeDelta GetFrameTime(size_t frames_per_second) { … }
class PerfCpuLogger { … };
MULTIPROCESS_TEST_MAIN(MojoPerfTestClientTestChildMain) { … }
class ChannelSteadyPingPongListener : public Listener { … };
class ChannelSteadyPingPongTest : public IPCChannelMojoTestBase { … };
TEST_F(ChannelSteadyPingPongTest, AsyncPingPong) { … }
TEST_F(ChannelSteadyPingPongTest, SyncPingPong) { … }
class MojoSteadyPingPongTest : public mojo::core::test::MojoTestBase { … };
DEFINE_TEST_CLIENT_WITH_PIPE(PingPongClient, MojoSteadyPingPongTest, h) { … }
TEST_F(MojoSteadyPingPongTest, AsyncPingPong) { … }
TEST_F(MojoSteadyPingPongTest, SyncPingPong) { … }
}
}