chromium/ipc/ipc_cpu_perftest.cc

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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) {}

// Similar to ChannelSteadyPingPongTest above, but uses a Mojo interface
// instead of raw IPC::Messages.
TEST_F(MojoSteadyPingPongTest, AsyncPingPong) {}

TEST_F(MojoSteadyPingPongTest, SyncPingPong) {}

}  // namespace
}  // namespace IPC