blob: e60d7cab14a145fb6dfad7d9d3a3afa5a1af62d6 [file] [log] [blame]
// Copyright 2017 The Chromium 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 "services/tracing/test_util.h"
#include <string>
#include "services/tracing/public/mojom/tracing.mojom.h"
namespace tracing {
MockAgent::MockAgent() : binding_(this) {}
MockAgent::~MockAgent() = default;
mojom::AgentPtr MockAgent::CreateAgentPtr() {
mojom::AgentPtr agent_proxy;
binding_.Bind(mojo::MakeRequest(&agent_proxy));
return agent_proxy;
}
void MockAgent::StartTracing(const std::string& config,
base::TimeTicks coordinator_time,
const StartTracingCallback& cb) {
call_stat_.push_back("StartTracing");
cb.Run(true);
}
void MockAgent::StopAndFlush(mojom::RecorderPtr recorder) {
call_stat_.push_back("StopAndFlush");
if (!metadata_.empty())
recorder->AddMetadata(metadata_.CreateDeepCopy());
for (const auto& chunk : data_) {
recorder->AddChunk(chunk);
}
}
void MockAgent::RequestClockSyncMarker(
const std::string& sync_id,
const RequestClockSyncMarkerCallback& cb) {
call_stat_.push_back("RequestClockSyncMarker");
}
void MockAgent::GetCategories(const GetCategoriesCallback& cb) {
call_stat_.push_back("GetCategories");
cb.Run(categories_);
}
void MockAgent::RequestBufferStatus(const RequestBufferStatusCallback& cb) {
call_stat_.push_back("RequestBufferStatus");
cb.Run(trace_log_status_.event_capacity, trace_log_status_.event_count);
}
} // namespace tracing