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

Side by Side Diff: base/debug/trace_event_unittest.cc

Issue 492823002: Add OnBeforeTraceLogDisabled notification to EnabledStateObserver (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 880 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 EndTraceAndFlush(); 891 EndTraceAndFlush();
892 892
893 ValidateAllTraceMacrosCreatedData(trace_parsed_); 893 ValidateAllTraceMacrosCreatedData(trace_parsed_);
894 } 894 }
895 895
896 class MockEnabledStateChangedObserver : 896 class MockEnabledStateChangedObserver :
897 public TraceLog::EnabledStateObserver { 897 public TraceLog::EnabledStateObserver {
898 public: 898 public:
899 MOCK_METHOD0(OnTraceLogEnabled, void()); 899 MOCK_METHOD0(OnTraceLogEnabled, void());
900 MOCK_METHOD0(OnTraceLogDisabled, void()); 900 MOCK_METHOD0(OnTraceLogDisabled, void());
901 MOCK_METHOD0(OnTraceLogDisabling, void());
901 }; 902 };
902 903
903 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) { 904 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnEnable) {
904 MockEnabledStateChangedObserver observer; 905 MockEnabledStateChangedObserver observer;
905 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); 906 TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
906 907
907 EXPECT_CALL(observer, OnTraceLogEnabled()) 908 EXPECT_CALL(observer, OnTraceLogEnabled())
908 .Times(1); 909 .Times(1);
909 TraceLog::GetInstance()->SetEnabled( 910 TraceLog::GetInstance()->SetEnabled(
910 CategoryFilter("*"), 911 CategoryFilter("*"),
(...skipping 13 matching lines...) Expand all
924 TraceLog::RECORDING_MODE, 925 TraceLog::RECORDING_MODE,
925 TraceOptions()); 926 TraceOptions());
926 927
927 testing::StrictMock<MockEnabledStateChangedObserver> observer; 928 testing::StrictMock<MockEnabledStateChangedObserver> observer;
928 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); 929 TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
929 930
930 EXPECT_CALL(observer, OnTraceLogEnabled()) 931 EXPECT_CALL(observer, OnTraceLogEnabled())
931 .Times(0); 932 .Times(0);
932 EXPECT_CALL(observer, OnTraceLogDisabled()) 933 EXPECT_CALL(observer, OnTraceLogDisabled())
933 .Times(0); 934 .Times(0);
935 EXPECT_CALL(observer, OnTraceLogDisabling())
936 .Times(0);
934 TraceLog::GetInstance()->SetEnabled( 937 TraceLog::GetInstance()->SetEnabled(
935 CategoryFilter("*"), 938 CategoryFilter("*"),
936 TraceLog::RECORDING_MODE, 939 TraceLog::RECORDING_MODE,
937 TraceOptions()); 940 TraceOptions());
938 testing::Mock::VerifyAndClear(&observer); 941 testing::Mock::VerifyAndClear(&observer);
939 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); 942 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
940 943
941 // Cleanup. 944 // Cleanup.
942 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); 945 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
943 TraceLog::GetInstance()->SetDisabled(); 946 TraceLog::GetInstance()->SetDisabled();
(...skipping 11 matching lines...) Expand all
955 TraceLog::RECORDING_MODE, 958 TraceLog::RECORDING_MODE,
956 TraceOptions()); 959 TraceOptions());
957 960
958 testing::StrictMock<MockEnabledStateChangedObserver> observer; 961 testing::StrictMock<MockEnabledStateChangedObserver> observer;
959 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); 962 TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
960 963
961 EXPECT_CALL(observer, OnTraceLogEnabled()) 964 EXPECT_CALL(observer, OnTraceLogEnabled())
962 .Times(0); 965 .Times(0);
963 EXPECT_CALL(observer, OnTraceLogDisabled()) 966 EXPECT_CALL(observer, OnTraceLogDisabled())
964 .Times(1); 967 .Times(1);
968 EXPECT_CALL(observer, OnTraceLogDisabling())
969 .Times(1);
965 TraceLog::GetInstance()->SetDisabled(); 970 TraceLog::GetInstance()->SetDisabled();
966 testing::Mock::VerifyAndClear(&observer); 971 testing::Mock::VerifyAndClear(&observer);
967 972
968 // Cleanup. 973 // Cleanup.
969 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); 974 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
970 TraceLog::GetInstance()->SetDisabled(); 975 TraceLog::GetInstance()->SetDisabled();
971 } 976 }
972 977
973 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) { 978 TEST_F(TraceEventTestFixture, EnabledObserverFiresOnDisable) {
974 TraceLog::GetInstance()->SetEnabled( 979 TraceLog::GetInstance()->SetEnabled(
975 CategoryFilter("*"), 980 CategoryFilter("*"),
976 TraceLog::RECORDING_MODE, 981 TraceLog::RECORDING_MODE,
977 TraceOptions()); 982 TraceOptions());
978 983
979 MockEnabledStateChangedObserver observer; 984 MockEnabledStateChangedObserver observer;
980 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); 985 TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
981 986
982 EXPECT_CALL(observer, OnTraceLogDisabled()) 987 EXPECT_CALL(observer, OnTraceLogDisabled())
983 .Times(1); 988 .Times(1);
989 EXPECT_CALL(observer, OnTraceLogDisabling())
990 .Times(1);
984 TraceLog::GetInstance()->SetDisabled(); 991 TraceLog::GetInstance()->SetDisabled();
985 testing::Mock::VerifyAndClear(&observer); 992 testing::Mock::VerifyAndClear(&observer);
986 993
987 // Cleanup. 994 // Cleanup.
988 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer); 995 TraceLog::GetInstance()->RemoveEnabledStateObserver(&observer);
989 } 996 }
990 997
991 // Tests the IsEnabled() state of TraceLog changes before callbacks. 998 // Tests the IsEnabled() state of TraceLog changes before callbacks.
992 class AfterStateChangeEnabledStateObserver 999 class AfterStateChangeEnabledStateObserver
993 : public TraceLog::EnabledStateObserver { 1000 : public TraceLog::EnabledStateObserver {
994 public: 1001 public:
995 AfterStateChangeEnabledStateObserver() {} 1002 AfterStateChangeEnabledStateObserver() {}
996 virtual ~AfterStateChangeEnabledStateObserver() {} 1003 virtual ~AfterStateChangeEnabledStateObserver() {}
997 1004
998 // TraceLog::EnabledStateObserver overrides: 1005 // TraceLog::EnabledStateObserver overrides:
999 virtual void OnTraceLogEnabled() OVERRIDE { 1006 virtual void OnTraceLogEnabled() OVERRIDE {
1000 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled()); 1007 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
1001 } 1008 }
1002 1009
1003 virtual void OnTraceLogDisabled() OVERRIDE { 1010 virtual void OnTraceLogDisabled() OVERRIDE {
1004 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled()); 1011 EXPECT_FALSE(TraceLog::GetInstance()->IsEnabled());
1005 } 1012 }
1013
1014 virtual void OnTraceLogDisabling() OVERRIDE {
1015 EXPECT_TRUE(TraceLog::GetInstance()->IsEnabled());
1016 }
1006 }; 1017 };
1007 1018
1008 TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) { 1019 TEST_F(TraceEventTestFixture, ObserversFireAfterStateChange) {
1009 AfterStateChangeEnabledStateObserver observer; 1020 AfterStateChangeEnabledStateObserver observer;
1010 TraceLog::GetInstance()->AddEnabledStateObserver(&observer); 1021 TraceLog::GetInstance()->AddEnabledStateObserver(&observer);
1011 1022
1012 TraceLog::GetInstance()->SetEnabled( 1023 TraceLog::GetInstance()->SetEnabled(
1013 CategoryFilter("*"), 1024 CategoryFilter("*"),
1014 TraceLog::RECORDING_MODE, 1025 TraceLog::RECORDING_MODE,
1015 TraceOptions()); 1026 TraceOptions());
(...skipping 2056 matching lines...) Expand 10 before | Expand all | Expand 10 after
3072 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling); 3083 EXPECT_EQ(original_option.enable_sampling, new_options.enable_sampling);
3073 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace); 3084 EXPECT_EQ(original_option.enable_systrace, new_options.enable_systrace);
3074 } 3085 }
3075 } 3086 }
3076 } 3087 }
3077 } 3088 }
3078 3089
3079 3090
3080 } // namespace debug 3091 } // namespace debug
3081 } // namespace base 3092 } // namespace base
OLDNEW
« base/debug/trace_event_impl.h ('K') | « base/debug/trace_event_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698