Replace the C++ MOCK_METHOD<n> family of macros with the new MOCK_METHOD

Change-Id: I5373c5bad7a22f158425335a245ab90310e799f7
diff --git a/src/base/http/http_server_unittest.cc b/src/base/http/http_server_unittest.cc
index be65198..7c209e0 100644
--- a/src/base/http/http_server_unittest.cc
+++ b/src/base/http/http_server_unittest.cc
@@ -37,9 +37,12 @@
 
 class MockHttpHandler : public HttpRequestHandler {
  public:
-  MOCK_METHOD1(OnHttpRequest, void(const HttpRequest&));
-  MOCK_METHOD1(OnHttpConnectionClosed, void(HttpServerConnection*));
-  MOCK_METHOD1(OnWebsocketMessage, void(const WebsocketMessage&));
+  MOCK_METHOD(void, OnHttpRequest, (const HttpRequest&), (override));
+  MOCK_METHOD(void,
+              OnHttpConnectionClosed,
+              (HttpServerConnection*),
+              (override));
+  MOCK_METHOD(void, OnWebsocketMessage, (const WebsocketMessage&), (override));
 };
 
 class HttpCli {
diff --git a/src/base/metatrace_unittest.cc b/src/base/metatrace_unittest.cc
index d0c9bb0..14e2c2f 100644
--- a/src/base/metatrace_unittest.cc
+++ b/src/base/metatrace_unittest.cc
@@ -44,7 +44,7 @@
     m::Enable([this] { ReadCallback(); }, &task_runner_, tags);
   }
 
-  MOCK_METHOD0(ReadCallback, void());
+  MOCK_METHOD(void, ReadCallback, ());
   base::TestTaskRunner task_runner_;
 };
 
