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 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |