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

Side by Side Diff: components/sync/protocol/proto_size_estimations_unittest.cc

Issue 2382443006: Sync MDP: implement MemoryDumpProvider
Patch Set: Created 4 years, 2 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
OLDNEW
(Empty)
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/debug/scoped_thread_heap_usage.h"
6 #include "base/logging.h"
7 #include "build/build_config.h"
8 #include "components/sync/protocol/app_list_specifics.pb.h"
9 #include "components/sync/protocol/app_notification_specifics.pb.h"
10 #include "components/sync/protocol/app_setting_specifics.pb.h"
11 #include "components/sync/protocol/app_specifics.pb.h"
12 #include "components/sync/protocol/arc_package_specifics.pb.h"
13 #include "components/sync/protocol/autofill_specifics.pb.h"
14 #include "components/sync/protocol/bookmark_specifics.pb.h"
15 #include "components/sync/protocol/dictionary_specifics.pb.h"
16 #include "components/sync/protocol/encryption.pb.h"
17 #include "components/sync/protocol/entity_metadata.pb.h"
18 #include "components/sync/protocol/experiments_specifics.pb.h"
19 #include "components/sync/protocol/extension_setting_specifics.pb.h"
20 #include "components/sync/protocol/extension_specifics.pb.h"
21 #include "components/sync/protocol/favicon_image_specifics.pb.h"
22 #include "components/sync/protocol/favicon_tracking_specifics.pb.h"
23 #include "components/sync/protocol/history_delete_directive_specifics.pb.h"
24 #include "components/sync/protocol/nigori_specifics.pb.h"
25 #include "components/sync/protocol/password_specifics.pb.h"
26 #include "components/sync/protocol/preference_specifics.pb.h"
27 #include "components/sync/protocol/printer_specifics.pb.h"
28 #include "components/sync/protocol/priority_preference_specifics.pb.h"
29 #include "components/sync/protocol/proto_enum_conversions.h"
30 #include "components/sync/protocol/proto_size_estimations.h"
31 #include "components/sync/protocol/proto_unittest_serialized_data.h"
32 #include "components/sync/protocol/reading_list_specifics.pb.h"
33 #include "components/sync/protocol/search_engine_specifics.pb.h"
34 #include "components/sync/protocol/session_specifics.pb.h"
35 #include "components/sync/protocol/sync.pb.h"
36 #include "components/sync/protocol/theme_specifics.pb.h"
37 #include "components/sync/protocol/typed_url_specifics.pb.h"
38 #include "components/sync/protocol/unique_position.pb.h"
39 #include "testing/gtest/include/gtest/gtest.h"
40
41 #if BUILDFLAG(USE_EXPERIMENTAL_ALLOCATOR_SHIM)
42
43 namespace syncer {
44 namespace {
45
46 using base::debug::ScopedThreadHeapUsage;
47
48 class TestingScopedThreadHeapUsage : public ScopedThreadHeapUsage {
49 public:
50 using ScopedThreadHeapUsage::DisableHeapTrackingForTesting;
51 };
52
53 class ProtoSizeEstimationsTest : public testing::Test {
54 public:
55 void SetUp() override {
56 TestingScopedThreadHeapUsage::Initialize();
57 TestingScopedThreadHeapUsage::EnableHeapTracking();
58 }
59 void TearDown() override {
60 TestingScopedThreadHeapUsage::DisableHeapTrackingForTesting();
61 }
62 };
63
64 #define IMPLEMENT_TEST(Proto) \
65 TEST_F(ProtoSizeEstimationsTest, Proto) { \
66 sync_pb::Proto proto; \
67 const auto& serialized_data = SerializedProto<sync_pb::Proto>::data; \
68 \
69 base::debug::ScopedThreadHeapUsage scoped_heap_usage; \
70 auto usage_before = ScopedThreadHeapUsage::CurrentUsage(); \
71 EXPECT_TRUE(proto.ParseFromArray(serialized_data, sizeof(serialized_data))); \
72 auto usage_after = ScopedThreadHeapUsage::CurrentUsage(); \
73 \
74 size_t memory_usage = \
75 (usage_after.alloc_bytes - usage_before.alloc_bytes) - \
76 (usage_after.free_bytes - usage_before.free_bytes); \
77 size_t estimated_memory_usage = sync_pb::EstimateMemoryUsage(proto); \
78 \
79 EXPECT_EQ(memory_usage, estimated_memory_usage); \
80 }
81
82 IMPLEMENT_TEST(EncryptedData)
83 IMPLEMENT_TEST(AppListSpecifics)
84 IMPLEMENT_TEST(AppNotificationSettings)
85 IMPLEMENT_TEST(LinkedAppIconInfo)
86 IMPLEMENT_TEST(ArcPackageSpecifics)
87 IMPLEMENT_TEST(SessionHeader)
88 IMPLEMENT_TEST(SessionTab)
89 IMPLEMENT_TEST(SessionWindow)
90 IMPLEMENT_TEST(TabNavigation)
91 IMPLEMENT_TEST(NavigationRedirect)
92 IMPLEMENT_TEST(PasswordSpecificsData)
93 IMPLEMENT_TEST(GlobalIdDirective)
94 IMPLEMENT_TEST(TimeRangeDirective)
95 IMPLEMENT_TEST(SessionSpecifics)
96 IMPLEMENT_TEST(PrinterPPDData)
97 IMPLEMENT_TEST(AppNotification)
98 IMPLEMENT_TEST(AppSettingSpecifics)
99 IMPLEMENT_TEST(AppSpecifics)
100 IMPLEMENT_TEST(ArticleSpecifics)
101 IMPLEMENT_TEST(AutofillSpecifics)
102 IMPLEMENT_TEST(AutofillProfileSpecifics)
103 IMPLEMENT_TEST(WalletMetadataSpecifics)
104 IMPLEMENT_TEST(AutofillWalletSpecifics)
105 IMPLEMENT_TEST(BookmarkSpecifics)
106 IMPLEMENT_TEST(DeviceInfoSpecifics)
107 IMPLEMENT_TEST(DictionarySpecifics)
108 IMPLEMENT_TEST(ExperimentsSpecifics)
109 IMPLEMENT_TEST(PriorityPreferenceSpecifics)
110 IMPLEMENT_TEST(ExtensionSettingSpecifics)
111 IMPLEMENT_TEST(ExtensionSpecifics)
112 IMPLEMENT_TEST(FaviconImageSpecifics)
113 IMPLEMENT_TEST(FaviconTrackingSpecifics)
114 IMPLEMENT_TEST(HistoryDeleteDirectiveSpecifics)
115 IMPLEMENT_TEST(ManagedUserSettingSpecifics)
116 IMPLEMENT_TEST(ManagedUserSpecifics)
117 IMPLEMENT_TEST(ManagedUserSharedSettingSpecifics)
118 IMPLEMENT_TEST(ManagedUserWhitelistSpecifics)
119 IMPLEMENT_TEST(NigoriSpecifics)
120 IMPLEMENT_TEST(PasswordSpecifics)
121 IMPLEMENT_TEST(PreferenceSpecifics)
122 IMPLEMENT_TEST(PrinterSpecifics)
123 IMPLEMENT_TEST(ReadingListSpecifics)
124 IMPLEMENT_TEST(SyncedNotificationAppInfoSpecifics)
125 IMPLEMENT_TEST(SyncedNotificationSpecifics)
126 IMPLEMENT_TEST(SearchEngineSpecifics)
127 IMPLEMENT_TEST(ThemeSpecifics)
128 IMPLEMENT_TEST(TypedUrlSpecifics)
129 IMPLEMENT_TEST(WalletMaskedCreditCard)
130 IMPLEMENT_TEST(WalletPostalAddress)
131 IMPLEMENT_TEST(WifiCredentialSpecifics)
132 IMPLEMENT_TEST(EntitySpecifics)
133 IMPLEMENT_TEST(SyncEntity)
134 // IMPLEMENT_TEST(ClientToServerMessage)
135 // IMPLEMENT_TEST(ClientToServerResponse)
136 IMPLEMENT_TEST(DatatypeAssociationStats)
137 IMPLEMENT_TEST(DebugEventInfo)
138 IMPLEMENT_TEST(DebugInfo)
139 IMPLEMENT_TEST(SyncCycleCompletedEventInfo)
140 IMPLEMENT_TEST(ClientConfigParams)
141 IMPLEMENT_TEST(AttachmentIdProto)
142 IMPLEMENT_TEST(EntityMetadata)
143
144 } // namespace
145 } // namespace syncer
146
147 #endif // BUILDFLAG(USE_EXPERIMENTAL_ALLOCATOR_SHIM)
OLDNEW
« no previous file with comments | « components/sync/protocol/proto_size_estimations.cc ('k') | components/sync/protocol/proto_value_conversions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698