diff --git a/src/base/threading/future_unittest.cc b/src/base/threading/future_unittest.cc
index 985ba26..5d93b88 100644
--- a/src/base/threading/future_unittest.cc
+++ b/src/base/threading/future_unittest.cc
@@ -32,7 +32,7 @@
 template <typename T>
 class MockPollable : public FuturePollable<T> {
  public:
-  MOCK_METHOD1(Poll, FuturePollResult<T>(PollContext*));
+  MOCK_METHOD(FuturePollResult<T>, Poll, (PollContext*), (override));
 };
 
 class FutureUnittest : public ::testing::Test {
diff --git a/src/base/threading/spawn_unittest.cc b/src/base/threading/spawn_unittest.cc
index a62ae83..c1a2e84 100644
--- a/src/base/threading/spawn_unittest.cc
+++ b/src/base/threading/spawn_unittest.cc
@@ -37,13 +37,13 @@
 template <typename T>
 class MockFuturePollable : public FuturePollable<T> {
  public:
-  MOCK_METHOD1(Poll, FuturePollResult<T>(PollContext*));
+  MOCK_METHOD(FuturePollResult<T>, Poll, (PollContext*), (override));
 };
 
 template <typename T>
 class MockStreamPollable : public StreamPollable<T> {
  public:
-  MOCK_METHOD1(PollNext, StreamPollResult<T>(PollContext*));
+  MOCK_METHOD(StreamPollResult<T>, PollNext, (PollContext*), (override));
 };
 
 TEST(SpawnUnittest, SpawnFuture) {
diff --git a/src/base/threading/stream_unittest.cc b/src/base/threading/stream_unittest.cc
index a9ac9aa..1e703d7 100644
--- a/src/base/threading/stream_unittest.cc
+++ b/src/base/threading/stream_unittest.cc
@@ -37,13 +37,13 @@
 template <typename T>
 class MockPollable : public FuturePollable<T> {
  public:
-  MOCK_METHOD1(Poll, FuturePollResult<T>(PollContext*));
+  MOCK_METHOD(FuturePollResult<T>, Poll, (PollContext*), (override));
 };
 
 template <typename T>
 class MockStreamPollable : public StreamPollable<T> {
  public:
-  MOCK_METHOD1(PollNext, StreamPollResult<T>(PollContext*));
+  MOCK_METHOD(StreamPollResult<T>, PollNext, (PollContext*), (override));
 };
 
 class StreamUnittest : public ::testing::Test {
diff --git a/src/base/unix_socket_unittest.cc b/src/base/unix_socket_unittest.cc
index c902033..361c0a1 100644
--- a/src/base/unix_socket_unittest.cc
+++ b/src/base/unix_socket_unittest.cc
@@ -53,10 +53,10 @@
 
 class MockEventListener : public UnixSocket::EventListener {
  public:
-  MOCK_METHOD2(OnNewIncomingConnection, void(UnixSocket*, UnixSocket*));
-  MOCK_METHOD2(OnConnect, void(UnixSocket*, bool));
-  MOCK_METHOD1(OnDisconnect, void(UnixSocket*));
-  MOCK_METHOD1(OnDataAvailable, void(UnixSocket*));
+  MOCK_METHOD(void, OnNewIncomingConnection, (UnixSocket*, UnixSocket*));
+  MOCK_METHOD(void, OnConnect, (UnixSocket*, bool), (override));
+  MOCK_METHOD(void, OnDisconnect, (UnixSocket*), (override));
+  MOCK_METHOD(void, OnDataAvailable, (UnixSocket*), (override));
 
   // GMock doesn't support mocking methods with non-copiable args.
   void OnNewIncomingConnection(
diff --git a/src/ipc/client_impl_unittest.cc b/src/ipc/client_impl_unittest.cc
index a91acbb..a93edfa 100644
--- a/src/ipc/client_impl_unittest.cc
+++ b/src/ipc/client_impl_unittest.cc
@@ -74,8 +74,8 @@
 
 class MockEventListener : public ServiceProxy::EventListener {
  public:
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
 };
 
 // A fake host implementation. Listens on |kTestSocket.name()| and replies to
@@ -84,8 +84,9 @@
  public:
   struct FakeMethod {
     MethodID id;
-    MOCK_METHOD2(OnInvoke,
-                 void(const Frame::InvokeMethod&, Frame::InvokeMethodReply*));
+    MOCK_METHOD(void,
+                OnInvoke,
+                (const Frame::InvokeMethod&, Frame::InvokeMethodReply*));
   };  // FakeMethod.
 
   struct FakeService {
diff --git a/src/ipc/host_impl_unittest.cc b/src/ipc/host_impl_unittest.cc
index 9c23421..c6e0404 100644
--- a/src/ipc/host_impl_unittest.cc
+++ b/src/ipc/host_impl_unittest.cc
@@ -50,7 +50,7 @@
 
 class FakeService : public Service {
  public:
-  MOCK_METHOD2(OnFakeMethod1, void(const RequestProto&, DeferredBase*));
+  MOCK_METHOD(void, OnFakeMethod1, (const RequestProto&, DeferredBase*));
 
   static void Invoker(Service* service,
                       const ProtoMessage& req,
@@ -82,12 +82,12 @@
 
 class FakeClient : public base::UnixSocket::EventListener {
  public:
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
-  MOCK_METHOD1(OnServiceBound, void(const Frame::BindServiceReply&));
-  MOCK_METHOD1(OnInvokeMethodReply, void(const Frame::InvokeMethodReply&));
-  MOCK_METHOD1(OnFileDescriptorReceived, void(int));
-  MOCK_METHOD0(OnRequestError, void());
+  MOCK_METHOD(void, OnConnect, ());
+  MOCK_METHOD(void, OnDisconnect, ());
+  MOCK_METHOD(void, OnServiceBound, (const Frame::BindServiceReply&));
+  MOCK_METHOD(void, OnInvokeMethodReply, (const Frame::InvokeMethodReply&));
+  MOCK_METHOD(void, OnFileDescriptorReceived, (int));
+  MOCK_METHOD(void, OnRequestError, ());
 
   explicit FakeClient(base::TaskRunner* task_runner) {
     sock_ = base::UnixSocket::Connect(kTestSocket.name(), this, task_runner,
diff --git a/src/ipc/test/ipc_integrationtest.cc b/src/ipc/test/ipc_integrationtest.cc
index de824ac..1b48cbb 100644
--- a/src/ipc/test/ipc_integrationtest.cc
+++ b/src/ipc/test/ipc_integrationtest.cc
@@ -41,21 +41,23 @@
 
 class MockEventListener : public ServiceProxy::EventListener {
  public:
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
 };
 
 class MockGreeterService : public ::ipc_test::gen::Greeter {
  public:
-  MOCK_METHOD2(OnSayHello,
-               void(const GreeterRequestMsg&, DeferredGreeterReplyMsg*));
+  MOCK_METHOD(void,
+              OnSayHello,
+              (const GreeterRequestMsg&, DeferredGreeterReplyMsg*));
   void SayHello(const GreeterRequestMsg& request,
                 DeferredGreeterReplyMsg reply) override {
     OnSayHello(request, &reply);
   }
 
-  MOCK_METHOD2(OnWaveGoodbye,
-               void(const GreeterRequestMsg&, DeferredGreeterReplyMsg*));
+  MOCK_METHOD(void,
+              OnWaveGoodbye,
+              (const GreeterRequestMsg&, DeferredGreeterReplyMsg*));
   void WaveGoodbye(const GreeterRequestMsg& request,
                    DeferredGreeterReplyMsg reply) override {
     OnWaveGoodbye(request, &reply);
diff --git a/src/perfetto_cmd/pbtxt_to_pb_unittest.cc b/src/perfetto_cmd/pbtxt_to_pb_unittest.cc
index 13a4c7d..1b2f1d0 100644
--- a/src/perfetto_cmd/pbtxt_to_pb_unittest.cc
+++ b/src/perfetto_cmd/pbtxt_to_pb_unittest.cc
@@ -37,12 +37,14 @@
 class MockErrorReporter : public ErrorReporter {
  public:
   MockErrorReporter() {}
-  ~MockErrorReporter() = default;
-  MOCK_METHOD4(AddError,
-               void(size_t line,
-                    size_t column_start,
-                    size_t column_end,
-                    const std::string& message));
+  ~MockErrorReporter() override = default;
+  MOCK_METHOD(void,
+              AddError,
+              (size_t line,
+               size_t column_start,
+               size_t column_end,
+               const std::string& message),
+              (override));
 };
 
 TraceConfig ToProto(const std::string& input) {
diff --git a/src/perfetto_cmd/rate_limiter_unittest.cc b/src/perfetto_cmd/rate_limiter_unittest.cc
index 7ba499b..38b2822 100644
--- a/src/perfetto_cmd/rate_limiter_unittest.cc
+++ b/src/perfetto_cmd/rate_limiter_unittest.cc
@@ -62,8 +62,8 @@
     return RateLimiter::SaveState(state);
   }
 
-  MOCK_METHOD1(LoadState, bool(gen::PerfettoCmdState*));
-  MOCK_METHOD1(SaveState, bool(const gen::PerfettoCmdState&));
+  MOCK_METHOD(bool, LoadState, (gen::PerfettoCmdState*), (override));
+  MOCK_METHOD(bool, SaveState, (const gen::PerfettoCmdState&), (override));
 
  private:
   base::TempDir dir_;
diff --git a/src/profiling/memory/system_property_unittest.cc b/src/profiling/memory/system_property_unittest.cc
index 90a015b..1765216 100644
--- a/src/profiling/memory/system_property_unittest.cc
+++ b/src/profiling/memory/system_property_unittest.cc
@@ -27,8 +27,10 @@
 
 class MockSystemProperties : public SystemProperties {
  public:
-  MOCK_METHOD2(SetAndroidProperty,
-               bool(const std::string&, const std::string&));
+  MOCK_METHOD(bool,
+              SetAndroidProperty,
+              (const std::string&, const std::string&),
+              (override));
 };
 
 TEST(SystemPropertyTest, All) {
diff --git a/src/shared_lib/test/api_integrationtest.cc b/src/shared_lib/test/api_integrationtest.cc
index 97ed8c3..e8b7adc 100644
--- a/src/shared_lib/test/api_integrationtest.cc
+++ b/src/shared_lib/test/api_integrationtest.cc
@@ -58,30 +58,35 @@
 
 class MockDs2Callbacks : testing::Mock {
  public:
-  MOCK_METHOD4(OnSetup,
-               void*(PerfettoDsInstanceIndex inst_id,
-                     void* ds_config,
-                     size_t ds_config_size,
-                     void* user_arg));
-  MOCK_METHOD3(OnStart,
-               void(PerfettoDsInstanceIndex inst_id,
-                    void* user_arg,
-                    void* inst_ctx));
-  MOCK_METHOD4(OnStop,
-               void(PerfettoDsInstanceIndex inst_id,
-                    void* user_arg,
-                    void* inst_ctx,
-                    struct PerfettoDsOnStopArgs* args));
-  MOCK_METHOD3(OnCreateTls,
-               void*(PerfettoDsInstanceIndex inst_id,
-                     struct PerfettoDsTracerImpl* tracer,
-                     void* user_arg));
-  MOCK_METHOD1(OnDeleteTls, void(void*));
-  MOCK_METHOD3(OnCreateIncr,
-               void*(PerfettoDsInstanceIndex inst_id,
-                     struct PerfettoDsTracerImpl* tracer,
-                     void* user_arg));
-  MOCK_METHOD1(OnDeleteIncr, void(void*));
+  MOCK_METHOD(void*,
+              OnSetup,
+              (PerfettoDsInstanceIndex inst_id,
+               void* ds_config,
+               size_t ds_config_size,
+               void* user_arg));
+  MOCK_METHOD(void,
+              OnStart,
+              (PerfettoDsInstanceIndex inst_id,
+               void* user_arg,
+               void* inst_ctx));
+  MOCK_METHOD(void,
+              OnStop,
+              (PerfettoDsInstanceIndex inst_id,
+               void* user_arg,
+               void* inst_ctx,
+               struct PerfettoDsOnStopArgs* args));
+  MOCK_METHOD(void*,
+              OnCreateTls,
+              (PerfettoDsInstanceIndex inst_id,
+               struct PerfettoDsTracerImpl* tracer,
+               void* user_arg));
+  MOCK_METHOD(void, OnDeleteTls, (void*));
+  MOCK_METHOD(void*,
+              OnCreateIncr,
+              (PerfettoDsInstanceIndex inst_id,
+               struct PerfettoDsTracerImpl* tracer,
+               void* user_arg));
+  MOCK_METHOD(void, OnDeleteIncr, (void*));
 };
 
 class Notification {
diff --git a/src/trace_processor/importers/fuchsia/fuchsia_parser_unittest.cc b/src/trace_processor/importers/fuchsia/fuchsia_parser_unittest.cc
index cf0d569..8acc450 100644
--- a/src/trace_processor/importers/fuchsia/fuchsia_parser_unittest.cc
+++ b/src/trace_processor/importers/fuchsia/fuchsia_parser_unittest.cc
@@ -96,16 +96,18 @@
   explicit MockSchedEventTracker(TraceProcessorContext* context)
       : SchedEventTracker(context) {}
 
-  MOCK_METHOD9(PushSchedSwitch,
-               void(uint32_t cpu,
-                    int64_t timestamp,
-                    uint32_t prev_pid,
-                    base::StringView prev_comm,
-                    int32_t prev_prio,
-                    int64_t prev_state,
-                    uint32_t next_pid,
-                    base::StringView next_comm,
-                    int32_t next_prio));
+  MOCK_METHOD(void,
+              PushSchedSwitch,
+              (uint32_t cpu,
+               int64_t timestamp,
+               uint32_t prev_pid,
+               base::StringView prev_comm,
+               int32_t prev_prio,
+               int64_t prev_state,
+               uint32_t next_pid,
+               base::StringView next_comm,
+               int32_t next_prio),
+              (override));
 };
 
 class MockProcessTracker : public ProcessTracker {
@@ -113,25 +115,36 @@
   explicit MockProcessTracker(TraceProcessorContext* context)
       : ProcessTracker(context) {}
 
-  MOCK_METHOD4(SetProcessMetadata,
-               UniquePid(uint32_t pid,
-                         std::optional<uint32_t> ppid,
-                         base::StringView process_name,
-                         base::StringView cmdline));
+  MOCK_METHOD(UniquePid,
+              SetProcessMetadata,
+              (uint32_t pid,
+               std::optional<uint32_t> ppid,
+               base::StringView process_name,
+               base::StringView cmdline),
+              (override));
 
-  MOCK_METHOD3(UpdateThreadName,
-               UniqueTid(uint32_t tid,
-                         StringId thread_name_id,
-                         ThreadNamePriority priority));
-  MOCK_METHOD3(UpdateThreadNameByUtid,
-               void(UniqueTid utid,
-                    StringId thread_name_id,
-                    ThreadNamePriority priority));
-  MOCK_METHOD2(UpdateThread, UniqueTid(uint32_t tid, uint32_t tgid));
+  MOCK_METHOD(UniqueTid,
+              UpdateThreadName,
+              (uint32_t tid,
+               StringId thread_name_id,
+               ThreadNamePriority priority),
+              (override));
+  MOCK_METHOD(void,
+              UpdateThreadNameByUtid,
+              (UniqueTid utid,
+               StringId thread_name_id,
+               ThreadNamePriority priority),
+              (override));
+  MOCK_METHOD(UniqueTid,
+              UpdateThread,
+              (uint32_t tid, uint32_t tgid),
+              (override));
 
-  MOCK_METHOD1(GetOrCreateProcess, UniquePid(uint32_t pid));
-  MOCK_METHOD2(SetProcessNameIfUnset,
-               void(UniquePid upid, StringId process_name_id));
+  MOCK_METHOD(UniquePid, GetOrCreateProcess, (uint32_t pid), (override));
+  MOCK_METHOD(void,
+              SetProcessNameIfUnset,
+              (UniquePid upid, StringId process_name_id),
+              (override));
 };
 class MockBoundInserter : public ArgsTracker::BoundInserter {
  public:
@@ -140,12 +153,13 @@
     ON_CALL(*this, AddArg(_, _, _, _)).WillByDefault(ReturnRef(*this));
   }
 
-  MOCK_METHOD4(
-      AddArg,
-      ArgsTracker::BoundInserter&(StringId flat_key,
-                                  StringId key,
-                                  Variadic v,
-                                  ArgsTracker::UpdatePolicy update_policy));
+  MOCK_METHOD(ArgsTracker::BoundInserter&,
+              AddArg,
+              (StringId flat_key,
+               StringId key,
+               Variadic v,
+               ArgsTracker::UpdatePolicy update_policy),
+              (override));
 
  private:
   ArgsTracker tracker_;
@@ -155,23 +169,24 @@
  public:
   explicit MockEventTracker(TraceProcessorContext* context)
       : EventTracker(context) {}
-  virtual ~MockEventTracker() = default;
+  ~MockEventTracker() override = default;
 
-  MOCK_METHOD9(PushSchedSwitch,
-               void(uint32_t cpu,
-                    int64_t timestamp,
-                    uint32_t prev_pid,
-                    base::StringView prev_comm,
-                    int32_t prev_prio,
-                    int64_t prev_state,
-                    uint32_t next_pid,
-                    base::StringView next_comm,
-                    int32_t next_prio));
+  MOCK_METHOD(void,
+              PushSchedSwitch,
+              (uint32_t cpu,
+               int64_t timestamp,
+               uint32_t prev_pid,
+               base::StringView prev_comm,
+               int32_t prev_prio,
+               int64_t prev_state,
+               uint32_t next_pid,
+               base::StringView next_comm,
+               int32_t next_prio));
 
-  MOCK_METHOD3(PushCounter,
-               std::optional<CounterId>(int64_t timestamp,
-                                        double value,
-                                        TrackId track_id));
+  MOCK_METHOD(std::optional<CounterId>,
+              PushCounter,
+              (int64_t timestamp, double value, TrackId track_id),
+              (override));
 };
 
 class MockSliceTracker : public SliceTracker {
@@ -179,30 +194,38 @@
   explicit MockSliceTracker(TraceProcessorContext* context)
       : SliceTracker(context) {}
 
-  MOCK_METHOD5(Begin,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD5(End,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD6(Scoped,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      int64_t duration,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD4(StartSlice,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      SetArgsCallback args_callback,
-                                      std::function<SliceId()> inserter));
+  MOCK_METHOD(std::optional<SliceId>,
+              Begin,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              End,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              Scoped,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               int64_t duration,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              StartSlice,
+              (int64_t timestamp,
+               TrackId track_id,
+               SetArgsCallback args_callback,
+               std::function<SliceId()> inserter),
+              (override));
 };
 
 class FuchsiaTraceParserTest : public ::testing::Test {
diff --git a/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc b/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
index 7ed4723..2444215 100644
--- a/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
+++ b/src/trace_processor/importers/proto/proto_trace_parser_unittest.cc
@@ -110,39 +110,42 @@
   explicit MockSchedEventTracker(TraceProcessorContext* context)
       : SchedEventTracker(context) {}
 
-  MOCK_METHOD9(PushSchedSwitch,
-               void(uint32_t cpu,
-                    int64_t timestamp,
-                    uint32_t prev_pid,
-                    base::StringView prev_comm,
-                    int32_t prev_prio,
-                    int64_t prev_state,
-                    uint32_t next_pid,
-                    base::StringView next_comm,
-                    int32_t next_prio));
+  MOCK_METHOD(void,
+              PushSchedSwitch,
+              (uint32_t cpu,
+               int64_t timestamp,
+               uint32_t prev_pid,
+               base::StringView prev_comm,
+               int32_t prev_prio,
+               int64_t prev_state,
+               uint32_t next_pid,
+               base::StringView next_comm,
+               int32_t next_prio),
+              (override));
 };
 
 class MockEventTracker : public EventTracker {
  public:
   explicit MockEventTracker(TraceProcessorContext* context)
       : EventTracker(context) {}
-  virtual ~MockEventTracker() = default;
+  ~MockEventTracker() override = default;
 
-  MOCK_METHOD9(PushSchedSwitch,
-               void(uint32_t cpu,
-                    int64_t timestamp,
-                    uint32_t prev_pid,
-                    base::StringView prev_comm,
-                    int32_t prev_prio,
-                    int64_t prev_state,
-                    uint32_t next_pid,
-                    base::StringView next_comm,
-                    int32_t next_prio));
+  MOCK_METHOD(void,
+              PushSchedSwitch,
+              (uint32_t cpu,
+               int64_t timestamp,
+               uint32_t prev_pid,
+               base::StringView prev_comm,
+               int32_t prev_prio,
+               int64_t prev_state,
+               uint32_t next_pid,
+               base::StringView next_comm,
+               int32_t next_prio));
 
-  MOCK_METHOD3(PushCounter,
-               std::optional<CounterId>(int64_t timestamp,
-                                        double value,
-                                        TrackId track_id));
+  MOCK_METHOD(std::optional<CounterId>,
+              PushCounter,
+              (int64_t timestamp, double value, TrackId track_id),
+              (override));
 };
 
 class MockProcessTracker : public ProcessTracker {
@@ -150,25 +153,36 @@
   explicit MockProcessTracker(TraceProcessorContext* context)
       : ProcessTracker(context) {}
 
-  MOCK_METHOD4(SetProcessMetadata,
-               UniquePid(uint32_t pid,
-                         std::optional<uint32_t> ppid,
-                         base::StringView process_name,
-                         base::StringView cmdline));
+  MOCK_METHOD(UniquePid,
+              SetProcessMetadata,
+              (uint32_t pid,
+               std::optional<uint32_t> ppid,
+               base::StringView process_name,
+               base::StringView cmdline),
+              (override));
 
-  MOCK_METHOD3(UpdateThreadName,
-               UniqueTid(uint32_t tid,
-                         StringId thread_name_id,
-                         ThreadNamePriority priority));
-  MOCK_METHOD3(UpdateThreadNameByUtid,
-               void(UniqueTid utid,
-                    StringId thread_name_id,
-                    ThreadNamePriority priority));
-  MOCK_METHOD2(UpdateThread, UniqueTid(uint32_t tid, uint32_t tgid));
+  MOCK_METHOD(UniqueTid,
+              UpdateThreadName,
+              (uint32_t tid,
+               StringId thread_name_id,
+               ThreadNamePriority priority),
+              (override));
+  MOCK_METHOD(void,
+              UpdateThreadNameByUtid,
+              (UniqueTid utid,
+               StringId thread_name_id,
+               ThreadNamePriority priority),
+              (override));
+  MOCK_METHOD(UniqueTid,
+              UpdateThread,
+              (uint32_t tid, uint32_t tgid),
+              (override));
 
-  MOCK_METHOD1(GetOrCreateProcess, UniquePid(uint32_t pid));
-  MOCK_METHOD2(SetProcessNameIfUnset,
-               void(UniquePid upid, StringId process_name_id));
+  MOCK_METHOD(UniquePid, GetOrCreateProcess, (uint32_t pid), (override));
+  MOCK_METHOD(void,
+              SetProcessNameIfUnset,
+              (UniquePid upid, StringId process_name_id),
+              (override));
 };
 
 class MockBoundInserter : public ArgsTracker::BoundInserter {
@@ -178,12 +192,13 @@
     ON_CALL(*this, AddArg(_, _, _, _)).WillByDefault(ReturnRef(*this));
   }
 
-  MOCK_METHOD4(
-      AddArg,
-      ArgsTracker::BoundInserter&(StringId flat_key,
-                                  StringId key,
-                                  Variadic v,
-                                  ArgsTracker::UpdatePolicy update_policy));
+  MOCK_METHOD(ArgsTracker::BoundInserter&,
+              AddArg,
+              (StringId flat_key,
+               StringId key,
+               Variadic v,
+               ArgsTracker::UpdatePolicy update_policy),
+              (override));
 
  private:
   ArgsTracker tracker_;
@@ -194,30 +209,38 @@
   explicit MockSliceTracker(TraceProcessorContext* context)
       : SliceTracker(context) {}
 
-  MOCK_METHOD5(Begin,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD5(End,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD6(Scoped,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      int64_t duration,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD4(StartSlice,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      SetArgsCallback args_callback,
-                                      std::function<SliceId()> inserter));
+  MOCK_METHOD(std::optional<SliceId>,
+              Begin,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              End,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              Scoped,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               int64_t duration,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              StartSlice,
+              (int64_t timestamp,
+               TrackId track_id,
+               SetArgsCallback args_callback,
+               std::function<SliceId()> inserter),
+              (override));
 };
 
 class ProtoTraceParserTest : public ::testing::Test {
diff --git a/src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc b/src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc
index cc0117d..ceafd2f 100644
--- a/src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc
+++ b/src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc
@@ -31,20 +31,24 @@
 class MockSliceTracker : public SliceTracker {
  public:
   MockSliceTracker(TraceProcessorContext* context) : SliceTracker(context) {}
-  virtual ~MockSliceTracker() = default;
+  ~MockSliceTracker() override = default;
 
-  MOCK_METHOD5(Begin,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
-  MOCK_METHOD5(End,
-               std::optional<SliceId>(int64_t timestamp,
-                                      TrackId track_id,
-                                      StringId cat,
-                                      StringId name,
-                                      SetArgsCallback args_callback));
+  MOCK_METHOD(std::optional<SliceId>,
+              Begin,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
+  MOCK_METHOD(std::optional<SliceId>,
+              End,
+              (int64_t timestamp,
+               TrackId track_id,
+               StringId cat,
+               StringId name,
+               SetArgsCallback args_callback),
+              (override));
 };
 
 class SyscallTrackerTest : public ::testing::Test {
diff --git a/src/trace_processor/sorter/trace_sorter_unittest.cc b/src/trace_processor/sorter/trace_sorter_unittest.cc
index e2fc286..791e21a 100644
--- a/src/trace_processor/sorter/trace_sorter_unittest.cc
+++ b/src/trace_processor/sorter/trace_sorter_unittest.cc
@@ -42,11 +42,10 @@
  public:
   MockTraceParser(TraceProcessorContext* context) : ProtoTraceParser(context) {}
 
-  MOCK_METHOD4(MOCK_ParseFtracePacket,
-               void(uint32_t cpu,
-                    int64_t timestamp,
-                    const uint8_t* data,
-                    size_t length));
+  MOCK_METHOD(
+      void,
+      MOCK_ParseFtracePacket,
+      (uint32_t cpu, int64_t timestamp, const uint8_t* data, size_t length));
 
   void ParseFtraceEvent(uint32_t cpu,
                         int64_t timestamp,
@@ -55,8 +54,9 @@
                            data.packet.length());
   }
 
-  MOCK_METHOD3(MOCK_ParseTracePacket,
-               void(int64_t ts, const uint8_t* data, size_t length));
+  MOCK_METHOD(void,
+              MOCK_ParseTracePacket,
+              (int64_t ts, const uint8_t* data, size_t length));
 
   void ParseTrackEvent(int64_t, TrackEventData) override {}
 
@@ -70,7 +70,7 @@
  public:
   MockTraceStorage() : TraceStorage() {}
 
-  MOCK_METHOD1(InternString, StringId(base::StringView view));
+  MOCK_METHOD(StringId, InternString, (base::StringView view), (override));
 };
 
 class TraceSorterTest : public ::testing::Test {
diff --git a/src/traced/probes/android_log/android_log_data_source_unittest.cc b/src/traced/probes/android_log/android_log_data_source_unittest.cc
index d012707..49f3ffc 100644
--- a/src/traced/probes/android_log/android_log_data_source_unittest.cc
+++ b/src/traced/probes/android_log/android_log_data_source_unittest.cc
@@ -41,8 +41,8 @@
                            std::unique_ptr<TraceWriter> writer)
       : AndroidLogDataSource(config, task_runner, id, std::move(writer)) {}
 
-  MOCK_METHOD0(ReadEventLogDefinitions, std::string());
-  MOCK_METHOD0(ConnectLogdrSocket, base::UnixSocketRaw());
+  MOCK_METHOD(std::string, ReadEventLogDefinitions, (), (override));
+  MOCK_METHOD(base::UnixSocketRaw, ConnectLogdrSocket, (), (override));
 };
 
 class AndroidLogDataSourceTest : public ::testing::Test {
diff --git a/src/traced/probes/android_system_property/android_system_property_data_source_unittest.cc b/src/traced/probes/android_system_property/android_system_property_data_source_unittest.cc
index 0014e49..b0dd916 100644
--- a/src/traced/probes/android_system_property/android_system_property_data_source_unittest.cc
+++ b/src/traced/probes/android_system_property/android_system_property_data_source_unittest.cc
@@ -44,8 +44,10 @@
                                         /* session_id */ 0,
                                         std::move(writer)) {}
 
-  MOCK_METHOD1(ReadProperty,
-               const std::optional<std::string>(const std::string&));
+  MOCK_METHOD(const std::optional<std::string>,
+              ReadProperty,
+              (const std::string&),
+              (override));
 };
 
 class AndroidSystemPropertyDataSourceTest : public ::testing::Test {
diff --git a/src/traced/probes/filesystem/inode_file_data_source_unittest.cc b/src/traced/probes/filesystem/inode_file_data_source_unittest.cc
index bc13f2d..c678170 100644
--- a/src/traced/probes/filesystem/inode_file_data_source_unittest.cc
+++ b/src/traced/probes/filesystem/inode_file_data_source_unittest.cc
@@ -62,10 +62,12 @@
         base::GetTestDataPath("src/traced/probes/filesystem/testdata"));
   }
 
-  MOCK_METHOD3(FillInodeEntry,
-               void(InodeFileMap* destination,
-                    Inode inode_number,
-                    const InodeMapValue& inode_map_value));
+  MOCK_METHOD(void,
+              FillInodeEntry,
+              (InodeFileMap * destination,
+               Inode inode_number,
+               const InodeMapValue& inode_map_value),
+              (override));
 };
 
 class InodeFileDataSourceTest : public ::testing::Test {
diff --git a/src/traced/probes/ftrace/cpu_reader_unittest.cc b/src/traced/probes/ftrace/cpu_reader_unittest.cc
index ea6b5b8..eb98744 100644
--- a/src/traced/probes/ftrace/cpu_reader_unittest.cc
+++ b/src/traced/probes/ftrace/cpu_reader_unittest.cc
@@ -106,12 +106,17 @@
     EXPECT_CALL(*this, NumberOfCpus()).Times(AnyNumber());
   }
 
-  MOCK_METHOD2(WriteToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD1(ReadOneCharFromFile, char(const std::string& path));
-  MOCK_METHOD1(ClearFile, bool(const std::string& path));
-  MOCK_CONST_METHOD1(ReadFileIntoString, std::string(const std::string& path));
-  MOCK_CONST_METHOD0(NumberOfCpus, size_t());
+  MOCK_METHOD(bool,
+              WriteToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(char, ReadOneCharFromFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, ClearFile, (const std::string& path), (override));
+  MOCK_METHOD(std::string,
+              ReadFileIntoString,
+              (const std::string& path),
+              (const, override));
+  MOCK_METHOD(size_t, NumberOfCpus, (), (const, override));
 };
 
 class CpuReaderTableTest : public ::testing::Test {
diff --git a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
index 69c96d3..8e83c57 100644
--- a/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
+++ b/src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc
@@ -62,19 +62,29 @@
     EXPECT_CALL(*this, NumberOfCpus()).Times(AnyNumber());
   }
 
-  MOCK_METHOD2(WriteToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD2(AppendToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD1(ReadOneCharFromFile, char(const std::string& path));
-  MOCK_METHOD1(ClearFile, bool(const std::string& path));
-  MOCK_CONST_METHOD1(ReadFileIntoString, std::string(const std::string& path));
-  MOCK_CONST_METHOD0(NumberOfCpus, size_t());
-  MOCK_CONST_METHOD1(GetEventNamesForGroup,
-                     const std::set<std::string>(const std::string& path));
-  MOCK_CONST_METHOD2(ReadEventFormat,
-                     std::string(const std::string& group,
-                                 const std::string& name));
+  MOCK_METHOD(bool,
+              WriteToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(bool,
+              AppendToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(char, ReadOneCharFromFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, ClearFile, (const std::string& path), (override));
+  MOCK_METHOD(std::string,
+              ReadFileIntoString,
+              (const std::string& path),
+              (const, override));
+  MOCK_METHOD(size_t, NumberOfCpus, (), (const, override));
+  MOCK_METHOD(const std::set<std::string>,
+              GetEventNamesForGroup,
+              (const std::string& path),
+              (const, override));
+  MOCK_METHOD(std::string,
+              ReadEventFormat,
+              (const std::string& group, const std::string& name),
+              (const, override));
 };
 
 struct MockRunAtrace {
@@ -89,7 +99,7 @@
 
   ~MockRunAtrace() { SetRunAtraceForTesting(nullptr); }
 
-  MOCK_METHOD2(RunAtrace, bool(const std::vector<std::string>&, std::string*));
+  MOCK_METHOD(bool, RunAtrace, (const std::vector<std::string>&, std::string*));
 };
 
 class MockProtoTranslationTable : public ProtoTranslationTable {
@@ -105,9 +115,14 @@
                               ftrace_page_header_spec,
                               compact_sched_format,
                               PrintkMap()) {}
-  MOCK_METHOD1(GetOrCreateEvent, Event*(const GroupAndName& group_and_name));
-  MOCK_CONST_METHOD1(GetEvent,
-                     const Event*(const GroupAndName& group_and_name));
+  MOCK_METHOD(Event*,
+              GetOrCreateEvent,
+              (const GroupAndName& group_and_name),
+              (override));
+  MOCK_METHOD(const Event*,
+              GetEvent,
+              (const GroupAndName& group_and_name),
+              (const, override));
 };
 
 class FtraceConfigMuxerTest : public ::testing::Test {
diff --git a/src/traced/probes/ftrace/ftrace_controller_unittest.cc b/src/traced/probes/ftrace/ftrace_controller_unittest.cc
index 02bb3cf..5ffc6c2 100644
--- a/src/traced/probes/ftrace/ftrace_controller_unittest.cc
+++ b/src/traced/probes/ftrace/ftrace_controller_unittest.cc
@@ -60,11 +60,17 @@
 
 class MockTaskRunner : public base::TaskRunner {
  public:
-  MOCK_METHOD1(PostTask, void(std::function<void()>));
-  MOCK_METHOD2(PostDelayedTask, void(std::function<void()>, uint32_t delay_ms));
-  MOCK_METHOD2(AddFileDescriptorWatch, void(int fd, std::function<void()>));
-  MOCK_METHOD1(RemoveFileDescriptorWatch, void(int fd));
-  MOCK_CONST_METHOD0(RunsTasksOnCurrentThread, bool());
+  MOCK_METHOD(void, PostTask, (std::function<void()>), (override));
+  MOCK_METHOD(void,
+              PostDelayedTask,
+              (std::function<void()>, uint32_t delay_ms),
+              (override));
+  MOCK_METHOD(void,
+              AddFileDescriptorWatch,
+              (int fd, std::function<void()>),
+              (override));
+  MOCK_METHOD(void, RemoveFileDescriptorWatch, (int fd), (override));
+  MOCK_METHOD(bool, RunsTasksOnCurrentThread, (), (const, override));
 };
 
 std::unique_ptr<Table> FakeTable(FtraceProcfs* ftrace) {
@@ -166,13 +172,18 @@
     return base::ScopedFile(base::OpenFile("/dev/null", O_RDONLY));
   }
 
-  MOCK_METHOD2(WriteToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_CONST_METHOD0(NumberOfCpus, size_t());
-  MOCK_METHOD1(ReadOneCharFromFile, char(const std::string& path));
-  MOCK_METHOD1(ClearFile, bool(const std::string& path));
-  MOCK_METHOD1(IsFileWriteable, bool(const std::string& path));
-  MOCK_CONST_METHOD1(ReadFileIntoString, std::string(const std::string& path));
+  MOCK_METHOD(bool,
+              WriteToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(size_t, NumberOfCpus, (), (const, override));
+  MOCK_METHOD(char, ReadOneCharFromFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, ClearFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, IsFileWriteable, (const std::string& path), (override));
+  MOCK_METHOD(std::string,
+              ReadFileIntoString,
+              (const std::string& path),
+              (const, override));
 
   bool is_tracing_on() { return tracing_on_; }
 
diff --git a/src/traced/probes/ftrace/ftrace_procfs_unittest.cc b/src/traced/probes/ftrace/ftrace_procfs_unittest.cc
index a8051de..8fb96af 100644
--- a/src/traced/probes/ftrace/ftrace_procfs_unittest.cc
+++ b/src/traced/probes/ftrace/ftrace_procfs_unittest.cc
@@ -30,12 +30,17 @@
  public:
   MockFtraceProcfs() : FtraceProcfs("/root/") {}
 
-  MOCK_METHOD2(WriteToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD1(ReadOneCharFromFile, char(const std::string& path));
-  MOCK_METHOD1(ClearFile, bool(const std::string& path));
-  MOCK_CONST_METHOD1(ReadFileIntoString, std::string(const std::string& path));
-  MOCK_CONST_METHOD0(NumberOfCpus, size_t());
+  MOCK_METHOD(bool,
+              WriteToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(char, ReadOneCharFromFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, ClearFile, (const std::string& path), (override));
+  MOCK_METHOD(std::string,
+              ReadFileIntoString,
+              (const std::string& path),
+              (const, override));
+  MOCK_METHOD(size_t, NumberOfCpus, (), (const, override));
 };
 
 TEST(FtraceProcfsTest, ParseAvailableClocks) {
diff --git a/src/traced/probes/ftrace/proto_translation_table_unittest.cc b/src/traced/probes/ftrace/proto_translation_table_unittest.cc
index 6590115..0f91e1d 100644
--- a/src/traced/probes/ftrace/proto_translation_table_unittest.cc
+++ b/src/traced/probes/ftrace/proto_translation_table_unittest.cc
@@ -47,10 +47,11 @@
  public:
   MockFtraceProcfs() : FtraceProcfs("/root/") {}
 
-  MOCK_CONST_METHOD0(ReadPageHeaderFormat, std::string());
-  MOCK_CONST_METHOD2(ReadEventFormat,
-                     std::string(const std::string& group,
-                                 const std::string& name));
+  MOCK_METHOD(std::string, ReadPageHeaderFormat, (), (const, override));
+  MOCK_METHOD(std::string,
+              ReadEventFormat,
+              (const std::string& group, const std::string& name),
+              (const, override));
 };
 
 class AllTranslationTableTest : public TestWithParam<const char*> {
diff --git a/src/traced/probes/ftrace/vendor_tracepoints_unittest.cc b/src/traced/probes/ftrace/vendor_tracepoints_unittest.cc
index 908c6ff..4969fc8 100644
--- a/src/traced/probes/ftrace/vendor_tracepoints_unittest.cc
+++ b/src/traced/probes/ftrace/vendor_tracepoints_unittest.cc
@@ -40,9 +40,12 @@
 class MockHal : public AtraceHalWrapper {
  public:
   MockHal() : AtraceHalWrapper() {}
-  MOCK_METHOD0(ListCategories, std::vector<std::string>());
-  MOCK_METHOD1(EnableCategories, bool(const std::vector<std::string>&));
-  MOCK_METHOD0(DisableAllCategories, bool());
+  MOCK_METHOD(std::vector<std::string>, ListCategories, (), (override));
+  MOCK_METHOD(bool,
+              EnableCategories,
+              (const std::vector<std::string>&),
+              (override));
+  MOCK_METHOD(bool, DisableAllCategories, (), (override));
 };
 
 class MockFtraceProcfs : public FtraceProcfs {
@@ -54,18 +57,27 @@
     EXPECT_CALL(*this, NumberOfCpus()).Times(AnyNumber());
   }
 
-  MOCK_METHOD2(WriteToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD2(AppendToFile,
-               bool(const std::string& path, const std::string& str));
-  MOCK_METHOD1(ReadOneCharFromFile, char(const std::string& path));
-  MOCK_METHOD1(ClearFile, bool(const std::string& path));
-  MOCK_METHOD1(IsFileWriteable, bool(const std::string& path));
-  MOCK_CONST_METHOD1(ReadFileIntoString, std::string(const std::string& path));
-  MOCK_METHOD0(ReadEnabledEvents, std::vector<std::string>());
-  MOCK_CONST_METHOD0(NumberOfCpus, size_t());
-  MOCK_CONST_METHOD1(GetEventNamesForGroup,
-                     const std::set<std::string>(const std::string& path));
+  MOCK_METHOD(bool,
+              WriteToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(bool,
+              AppendToFile,
+              (const std::string& path, const std::string& str),
+              (override));
+  MOCK_METHOD(char, ReadOneCharFromFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, ClearFile, (const std::string& path), (override));
+  MOCK_METHOD(bool, IsFileWriteable, (const std::string& path), (override));
+  MOCK_METHOD(std::string,
+              ReadFileIntoString,
+              (const std::string& path),
+              (const, override));
+  MOCK_METHOD(std::vector<std::string>, ReadEnabledEvents, (), (override));
+  MOCK_METHOD(size_t, NumberOfCpus, (), (const, override));
+  MOCK_METHOD(const std::set<std::string>,
+              GetEventNamesForGroup,
+              (const std::string& path),
+              (const, override));
 };
 
 TEST(DiscoverVendorTracepointsTest, DiscoverVendorTracepointsWithHal) {
diff --git a/src/traced/probes/initial_display_state/initial_display_state_data_source_unittest.cc b/src/traced/probes/initial_display_state/initial_display_state_data_source_unittest.cc
index 6cb5f86..5c9822c 100644
--- a/src/traced/probes/initial_display_state/initial_display_state_data_source_unittest.cc
+++ b/src/traced/probes/initial_display_state/initial_display_state_data_source_unittest.cc
@@ -40,8 +40,10 @@
                                       /* session_id */ 0,
                                       std::move(writer)) {}
 
-  MOCK_METHOD1(ReadProperty,
-               const std::optional<std::string>(const std::string));
+  MOCK_METHOD(const std::optional<std::string>,
+              ReadProperty,
+              (const std::string),
+              (override));
 };
 
 class InitialDisplayStateDataSourceTest : public ::testing::Test {
diff --git a/src/traced/probes/ps/process_stats_data_source_unittest.cc b/src/traced/probes/ps/process_stats_data_source_unittest.cc
index c39b71e..c87f0bd 100644
--- a/src/traced/probes/ps/process_stats_data_source_unittest.cc
+++ b/src/traced/probes/ps/process_stats_data_source_unittest.cc
@@ -58,9 +58,12 @@
                                config,
                                std::move(cpu_freq_info)) {}
 
-  MOCK_METHOD0(GetProcMountpoint, const char*());
-  MOCK_METHOD0(OpenProcDir, base::ScopedDir());
-  MOCK_METHOD2(ReadProcPidFile, std::string(int32_t pid, const std::string&));
+  MOCK_METHOD(const char*, GetProcMountpoint, (), (override));
+  MOCK_METHOD(base::ScopedDir, OpenProcDir, (), (override));
+  MOCK_METHOD(std::string,
+              ReadProcPidFile,
+              (int32_t pid, const std::string&),
+              (override));
 };
 
 class ProcessStatsDataSourceTest : public ::testing::Test {
diff --git a/src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc b/src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc
index bd9eaa2..4aef49c 100644
--- a/src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc
+++ b/src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc
@@ -218,8 +218,11 @@
                            std::move(cpu_freq_info),
                            open_fn) {}
 
-  MOCK_METHOD0(OpenDevfreqDir, base::ScopedDir());
-  MOCK_METHOD1(ReadDevfreqCurFreq, const char*(const std::string& deviceName));
+  MOCK_METHOD(base::ScopedDir, OpenDevfreqDir, (), (override));
+  MOCK_METHOD(const char*,
+              ReadDevfreqCurFreq,
+              (const std::string& deviceName),
+              (override));
 };
 
 base::ScopedFile MockOpenReadOnly(const char* path) {
diff --git a/src/traced/probes/system_info/system_info_data_source_unittest.cc b/src/traced/probes/system_info/system_info_data_source_unittest.cc
index 281ad9f..8c204ec 100644
--- a/src/traced/probes/system_info/system_info_data_source_unittest.cc
+++ b/src/traced/probes/system_info/system_info_data_source_unittest.cc
@@ -115,7 +115,7 @@
             std::move(writer),
             std::move(cpu_freq_info)) {}
 
-  MOCK_METHOD1(ReadFile, std::string(std::string));
+  MOCK_METHOD(std::string, ReadFile, (std::string), (override));
 };
 
 class SystemInfoDataSourceTest : public ::testing::Test {
diff --git a/src/traced/service/builtin_producer_unittest.cc b/src/traced/service/builtin_producer_unittest.cc
index f95f9ec..16d5c31 100644
--- a/src/traced/service/builtin_producer_unittest.cc
+++ b/src/traced/service/builtin_producer_unittest.cc
@@ -39,8 +39,10 @@
   MockBuiltinProducer(base::TaskRunner* task_runner)
       : BuiltinProducer(task_runner, /*lazy_stop_delay_ms=*/0) {}
 
-  MOCK_METHOD2(SetAndroidProperty,
-               bool(const std::string&, const std::string&));
+  MOCK_METHOD(bool,
+              SetAndroidProperty,
+              (const std::string&, const std::string&),
+              (override));
 };
 
 TEST(BuiltinProducerTest, LazyHeapprofdSimple) {
diff --git a/src/tracing/test/mock_consumer.h b/src/tracing/test/mock_consumer.h
index f18671e..3b6ad2b 100644
--- a/src/tracing/test/mock_consumer.h
+++ b/src/tracing/test/mock_consumer.h
@@ -70,16 +70,20 @@
   }
 
   // Consumer implementation.
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
-  MOCK_METHOD1(OnTracingDisabled, void(const std::string& /*error*/));
-  MOCK_METHOD2(OnTraceData,
-               void(std::vector<TracePacket>* /*packets*/, bool /*has_more*/));
-  MOCK_METHOD1(OnDetach, void(bool));
-  MOCK_METHOD2(OnAttach, void(bool, const TraceConfig&));
-  MOCK_METHOD2(OnTraceStats, void(bool, const TraceStats&));
-  MOCK_METHOD1(OnObservableEvents, void(const ObservableEvents&));
-  MOCK_METHOD2(OnSessionCloned, void(bool, const std::string&));
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
+  MOCK_METHOD(void,
+              OnTracingDisabled,
+              (const std::string& /*error*/),
+              (override));
+  MOCK_METHOD(void,
+              OnTraceData,
+              (std::vector<TracePacket>* /*packets*/, bool /*has_more*/));
+  MOCK_METHOD(void, OnDetach, (bool), (override));
+  MOCK_METHOD(void, OnAttach, (bool, const TraceConfig&), (override));
+  MOCK_METHOD(void, OnTraceStats, (bool, const TraceStats&), (override));
+  MOCK_METHOD(void, OnObservableEvents, (const ObservableEvents&), (override));
+  MOCK_METHOD(void, OnSessionCloned, (bool, const std::string&), (override));
 
   // gtest doesn't support move-only types. This wrapper is here jut to pass
   // a pointer to the vector (rather than the vector itself) to the mock method.
diff --git a/src/tracing/test/mock_producer.h b/src/tracing/test/mock_producer.h
index 59ff7c2..ff2c45d 100644
--- a/src/tracing/test/mock_producer.h
+++ b/src/tracing/test/mock_producer.h
@@ -86,18 +86,26 @@
   }
 
   // Producer implementation.
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
-  MOCK_METHOD2(SetupDataSource,
-               void(DataSourceInstanceID, const DataSourceConfig&));
-  MOCK_METHOD2(StartDataSource,
-               void(DataSourceInstanceID, const DataSourceConfig&));
-  MOCK_METHOD1(StopDataSource, void(DataSourceInstanceID));
-  MOCK_METHOD0(OnTracingSetup, void());
-  MOCK_METHOD3(Flush,
-               void(FlushRequestID, const DataSourceInstanceID*, size_t));
-  MOCK_METHOD2(ClearIncrementalState,
-               void(const DataSourceInstanceID*, size_t));
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
+  MOCK_METHOD(void,
+              SetupDataSource,
+              (DataSourceInstanceID, const DataSourceConfig&),
+              (override));
+  MOCK_METHOD(void,
+              StartDataSource,
+              (DataSourceInstanceID, const DataSourceConfig&),
+              (override));
+  MOCK_METHOD(void, StopDataSource, (DataSourceInstanceID), (override));
+  MOCK_METHOD(void, OnTracingSetup, (), (override));
+  MOCK_METHOD(void,
+              Flush,
+              (FlushRequestID, const DataSourceInstanceID*, size_t),
+              (override));
+  MOCK_METHOD(void,
+              ClearIncrementalState,
+              (const DataSourceInstanceID*, size_t),
+              (override));
 
  private:
   base::TestTaskRunner* const task_runner_;
diff --git a/src/tracing/test/mock_producer_endpoint.h b/src/tracing/test/mock_producer_endpoint.h
index c2bd0a3..5efc0a5 100644
--- a/src/tracing/test/mock_producer_endpoint.h
+++ b/src/tracing/test/mock_producer_endpoint.h
@@ -25,24 +25,44 @@
 
 class MockProducerEndpoint : public TracingService::ProducerEndpoint {
  public:
-  MOCK_METHOD0(Disconnect, void());
-  MOCK_METHOD1(RegisterDataSource, void(const DataSourceDescriptor&));
-  MOCK_METHOD1(UpdateDataSource, void(const DataSourceDescriptor&));
-  MOCK_METHOD1(UnregisterDataSource, void(const std::string&));
-  MOCK_METHOD2(RegisterTraceWriter, void(uint32_t, uint32_t));
-  MOCK_METHOD1(UnregisterTraceWriter, void(uint32_t));
-  MOCK_METHOD2(CommitData, void(const CommitDataRequest&, CommitDataCallback));
-  MOCK_CONST_METHOD0(shared_memory, SharedMemory*());
-  MOCK_CONST_METHOD0(shared_buffer_page_size_kb, size_t());
-  MOCK_METHOD2(CreateTraceWriter,
-               std::unique_ptr<TraceWriter>(BufferID, BufferExhaustedPolicy));
-  MOCK_METHOD0(MaybeSharedMemoryArbiter, SharedMemoryArbiter*());
-  MOCK_CONST_METHOD0(IsShmemProvidedByProducer, bool());
-  MOCK_METHOD1(NotifyFlushComplete, void(FlushRequestID));
-  MOCK_METHOD1(NotifyDataSourceStarted, void(DataSourceInstanceID));
-  MOCK_METHOD1(NotifyDataSourceStopped, void(DataSourceInstanceID));
-  MOCK_METHOD1(ActivateTriggers, void(const std::vector<std::string>&));
-  MOCK_METHOD1(Sync, void(std::function<void()>));
+  MOCK_METHOD(void, Disconnect, (), (override));
+  MOCK_METHOD(void,
+              RegisterDataSource,
+              (const DataSourceDescriptor&),
+              (override));
+  MOCK_METHOD(void,
+              UpdateDataSource,
+              (const DataSourceDescriptor&),
+              (override));
+  MOCK_METHOD(void, UnregisterDataSource, (const std::string&), (override));
+  MOCK_METHOD(void, RegisterTraceWriter, (uint32_t, uint32_t), (override));
+  MOCK_METHOD(void, UnregisterTraceWriter, (uint32_t), (override));
+  MOCK_METHOD(void,
+              CommitData,
+              (const CommitDataRequest&, CommitDataCallback),
+              (override));
+  MOCK_METHOD(SharedMemory*, shared_memory, (), (const, override));
+  MOCK_METHOD(size_t, shared_buffer_page_size_kb, (), (const, override));
+  MOCK_METHOD(std::unique_ptr<TraceWriter>,
+              CreateTraceWriter,
+              (BufferID, BufferExhaustedPolicy),
+              (override));
+  MOCK_METHOD(SharedMemoryArbiter*, MaybeSharedMemoryArbiter, (), (override));
+  MOCK_METHOD(bool, IsShmemProvidedByProducer, (), (const, override));
+  MOCK_METHOD(void, NotifyFlushComplete, (FlushRequestID), (override));
+  MOCK_METHOD(void,
+              NotifyDataSourceStarted,
+              (DataSourceInstanceID),
+              (override));
+  MOCK_METHOD(void,
+              NotifyDataSourceStopped,
+              (DataSourceInstanceID),
+              (override));
+  MOCK_METHOD(void,
+              ActivateTriggers,
+              (const std::vector<std::string>&),
+              (override));
+  MOCK_METHOD(void, Sync, (std::function<void()>), (override));
 };
 
 }  // namespace perfetto
diff --git a/src/tracing/test/tracing_integration_test.cc b/src/tracing/test/tracing_integration_test.cc
index b14f121..676f7dd 100644
--- a/src/tracing/test/tracing_integration_test.cc
+++ b/src/tracing/test/tracing_integration_test.cc
@@ -58,19 +58,26 @@
   ~MockProducer() override {}
 
   // Producer implementation.
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
-  MOCK_METHOD2(SetupDataSource,
-               void(DataSourceInstanceID, const DataSourceConfig&));
-  MOCK_METHOD2(StartDataSource,
-               void(DataSourceInstanceID, const DataSourceConfig&));
-  MOCK_METHOD1(StopDataSource, void(DataSourceInstanceID));
-  MOCK_METHOD0(uid, uid_t());
-  MOCK_METHOD0(OnTracingSetup, void());
-  MOCK_METHOD3(Flush,
-               void(FlushRequestID, const DataSourceInstanceID*, size_t));
-  MOCK_METHOD2(ClearIncrementalState,
-               void(const DataSourceInstanceID*, size_t));
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
+  MOCK_METHOD(void,
+              SetupDataSource,
+              (DataSourceInstanceID, const DataSourceConfig&),
+              (override));
+  MOCK_METHOD(void,
+              StartDataSource,
+              (DataSourceInstanceID, const DataSourceConfig&),
+              (override));
+  MOCK_METHOD(void, StopDataSource, (DataSourceInstanceID), (override));
+  MOCK_METHOD(void, OnTracingSetup, (), (override));
+  MOCK_METHOD(void,
+              Flush,
+              (FlushRequestID, const DataSourceInstanceID*, size_t),
+              (override));
+  MOCK_METHOD(void,
+              ClearIncrementalState,
+              (const DataSourceInstanceID*, size_t),
+              (override));
 };
 
 class MockConsumer : public Consumer {
@@ -78,15 +85,18 @@
   ~MockConsumer() override {}
 
   // Producer implementation.
-  MOCK_METHOD0(OnConnect, void());
-  MOCK_METHOD0(OnDisconnect, void());
-  MOCK_METHOD1(OnTracingDisabled, void(const std::string& /*error*/));
-  MOCK_METHOD2(OnTracePackets, void(std::vector<TracePacket>*, bool));
-  MOCK_METHOD1(OnDetach, void(bool));
-  MOCK_METHOD2(OnAttach, void(bool, const TraceConfig&));
-  MOCK_METHOD2(OnTraceStats, void(bool, const TraceStats&));
-  MOCK_METHOD1(OnObservableEvents, void(const ObservableEvents&));
-  MOCK_METHOD2(OnSessionCloned, void(bool, const std::string&));
+  MOCK_METHOD(void, OnConnect, (), (override));
+  MOCK_METHOD(void, OnDisconnect, (), (override));
+  MOCK_METHOD(void,
+              OnTracingDisabled,
+              (const std::string& /*error*/),
+              (override));
+  MOCK_METHOD(void, OnTracePackets, (std::vector<TracePacket>*, bool));
+  MOCK_METHOD(void, OnDetach, (bool), (override));
+  MOCK_METHOD(void, OnAttach, (bool, const TraceConfig&), (override));
+  MOCK_METHOD(void, OnTraceStats, (bool, const TraceStats&), (override));
+  MOCK_METHOD(void, OnObservableEvents, (const ObservableEvents&), (override));
+  MOCK_METHOD(void, OnSessionCloned, (bool, const std::string&), (override));
 
   // Workaround, gmock doesn't support yet move-only types, passing a pointer.
   void OnTraceData(std::vector<TracePacket> packets, bool has_more) {