| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/debug/trace_event_unittest.h" | 5 #include "base/debug/trace_event_unittest.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 #include <cstdlib> | 8 #include <cstdlib> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 988 } | 988 } |
| 989 | 989 |
| 990 // Tests the IsEnabled() state of TraceLog changes before callbacks. | 990 // Tests the IsEnabled() state of TraceLog changes before callbacks. |
| 991 class AfterStateChangeEnabledStateObserver | 991 class AfterStateChangeEnabledStateObserver |
| 992 : public TraceLog::EnabledStateObserver { | 992 : public TraceLog::EnabledStateObserver { |
| 993 public: | 993 public: |
| 994 AfterStateChangeEnabledStateObserver() {} | 994 AfterStateChangeEnabledStateObserver() {} |
| 995 virtual ~AfterStateChangeEnabledStateObserver() {} | 995 virtual ~AfterStateChangeEnabledStateObserver() {} |
| 996 | 996 |
| 997 // TraceLog::EnabledStateObserver overrides: | 997 // TraceLog::EnabledStateObserver overrides: |
| 998 virtual void OnTraceLogEnabled() override { | 998 void OnTraceLogEnabled() override { |
| 999 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); | 999 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| 1000 } | 1000 } |
| 1001 | 1001 |
| 1002 virtual void OnTraceLogDisabled() override { | 1002 void OnTraceLogDisabled() override { |
| 1003 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); | 1003 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); |
| 1004 } | 1004 } |
| 1005 }; | 1005 }; |
| 1006 | 1006 |
| 1007 TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) { | 1007 TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) { |
| 1008 AfterStateChangeEnabledStateObserver observer; | 1008 AfterStateChangeEnabledStateObserver observer; |
| 1009 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); | 1009 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| 1010 | 1010 |
| 1011 TraceLog::GetInstance()->SetEnabled( | 1011 TraceLog::GetInstance()->SetEnabled( |
| 1012 CategoryFilter("*"), | 1012 CategoryFilter("*"), |
| 1013 TraceLog::RECORDING_MODE, | 1013 TraceLog::RECORDING_MODE, |
| 1014 TraceOptions()); | 1014 TraceOptions()); |
| 1015 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); | 1015 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); |
| 1016 | 1016 |
| 1017 TraceLog::GetInstance()->SetDisabled(); | 1017 TraceLog::GetInstance()->SetDisabled(); |
| 1018 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); | 1018 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); |
| 1019 | 1019 |
| 1020 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); | 1020 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); |
| 1021 } | 1021 } |
| 1022 | 1022 |
| 1023 // Tests that a state observer can remove itself during a callback. | 1023 // Tests that a state observer can remove itself during a callback. |
| 1024 class SelfRemovingEnabledStateObserver | 1024 class SelfRemovingEnabledStateObserver |
| 1025 : public TraceLog::EnabledStateObserver { | 1025 : public TraceLog::EnabledStateObserver { |
| 1026 public: | 1026 public: |
| 1027 SelfRemovingEnabledStateObserver() {} | 1027 SelfRemovingEnabledStateObserver() {} |
| 1028 virtual ~SelfRemovingEnabledStateObserver() {} | 1028 virtual ~SelfRemovingEnabledStateObserver() {} |
| 1029 | 1029 |
| 1030 // TraceLog::EnabledStateObserver overrides: | 1030 // TraceLog::EnabledStateObserver overrides: |
| 1031 virtual void OnTraceLogEnabled() override {} | 1031 void OnTraceLogEnabled() override {} |
| 1032 | 1032 |
| 1033 virtual void OnTraceLogDisabled() override { | 1033 void OnTraceLogDisabled() override { |
| 1034 TraceLog::GetInstance()->RemoveEnabledStateObserver(this); | 1034 TraceLog::GetInstance()->RemoveEnabledStateObserver(this); |
| 1035 } | 1035 } |
| 1036 }; | 1036 }; |
| 1037 | 1037 |
| 1038 TEST_F(TraceEventTestFixture, SelfRemovingObserver) { | 1038 TEST_F(TraceEventTestFixture, SelfRemovingObserver) { |
| 1039 ASSERT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest()); | 1039 ASSERT_EQ(0u, TraceLog::GetInstance()->GetObserverCountForTest()); |
| 1040 | 1040 |
| 1041 SelfRemovingEnabledStateObserver observer; | 1041 SelfRemovingEnabledStateObserver observer; |
| 1042 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); | 1042 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); |
| 1043 EXPECT_EQ(1u, TraceLog::GetInstance()->GetObserverCountForTest()); | 1043 EXPECT_EQ(1u, TraceLog::GetInstance()->GetObserverCountForTest()); |
| (...skipping 867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1911 EXPECT_FALSE(FindNamePhase("CCC", "P")); | 1911 EXPECT_FALSE(FindNamePhase("CCC", "P")); |
| 1912 EXPECT_FALSE(FindNamePhase("DDD", "P")); | 1912 EXPECT_FALSE(FindNamePhase("DDD", "P")); |
| 1913 | 1913 |
| 1914 Clear(); | 1914 Clear(); |
| 1915 } | 1915 } |
| 1916 | 1916 |
| 1917 class MyData : public ConvertableToTraceFormat { | 1917 class MyData : public ConvertableToTraceFormat { |
| 1918 public: | 1918 public: |
| 1919 MyData() {} | 1919 MyData() {} |
| 1920 | 1920 |
| 1921 virtual void AppendAsTraceFormat(std::string* out) const override { | 1921 void AppendAsTraceFormat(std::string* out) const override { |
| 1922 out->append("{\"foo\":1}"); | 1922 out->append("{\"foo\":1}"); |
| 1923 } | 1923 } |
| 1924 | 1924 |
| 1925 private: | 1925 private: |
| 1926 virtual ~MyData() {} | 1926 ~MyData() override {} |
| 1927 DISALLOW_COPY_AND_ASSIGN(MyData); | 1927 DISALLOW_COPY_AND_ASSIGN(MyData); |
| 1928 }; | 1928 }; |
| 1929 | 1929 |
| 1930 TEST_F(TraceEventTestFixture, ConvertableTypes) { | 1930 TEST_F(TraceEventTestFixture, ConvertableTypes) { |
| 1931 TraceLog::GetInstance()->SetEnabled( | 1931 TraceLog::GetInstance()->SetEnabled( |
| 1932 CategoryFilter("*"), | 1932 CategoryFilter("*"), |
| 1933 TraceLog::RECORDING_MODE, | 1933 TraceLog::RECORDING_MODE, |
| 1934 TraceOptions()); | 1934 TraceOptions()); |
| 1935 | 1935 |
| 1936 scoped_refptr<ConvertableToTraceFormat> data(new MyData()); | 1936 scoped_refptr<ConvertableToTraceFormat> data(new MyData()); |
| (...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3071 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling); | 3071 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling); |
| 3072 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace); | 3072 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace); |
| 3073 } | 3073 } |
| 3074 } | 3074 } |
| 3075 } | 3075 } |
| 3076 } | 3076 } |
| 3077 | 3077 |
| 3078 | 3078 |
| 3079 } // namespace debug | 3079 } // namespace debug |
| 3080 } // namespace base | 3080 } // namespace base |
| OLD | NEW |