Commit cbaf986f authored by Oystein Eftevaag's avatar Oystein Eftevaag Committed by Commit Bot

Properly reset ProducerClient between TraceEventAgentTest runs

These tests were failing under lsan as the ScopedTaskEnvironment used
in the test environment requires the ProducerClient test runner to be
reset between each test.

R=ssid@chromium.org

Bug: 936907
Change-Id: Iade8c117c43a9071d1e3ea85619930de21f6ea0d
Reviewed-on: https://chromium-review.googlesource.com/c/1495043Reviewed-by: default avatarssid <ssid@chromium.org>
Commit-Queue: oysteine <oysteine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636539}
parent 28275687
...@@ -79,6 +79,7 @@ base::SequencedTaskRunner* ProducerClient::GetTaskRunner() { ...@@ -79,6 +79,7 @@ base::SequencedTaskRunner* ProducerClient::GetTaskRunner() {
// static // static
void ProducerClient::ResetTaskRunnerForTesting() { void ProducerClient::ResetTaskRunnerForTesting() {
DETACH_FROM_SEQUENCE(ProducerClient::Get()->sequence_checker_);
GetPerfettoTaskRunner()->ResetTaskRunnerForTesting(CreateTaskRunner()); GetPerfettoTaskRunner()->ResetTaskRunnerForTesting(CreateTaskRunner());
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "base/trace_event/trace_log.h" #include "base/trace_event/trace_log.h"
#include "base/values.h" #include "base/values.h"
#include "services/tracing/public/cpp/perfetto/producer_client.h"
#include "services/tracing/public/mojom/tracing.mojom.h" #include "services/tracing/public/mojom/tracing.mojom.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
...@@ -82,6 +83,8 @@ class MockRecorder : public mojom::Recorder { ...@@ -82,6 +83,8 @@ class MockRecorder : public mojom::Recorder {
class TraceEventAgentTest : public testing::Test { class TraceEventAgentTest : public testing::Test {
public: public:
void SetUp() override { ProducerClient::ResetTaskRunnerForTesting(); }
void TearDown() override { void TearDown() override {
base::trace_event::TraceLog::GetInstance()->SetDisabled(); base::trace_event::TraceLog::GetInstance()->SetDisabled();
recorder_.reset(); recorder_.reset();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment