Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4376)

Unified Diff: base/trace_event/trace_event_unittest.cc

Issue 2549103003: tracing: split trace event filter classes out of TraceLog (Closed)
Patch Set: . Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/trace_event/trace_event_unittest.cc
diff --git a/base/trace_event/trace_event_unittest.cc b/base/trace_event/trace_event_unittest.cc
index 81d043ac3945d3582b0a99c22f4adb22d1bd8a21..7a9d284876ba2f0f322de6a0591169912912f98f 100644
--- a/base/trace_event/trace_event_unittest.cc
+++ b/base/trace_event/trace_event_unittest.cc
@@ -30,8 +30,12 @@
#include "base/threading/platform_thread.h"
#include "base/threading/thread.h"
#include "base/time/time.h"
+#include "base/trace_event/event_name_filter.h"
+#include "base/trace_event/heap_profiler_event_filter.h"
#include "base/trace_event/trace_buffer.h"
#include "base/trace_event/trace_event.h"
+#include "base/trace_event/trace_event_filter.h"
+#include "base/trace_event/trace_event_filter_test_utils.h"
#include "base/trace_event/trace_event_synthetic_delay.h"
#include "base/values.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -2956,45 +2960,6 @@ TEST_F(TraceEventTestFixture, SyntheticDelayConfigurationToString) {
EXPECT_EQ(filter, config.ToCategoryFilterString());
}
-class TestEventFilter : public TraceLog::TraceEventFilter {
- public:
- bool FilterTraceEvent(const TraceEvent& trace_event) const override {
- filter_trace_event_hit_count_++;
- return filter_return_value_;
- }
-
- void EndEvent(const char* category_group, const char* name) override {
- end_event_hit_count_++;
- }
-
- static void set_filter_return_value(bool value) {
- filter_return_value_ = value;
- }
-
- static size_t filter_trace_event_hit_count() {
- return filter_trace_event_hit_count_;
- }
- static size_t end_event_hit_count() { return end_event_hit_count_; }
-
- static void clear_counts() {
- filter_trace_event_hit_count_ = 0;
- end_event_hit_count_ = 0;
- }
-
- private:
- static size_t filter_trace_event_hit_count_;
- static size_t end_event_hit_count_;
- static bool filter_return_value_;
-};
-
-size_t TestEventFilter::filter_trace_event_hit_count_ = 0;
-size_t TestEventFilter::end_event_hit_count_ = 0;
-bool TestEventFilter::filter_return_value_ = false;
-
-std::unique_ptr<TraceLog::TraceEventFilter> ConstructTestEventFilter() {
- return WrapUnique(new TestEventFilter);
-}
-
TEST_F(TraceEventTestFixture, TraceFilteringMode) {
const char config_json[] =
"{"
@@ -3007,8 +2972,8 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) {
"}";
// Run RECORDING_MODE within FILTERING_MODE:
+ TestEventFilter::clear_counts();
Primiano Tucci (use gerrit) 2016/12/06 14:02:31 this is purely for test isolation. I think I notic
kraynov 2016/12/06 18:24:23 I would prefer not making stateful design.
Primiano Tucci (use gerrit) 2016/12/07 11:17:47 Fixed by splitting out the HitCounter class
TestEventFilter::set_filter_return_value(true);
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter);
// Only filtering mode is enabled with test filters.
TraceLog::GetInstance()->SetEnabled(TraceConfig(config_json),
@@ -3111,8 +3076,9 @@ TEST_F(TraceEventTestFixture, EventFiltering) {
" ]"
"}";
+ TestEventFilter::clear_counts();
TestEventFilter::set_filter_return_value(true);
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter);
+
TraceConfig trace_config(config_json);
TraceLog::GetInstance()->SetEnabled(
trace_config, TraceLog::RECORDING_MODE | TraceLog::FILTERING_MODE);
@@ -3150,7 +3116,7 @@ TEST_F(TraceEventTestFixture, EventWhitelistFiltering) {
" "
" ]"
"}",
- TraceLog::TraceEventFilter::kEventWhitelistPredicate);
+ EventNameFilter::kName);
TraceConfig trace_config(config_json);
TraceLog::GetInstance()->SetEnabled(
@@ -3182,7 +3148,7 @@ TEST_F(TraceEventTestFixture, HeapProfilerFiltering) {
" }"
" ]"
"}",
- TraceLog::TraceEventFilter::kHeapProfilerPredicate);
+ HeapProfilerEventFilter::kName);
TraceConfig trace_config(config_json);
TraceLog::GetInstance()->SetEnabled(

Powered by Google App Engine
This is Rietveld 408576698