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

Unified Diff: base/trace_event/trace_event_unittest.cc

Issue 2549103003: tracing: split trace event filter classes out of TraceLog (Closed)
Patch Set: Add BASE_EXPORT 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
« no previous file with comments | « base/trace_event/trace_event_filter_test_utils.cc ('k') | base/trace_event/trace_log.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..a7302527c4f8c1598aca373b3f43d99cb5b57169 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,9 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) {
"}";
// Run RECORDING_MODE within FILTERING_MODE:
+ TestEventFilter::HitsCounter filter_hits_counter;
TestEventFilter::set_filter_return_value(true);
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter);
+ TraceLog::GetInstance()->SetFilterFactoryForTesting(TestEventFilter::Factory);
// Only filtering mode is enabled with test filters.
TraceLog::GetInstance()->SetEnabled(TraceConfig(config_json),
@@ -3048,10 +3014,10 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) {
EXPECT_FALSE(FindMatchingValue("name", "name1"));
EXPECT_TRUE(FindMatchingValue("cat", "c2"));
EXPECT_TRUE(FindMatchingValue("name", "name2"));
- EXPECT_EQ(6u, TestEventFilter::filter_trace_event_hit_count());
- EXPECT_EQ(3u, TestEventFilter::end_event_hit_count());
+ EXPECT_EQ(6u, filter_hits_counter.filter_trace_event_hit_count);
+ EXPECT_EQ(3u, filter_hits_counter.end_event_hit_count);
Clear();
- TestEventFilter::clear_counts();
+ filter_hits_counter.Reset();
// Run FILTERING_MODE within RECORDING_MODE:
// Only recording mode is enabled and all events must be recorded.
@@ -3090,10 +3056,9 @@ TEST_F(TraceEventTestFixture, TraceFilteringMode) {
EXPECT_TRUE(FindMatchingValue("name", "name2"));
EXPECT_FALSE(FindMatchingValue("cat", "c1"));
EXPECT_FALSE(FindMatchingValue("name", "name1"));
- EXPECT_EQ(1u, TestEventFilter::filter_trace_event_hit_count());
- EXPECT_EQ(1u, TestEventFilter::end_event_hit_count());
+ EXPECT_EQ(1u, filter_hits_counter.filter_trace_event_hit_count);
+ EXPECT_EQ(1u, filter_hits_counter.end_event_hit_count);
Clear();
- TestEventFilter::clear_counts();
}
TEST_F(TraceEventTestFixture, EventFiltering) {
@@ -3111,8 +3076,10 @@ TEST_F(TraceEventTestFixture, EventFiltering) {
" ]"
"}";
+ TestEventFilter::HitsCounter filter_hits_counter;
TestEventFilter::set_filter_return_value(true);
- TraceLog::SetTraceEventFilterConstructorForTesting(ConstructTestEventFilter);
+ TraceLog::GetInstance()->SetFilterFactoryForTesting(TestEventFilter::Factory);
+
TraceConfig trace_config(config_json);
TraceLog::GetInstance()->SetEnabled(
trace_config, TraceLog::RECORDING_MODE | TraceLog::FILTERING_MODE);
@@ -3127,9 +3094,8 @@ TEST_F(TraceEventTestFixture, EventFiltering) {
EndTraceAndFlush();
- EXPECT_EQ(3u, TestEventFilter::filter_trace_event_hit_count());
- EXPECT_EQ(1u, TestEventFilter::end_event_hit_count());
- TestEventFilter::clear_counts();
+ EXPECT_EQ(3u, filter_hits_counter.filter_trace_event_hit_count);
+ EXPECT_EQ(1u, filter_hits_counter.end_event_hit_count);
}
TEST_F(TraceEventTestFixture, EventWhitelistFiltering) {
@@ -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(
« no previous file with comments | « base/trace_event/trace_event_filter_test_utils.cc ('k') | base/trace_event/trace_log.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698