diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-15 06:57:06 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-15 06:57:06 +0000 |
commit | 89aeb207730a1315e3c89883dc717f53284f05bf (patch) | |
tree | 7e742fae4fa752bb52a722d16c64bce1ac94dadf /sync/engine/build_commit_command_unittest.cc | |
parent | 16cea069862a432f798ee6b01d7e4e399c9fddda (diff) | |
download | chromium_src-89aeb207730a1315e3c89883dc717f53284f05bf.zip chromium_src-89aeb207730a1315e3c89883dc717f53284f05bf.tar.gz chromium_src-89aeb207730a1315e3c89883dc717f53284f05bf.tar.bz2 |
Remove some members from SyncSession
This is part of the effort to shrink the size of the SyncSession and
SyncSessionJob.
One of the members to be removed was the write transaction. This was
stored in the session in order to share it among various functions that
prepare a commit message. The same goal can be accomplished by passing
the transaction in to the constructors of the SyncerCommands.
There was one complication in this change. The new constructor meant
that it was impossible to instantiate a BuildCommitCommand without a
transaction, which made it somewhat harder to unit test. Making some of
its methods static made it unnecessary to instantiate a
BuildCommitCommand object in the test.
In addition to giving us better control of the scope of the transaction,
this change allows BuildCommitCommand and GetCommitIdsCommand to use a
BaseTransaction rather than a WriteTransaction.
The other member removed from SyncSession is the
ExtensionsActivityMonitor's records. This member was used to buffer the
ExtensionsActivityMonitor's records which were pending for commit and to
re-add them to the monitor if the commit failed. Since it is only used
within the context of a commit, it is safer and simpler to declare it on
the stack in BuildAndPostCommitsImpl().
The change should have no noticeable impact on behaviour, though it does
move some of the interactions with the ExtensionsActivityMonitor from
the UI thread to the sync thread. This should be safe; the monitor's
internal data structures are protected with a lock. The move also allows
us to remove some of the code from StatusController that was used to
trigger the UI-thread-specific processing.
BUG=175024
Review URL: https://chromiumcodereview.appspot.com/12314103
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188266 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/engine/build_commit_command_unittest.cc')
-rw-r--r-- | sync/engine/build_commit_command_unittest.cc | 112 |
1 files changed, 56 insertions, 56 deletions
diff --git a/sync/engine/build_commit_command_unittest.cc b/sync/engine/build_commit_command_unittest.cc index 6ad3c55..1ad8667 100644 --- a/sync/engine/build_commit_command_unittest.cc +++ b/sync/engine/build_commit_command_unittest.cc @@ -8,98 +8,98 @@ namespace syncer { // A test fixture for tests exercising ClearDataCommandTest. -class BuildCommitCommandTest : public SyncerCommandTest { - protected: - BuildCommitCommandTest() - : batch_commit_set_(ModelSafeRoutingInfo()), - command_(batch_commit_set_, &commit_message_) { - } - - private: - sessions::OrderedCommitSet batch_commit_set_; - sync_pb::ClientToServerMessage commit_message_; - - protected: - BuildCommitCommand command_; - - private: - DISALLOW_COPY_AND_ASSIGN(BuildCommitCommandTest); -}; +class BuildCommitCommandTest : public SyncerCommandTest { }; TEST_F(BuildCommitCommandTest, InterpolatePosition) { EXPECT_LT(BuildCommitCommand::GetFirstPosition(), BuildCommitCommand::GetLastPosition()); // Dense ranges. - EXPECT_EQ(10, command_.InterpolatePosition(10, 10)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 11)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 12)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 13)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 14)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 15)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 16)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 17)); - EXPECT_EQ(11, command_.InterpolatePosition(10, 18)); - EXPECT_EQ(12, command_.InterpolatePosition(10, 19)); - EXPECT_EQ(12, command_.InterpolatePosition(10, 20)); + EXPECT_EQ(10, BuildCommitCommand::InterpolatePosition(10, 10)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 11)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 12)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 13)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 14)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 15)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 16)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 17)); + EXPECT_EQ(11, BuildCommitCommand::InterpolatePosition(10, 18)); + EXPECT_EQ(12, BuildCommitCommand::InterpolatePosition(10, 19)); + EXPECT_EQ(12, BuildCommitCommand::InterpolatePosition(10, 20)); // Sparse ranges. EXPECT_EQ(0x32535ffe3dc97LL + BuildCommitCommand::GetGap(), - command_.InterpolatePosition(0x32535ffe3dc97LL, 0x61abcd323122cLL)); + BuildCommitCommand::InterpolatePosition( + 0x32535ffe3dc97LL, 0x61abcd323122cLL)); EXPECT_EQ(~0x61abcd323122cLL + BuildCommitCommand::GetGap(), - command_.InterpolatePosition(~0x61abcd323122cLL, ~0x32535ffe3dc97LL)); + BuildCommitCommand::InterpolatePosition( + ~0x61abcd323122cLL, ~0x32535ffe3dc97LL)); // Lower limits EXPECT_EQ(BuildCommitCommand::GetFirstPosition() + 0x20, - command_.InterpolatePosition( - BuildCommitCommand::GetFirstPosition(), - BuildCommitCommand::GetFirstPosition() + 0x100)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), + BuildCommitCommand::GetFirstPosition() + 0x100)); EXPECT_EQ(BuildCommitCommand::GetFirstPosition() + 2, - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition() + 1, - BuildCommitCommand::GetFirstPosition() + 2)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition() + 1, + BuildCommitCommand::GetFirstPosition() + 2)); EXPECT_EQ(BuildCommitCommand::GetFirstPosition() + BuildCommitCommand::GetGap()/8 + 1, - command_.InterpolatePosition( - BuildCommitCommand::GetFirstPosition() + 1, - BuildCommitCommand::GetFirstPosition() + 1 + - BuildCommitCommand::GetGap())); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition() + 1, + BuildCommitCommand::GetFirstPosition() + 1 + + BuildCommitCommand::GetGap())); // Extremal cases. EXPECT_EQ(0, - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition(), - BuildCommitCommand::GetLastPosition())); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), + BuildCommitCommand::GetLastPosition())); EXPECT_EQ(BuildCommitCommand::GetFirstPosition() + 1 + BuildCommitCommand::GetGap(), - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition() + 1, - BuildCommitCommand::GetLastPosition())); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition() + 1, + BuildCommitCommand::GetLastPosition())); EXPECT_EQ(BuildCommitCommand::GetFirstPosition() + 1 + BuildCommitCommand::GetGap(), - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition() + 1, - BuildCommitCommand::GetLastPosition() - 1)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition() + 1, + BuildCommitCommand::GetLastPosition() - 1)); EXPECT_EQ(BuildCommitCommand::GetLastPosition() - 1 - BuildCommitCommand::GetGap(), - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition(), - BuildCommitCommand::GetLastPosition() - 1)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), + BuildCommitCommand::GetLastPosition() - 1)); // Edge cases around zero. EXPECT_EQ(BuildCommitCommand::GetGap(), - command_.InterpolatePosition(0, BuildCommitCommand::GetLastPosition())); + BuildCommitCommand::InterpolatePosition( + 0, BuildCommitCommand::GetLastPosition())); EXPECT_EQ(BuildCommitCommand::GetGap() + 1, - command_.InterpolatePosition(1, BuildCommitCommand::GetLastPosition())); + BuildCommitCommand::InterpolatePosition( + 1, BuildCommitCommand::GetLastPosition())); EXPECT_EQ(BuildCommitCommand::GetGap() - 1, - command_.InterpolatePosition(-1, BuildCommitCommand::GetLastPosition())); + BuildCommitCommand::InterpolatePosition( + -1, BuildCommitCommand::GetLastPosition())); EXPECT_EQ(-BuildCommitCommand::GetGap(), - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition(), 0)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), 0)); EXPECT_EQ(-BuildCommitCommand::GetGap() + 1, - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition(), 1)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), 1)); EXPECT_EQ(-BuildCommitCommand::GetGap() - 1, - command_.InterpolatePosition(BuildCommitCommand::GetFirstPosition(), -1)); + BuildCommitCommand::InterpolatePosition( + BuildCommitCommand::GetFirstPosition(), -1)); EXPECT_EQ(BuildCommitCommand::GetGap() / 8, - command_.InterpolatePosition(0, BuildCommitCommand::GetGap())); + BuildCommitCommand::InterpolatePosition( + 0, BuildCommitCommand::GetGap())); EXPECT_EQ(BuildCommitCommand::GetGap() / 4, - command_.InterpolatePosition(0, BuildCommitCommand::GetGap()*2)); + BuildCommitCommand::InterpolatePosition( + 0, BuildCommitCommand::GetGap()*2)); EXPECT_EQ(BuildCommitCommand::GetGap(), - command_.InterpolatePosition(0, BuildCommitCommand::GetGap()*2 + 1)); + BuildCommitCommand::InterpolatePosition( + 0, BuildCommitCommand::GetGap()*2 + 1)); } } // namespace syncer |