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

Side by Side Diff: chrome/test/live_sync/performance/extensions_sync_perf_test.cc

Issue 7599019: Allow sync integration tests to operate on multiple datatypes: Apps, Extensions, Themes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix indents Created 9 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/stringprintf.h" 5 #include "base/stringprintf.h"
6 #include "chrome/browser/sync/profile_sync_service_harness.h" 6 #include "chrome/browser/sync/profile_sync_service_harness.h"
7 #include "chrome/test/live_sync/live_extensions_sync_test.h" 7 #include "chrome/test/live_sync/extensions_helper.h"
8 #include "chrome/test/live_sync/live_sync_test.h"
8 #include "chrome/test/live_sync/performance/sync_timing_helper.h" 9 #include "chrome/test/live_sync/performance/sync_timing_helper.h"
9 10
11 using extensions_helper::AllProfilesHaveSameExtensions;
12 using extensions_helper::AllProfilesHaveSameExtensionsAsVerifier;
13 using extensions_helper::DisableExtension;
14 using extensions_helper::EnableExtension;
15 using extensions_helper::GetInstalledExtensions;
16 using extensions_helper::InstallExtension;
17 using extensions_helper::InstallExtensionsPendingForSync;
18 using extensions_helper::IsExtensionEnabled;
19 using extensions_helper::UninstallExtension;
20
10 // TODO(braffert): Replicate these tests for apps. 21 // TODO(braffert): Replicate these tests for apps.
11 22
12 // TODO(braffert): Move kNumBenchmarkPoints and kBenchmarkPoints for all 23 // TODO(braffert): Move kNumBenchmarkPoints and kBenchmarkPoints for all
13 // datatypes into a performance test base class, once it is possible to do so. 24 // datatypes into a performance test base class, once it is possible to do so.
14 static const int kNumExtensions = 150; 25 static const int kNumExtensions = 150;
15 static const int kNumBenchmarkPoints = 18; 26 static const int kNumBenchmarkPoints = 18;
16 static const int kBenchmarkPoints[] = {1, 10, 20, 30, 40, 50, 75, 100, 125, 27 static const int kBenchmarkPoints[] = {1, 10, 20, 30, 40, 50, 75, 100, 125,
17 150, 175, 200, 225, 250, 300, 350, 400, 28 150, 175, 200, 225, 250, 300, 350, 400,
18 500}; 29 500};
19 30
20 class ExtensionsSyncPerfTest : public TwoClientLiveExtensionsSyncTest { 31 class ExtensionsSyncPerfTest : public LiveSyncTest {
21 public: 32 public:
22 ExtensionsSyncPerfTest() : extension_number_(0) {} 33 ExtensionsSyncPerfTest()
34 : LiveSyncTest(TWO_CLIENT),
35 extension_number_(0) {}
23 36
24 // Adds |num_extensions| new unique extensions to |profile|. 37 // Adds |num_extensions| new unique extensions to |profile|.
25 void AddExtensions(int profile, int num_extensions); 38 void AddExtensions(int profile, int num_extensions);
26 39
27 // Updates the enabled/disabled state for all extensions in |profile|. 40 // Updates the enabled/disabled state for all extensions in |profile|.
28 void UpdateExtensions(int profile); 41 void UpdateExtensions(int profile);
29 42
30 // Uninstalls all currently installed extensions from |profile|. 43 // Uninstalls all currently installed extensions from |profile|.
31 void RemoveExtensions(int profile); 44 void RemoveExtensions(int profile);
32 45
33 // Returns the number of currently installed extensions for |profile|. 46 // Returns the number of currently installed extensions for |profile|.
34 int GetExtensionCount(int profile); 47 int GetExtensionCount(int profile);
35 48
36 // Uninstalls all extensions from all profiles. Called between benchmark 49 // Uninstalls all extensions from all profiles. Called between benchmark
37 // iterations. 50 // iterations.
38 void Cleanup(); 51 void Cleanup();
39 52
40 private: 53 private:
41 int extension_number_; 54 int extension_number_;
42 DISALLOW_COPY_AND_ASSIGN(ExtensionsSyncPerfTest); 55 DISALLOW_COPY_AND_ASSIGN(ExtensionsSyncPerfTest);
43 }; 56 };
44 57
45 void ExtensionsSyncPerfTest::AddExtensions(int profile, 58 void ExtensionsSyncPerfTest::AddExtensions(int profile, int num_extensions) {
46 int num_extensions) {
47 for (int i = 0; i < num_extensions; ++i) { 59 for (int i = 0; i < num_extensions; ++i) {
48 InstallExtension(GetProfile(profile), extension_number_++); 60 InstallExtension(GetProfile(profile), extension_number_++);
49 } 61 }
50 } 62 }
51 63
52 void ExtensionsSyncPerfTest::UpdateExtensions(int profile) { 64 void ExtensionsSyncPerfTest::UpdateExtensions(int profile) {
53 std::vector<int> extensions = GetInstalledExtensions(GetProfile(profile)); 65 std::vector<int> extensions = GetInstalledExtensions(GetProfile(profile));
54 for (std::vector<int>::iterator it = extensions.begin(); 66 for (std::vector<int>::iterator it = extensions.begin();
55 it != extensions.end(); ++it) { 67 it != extensions.end(); ++it) {
56 if (IsExtensionEnabled(GetProfile(profile), *it)) { 68 if (IsExtensionEnabled(GetProfile(profile), *it)) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 139
128 RemoveExtensions(0); 140 RemoveExtensions(0);
129 base::TimeDelta dt_delete = 141 base::TimeDelta dt_delete =
130 SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1)); 142 SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
131 VLOG(0) << std::endl << "Delete: " << num_extensions << " " 143 VLOG(0) << std::endl << "Delete: " << num_extensions << " "
132 << dt_delete.InSecondsF(); 144 << dt_delete.InSecondsF();
133 145
134 Cleanup(); 146 Cleanup();
135 } 147 }
136 } 148 }
OLDNEW
« no previous file with comments | « chrome/test/live_sync/live_themes_sync_test.cc ('k') | chrome/test/live_sync/single_client_apps_sync_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698