| Index: chrome/test/live_sync/performance/autofill_sync_perf_test.cc
|
| diff --git a/chrome/test/live_sync/performance/autofill_sync_perf_test.cc b/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
|
| index ef86742ddfd2de954a00e236ee9fc851ca52a4ba..62df13167168a65c3c17aeacaec418029bd823d6 100644
|
| --- a/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
|
| +++ b/chrome/test/live_sync/performance/autofill_sync_perf_test.cc
|
| @@ -7,17 +7,22 @@
|
| #include "chrome/browser/autofill/autofill_common_test.h"
|
| #include "chrome/browser/autofill/autofill_profile.h"
|
| #include "chrome/browser/sync/profile_sync_service_harness.h"
|
| +#include "chrome/browser/webdata/autofill_entry.h"
|
| #include "chrome/test/live_sync/autofill_helper.h"
|
| #include "chrome/test/live_sync/live_sync_test.h"
|
| #include "chrome/test/live_sync/performance/sync_timing_helper.h"
|
|
|
| using autofill_helper::AllProfilesMatch;
|
| +using autofill_helper::GetAllKeys;
|
| using autofill_helper::GetAllProfiles;
|
| +using autofill_helper::GetKeyCount;
|
| using autofill_helper::GetProfileCount;
|
| +using autofill_helper::RemoveKey;
|
| using autofill_helper::SetProfiles;
|
|
|
| // TODO(braffert): Move kNumBenchmarkPoints and kBenchmarkPoints for all
|
| // datatypes into a performance test base class, once it is possible to do so.
|
| +static const int kNumKeys = 150;
|
| static const int kNumProfiles = 150;
|
| static const int kNumBenchmarkPoints = 18;
|
| static const int kBenchmarkPoints[] = {1, 10, 20, 30, 40, 50, 75, 100, 125,
|
| @@ -29,7 +34,8 @@ class AutofillSyncPerfTest : public LiveSyncTest {
|
| AutofillSyncPerfTest()
|
| : LiveSyncTest(TWO_CLIENT),
|
| guid_number_(0),
|
| - name_number_(0) {}
|
| + name_number_(0),
|
| + value_number_(0) {}
|
|
|
| // Adds |num_profiles| new autofill profiles to the sync profile |profile|.
|
| void AddProfiles(int profile, int num_profiles);
|
| @@ -37,9 +43,15 @@ class AutofillSyncPerfTest : public LiveSyncTest {
|
| // Updates all autofill profiles for the sync profile |profile|.
|
| void UpdateProfiles(int profile);
|
|
|
| - // Removes all bookmarks in the bookmark bar for |profile|.
|
| + // Removes all autofill profiles from |profile|.
|
| void RemoveProfiles(int profile);
|
|
|
| + // Adds |num_keys| new autofill keys to the sync profile |profile|.
|
| + void AddKeys(int profile, int num_keys);
|
| +
|
| + // Removes all autofill keys from |profile|.
|
| + void RemoveKeys(int profile);
|
| +
|
| // Removes all autofill profiles in all sync profiles. Called between
|
| // benchmark iterations.
|
| void Cleanup();
|
| @@ -48,6 +60,9 @@ class AutofillSyncPerfTest : public LiveSyncTest {
|
| // Returns a new unique autofill profile.
|
| const AutofillProfile NextAutofillProfile();
|
|
|
| + // Returns a new unique autofill key.
|
| + const AutofillKey NextAutofillKey();
|
| +
|
| // Returns an unused unique guid.
|
| const std::string NextGUID();
|
|
|
| @@ -60,8 +75,15 @@ class AutofillSyncPerfTest : public LiveSyncTest {
|
| // Returns a unique name based on the input integer |n|.
|
| const std::string IntToName(int n);
|
|
|
| + // Returns a new unused unique value for autofill entries.
|
| + const std::string NextValue();
|
| +
|
| + // Returnes a unique value based on the input integer |n|.
|
| + const std::string IntToValue(int n);
|
| +
|
| int guid_number_;
|
| int name_number_;
|
| + int value_number_;
|
| DISALLOW_COPY_AND_ASSIGN(AutofillSyncPerfTest);
|
| };
|
|
|
| @@ -95,6 +117,22 @@ void AutofillSyncPerfTest::RemoveProfiles(int profile) {
|
| SetProfiles(profile, &empty);
|
| }
|
|
|
| +void AutofillSyncPerfTest::AddKeys(int profile, int num_keys) {
|
| + std::set<AutofillKey> keys;
|
| + for (int i = 0; i < num_keys; ++i) {
|
| + keys.insert(NextAutofillKey());
|
| + }
|
| + autofill_helper::AddKeys(profile, keys);
|
| +}
|
| +
|
| +void AutofillSyncPerfTest::RemoveKeys(int profile) {
|
| + std::set<AutofillEntry> keys = GetAllKeys(profile);
|
| + for (std::set<AutofillEntry>::const_iterator it = keys.begin();
|
| + it != keys.end(); ++it) {
|
| + RemoveKey(profile, it->key());
|
| + }
|
| +}
|
| +
|
| void AutofillSyncPerfTest::Cleanup() {
|
| for (int i = 0; i < num_clients(); ++i) {
|
| RemoveProfiles(i);
|
| @@ -110,6 +148,10 @@ const AutofillProfile AutofillSyncPerfTest::NextAutofillProfile() {
|
| return profile;
|
| }
|
|
|
| +const AutofillKey AutofillSyncPerfTest::NextAutofillKey() {
|
| + return AutofillKey(NextName().c_str(), NextName().c_str());
|
| +}
|
| +
|
| const std::string AutofillSyncPerfTest::NextGUID() {
|
| return IntToGUID(guid_number_++);
|
| }
|
| @@ -123,10 +165,18 @@ const std::string AutofillSyncPerfTest::NextName() {
|
| }
|
|
|
| const std::string AutofillSyncPerfTest::IntToName(int n) {
|
| - return StringPrintf("Name%d" , n);
|
| + return StringPrintf("Name%d", n);
|
| }
|
|
|
| -IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, P0) {
|
| +const std::string AutofillSyncPerfTest::NextValue() {
|
| + return IntToValue(value_number_++);
|
| +}
|
| +
|
| +const std::string AutofillSyncPerfTest::IntToValue(int n) {
|
| + return StringPrintf("Value%d", n);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, AutofillProfiles_P0) {
|
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
|
|
| // TCM ID - 7557873.
|
| @@ -134,19 +184,34 @@ IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, P0) {
|
| base::TimeDelta dt =
|
| SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
|
| ASSERT_EQ(kNumProfiles, GetProfileCount(1));
|
| - SyncTimingHelper::PrintResult("autofill", "add", dt);
|
| + SyncTimingHelper::PrintResult("autofill", "add_autofill_profiles", dt);
|
|
|
| // TCM ID - 7549835.
|
| UpdateProfiles(0);
|
| dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
|
| ASSERT_EQ(kNumProfiles, GetProfileCount(1));
|
| - SyncTimingHelper::PrintResult("autofill", "update", dt);
|
| + SyncTimingHelper::PrintResult("autofill", "update_autofill_profiles", dt);
|
|
|
| // TCM ID - 7553678.
|
| RemoveProfiles(0);
|
| dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
|
| ASSERT_EQ(0, GetProfileCount(1));
|
| - SyncTimingHelper::PrintResult("autofill", "delete", dt);
|
| + SyncTimingHelper::PrintResult("autofill", "delete_autofill_profiles", dt);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, Autofill_P0) {
|
| + ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
|
| +
|
| + AddKeys(0, kNumKeys);
|
| + base::TimeDelta dt =
|
| + SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
|
| + ASSERT_EQ(kNumKeys, GetKeyCount(1));
|
| + SyncTimingHelper::PrintResult("autofill", "add_autofill_keys", dt);
|
| +
|
| + RemoveKeys(0);
|
| + dt = SyncTimingHelper::TimeMutualSyncCycle(GetClient(0), GetClient(1));
|
| + ASSERT_EQ(0, GetKeyCount(1));
|
| + SyncTimingHelper::PrintResult("autofill", "delete_autofill_keys", dt);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AutofillSyncPerfTest, DISABLED_Benchmark) {
|
|
|