summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-05 04:46:35 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-05 04:46:35 +0000
commit646fb68a5047d3f448c8bef854cff4b239c69967 (patch)
tree1aa70d816c8aeff005e0800bebbd7c3b88162cf5
parent4c8c15b4e1a3829d4996be1ebd2f252d8d12fe44 (diff)
downloadchromium_src-646fb68a5047d3f448c8bef854cff4b239c69967.zip
chromium_src-646fb68a5047d3f448c8bef854cff4b239c69967.tar.gz
chromium_src-646fb68a5047d3f448c8bef854cff4b239c69967.tar.bz2
drive: Manage default value and pushed values separately in FakeFreeDiskSpaceGetter
Return kLotsOfSpace by default because most of users are only interested in doing so. Manage default value and pushed fake values separately. BUG=None TEST=unit_tests R=kinaba@chromium.org Review URL: https://codereview.chromium.org/16356002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204153 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/drive/fake_free_disk_space_getter.cc18
-rw-r--r--chrome/browser/chromeos/drive/fake_free_disk_space_getter.h25
-rw-r--r--chrome/browser/chromeos/drive/file_cache_unittest.cc55
-rw-r--r--chrome/browser/chromeos/drive/file_system/download_operation_unittest.cc20
-rw-r--r--chrome/browser/chromeos/drive/file_system/operation_test_base.cc5
-rw-r--r--chrome/browser/chromeos/drive/file_system_unittest.cc9
-rw-r--r--chrome/browser/chromeos/drive/remove_stale_cache_files_unittest.cc2
-rw-r--r--chrome/browser/chromeos/drive/search_metadata_unittest.cc2
8 files changed, 28 insertions, 108 deletions
diff --git a/chrome/browser/chromeos/drive/fake_free_disk_space_getter.cc b/chrome/browser/chromeos/drive/fake_free_disk_space_getter.cc
index d296393..7eaf030 100644
--- a/chrome/browser/chromeos/drive/fake_free_disk_space_getter.cc
+++ b/chrome/browser/chromeos/drive/fake_free_disk_space_getter.cc
@@ -4,27 +4,27 @@
#include "chrome/browser/chromeos/drive/fake_free_disk_space_getter.h"
+#include "chrome/browser/chromeos/drive/test_util.h"
+
namespace drive {
-FakeFreeDiskSpaceGetter::FakeFreeDiskSpaceGetter() {
+FakeFreeDiskSpaceGetter::FakeFreeDiskSpaceGetter()
+ : default_value_(test_util::kLotsOfSpace) {
}
FakeFreeDiskSpaceGetter::~FakeFreeDiskSpaceGetter() {
}
-void FakeFreeDiskSpaceGetter::Reset() {
- fake_values_.clear();
+void FakeFreeDiskSpaceGetter::PushFakeValue(int64 value) {
+ fake_values_.push_back(value);
}
int64 FakeFreeDiskSpaceGetter::AmountOfFreeDiskSpace() {
if (fake_values_.empty())
- return 0;
-
- const int64 value = fake_values_[0];
- // We'll keep the last value.
- if (fake_values_.size() > 1)
- fake_values_.erase(fake_values_.begin());
+ return default_value_;
+ const int64 value = fake_values_.front();
+ fake_values_.pop_front();
return value;
}
diff --git a/chrome/browser/chromeos/drive/fake_free_disk_space_getter.h b/chrome/browser/chromeos/drive/fake_free_disk_space_getter.h
index bdece18..0d95b5f 100644
--- a/chrome/browser/chromeos/drive/fake_free_disk_space_getter.h
+++ b/chrome/browser/chromeos/drive/fake_free_disk_space_getter.h
@@ -5,7 +5,7 @@
#ifndef CHROME_BROWSER_CHROMEOS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_
#define CHROME_BROWSER_CHROMEOS_DRIVE_FAKE_FREE_DISK_SPACE_GETTER_H_
-#include <vector>
+#include <list>
#include "base/basictypes.h"
#include "chrome/browser/chromeos/drive/file_cache.h"
@@ -19,27 +19,22 @@ class FakeFreeDiskSpaceGetter : public internal::FreeDiskSpaceGetterInterface {
FakeFreeDiskSpaceGetter();
virtual ~FakeFreeDiskSpaceGetter();
- // Resets this instance.
- void Reset();
+ void set_default_value(int64 value) { default_value_ = value; }
- // If this function is not called, AmountOfFreeDiskSpace() will return 0
- // repeatedly.
+ // Pushes the given value to the back of the fake value list.
//
- // If this function is only called once, AmountOfFreeDiskSpace() will
- // return the fake value repeatedly.
- //
- // If this function is called multiple times, AmountOfFreeDiskSpace() will
- // return the fake values in the same order these values were recorded. The
- // last value will be returned repeatedly.
- void set_fake_free_disk_space(int64 fake_free_disk_space) {
- fake_values_.push_back(fake_free_disk_space);
- }
+ // If the fake value list is empty, AmountOfFreeDiskSpace() will return
+ // |default_value_| repeatedly.
+ // Otherwise, AmountOfFreeDiskSpace() will return the value at the front of
+ // the list and removes it from the list.
+ void PushFakeValue(int64 value);
// FreeDiskSpaceGetterInterface overrides.
virtual int64 AmountOfFreeDiskSpace() OVERRIDE;
private:
- std::vector<int64> fake_values_;
+ std::list<int64> fake_values_;
+ int64 default_value_;
DISALLOW_COPY_AND_ASSIGN(FakeFreeDiskSpaceGetter);
};
diff --git a/chrome/browser/chromeos/drive/file_cache_unittest.cc b/chrome/browser/chromeos/drive/file_cache_unittest.cc
index ec81383..5c1a606 100644
--- a/chrome/browser/chromeos/drive/file_cache_unittest.cc
+++ b/chrome/browser/chromeos/drive/file_cache_unittest.cc
@@ -530,9 +530,6 @@ TEST_F(FileCacheTest, GetCacheFilePath) {
}
TEST_F(FileCacheTest, StoreToCacheSimple) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -564,9 +561,6 @@ TEST_F(FileCacheTest, StoreToCacheSimple) {
}
TEST_F(FileCacheTest, LocallyModifiedSimple) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -583,9 +577,6 @@ TEST_F(FileCacheTest, LocallyModifiedSimple) {
}
TEST_F(FileCacheTest, GetFromCacheSimple) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
// First store a file to cache.
@@ -612,9 +603,6 @@ TEST_F(FileCacheTest, GetFromCacheSimple) {
}
TEST_F(FileCacheTest, RemoveFromCacheSimple) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
// Use alphanumeric characters for resource id.
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -641,9 +629,6 @@ TEST_F(FileCacheTest, RemoveFromCacheSimple) {
}
TEST_F(FileCacheTest, PinAndUnpin) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(2);
@@ -704,9 +689,6 @@ TEST_F(FileCacheTest, PinAndUnpin) {
}
TEST_F(FileCacheTest, StoreToCachePinned) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(1);
@@ -736,9 +718,6 @@ TEST_F(FileCacheTest, StoreToCachePinned) {
}
TEST_F(FileCacheTest, GetFromCachePinned) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(1);
@@ -768,9 +747,6 @@ TEST_F(FileCacheTest, GetFromCachePinned) {
}
TEST_F(FileCacheTest, RemoveFromCachePinned) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
// Use alphanumeric characters for resource_id.
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -811,9 +787,6 @@ TEST_F(FileCacheTest, RemoveFromCachePinned) {
}
TEST_F(FileCacheTest, DirtyCacheSimple) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCacheCommitted(resource_id)).Times(1);
@@ -846,9 +819,6 @@ TEST_F(FileCacheTest, DirtyCacheSimple) {
}
TEST_F(FileCacheTest, DirtyCachePinned) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(1);
@@ -892,9 +862,6 @@ TEST_F(FileCacheTest, DirtyCachePinned) {
// Test is disabled because it is flaky (http://crbug.com/134146)
TEST_F(FileCacheTest, PinAndUnpinDirtyCache) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(1);
@@ -946,9 +913,6 @@ TEST_F(FileCacheTest, PinAndUnpinDirtyCache) {
}
TEST_F(FileCacheTest, DirtyCacheRepetitive) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCacheCommitted(resource_id)).Times(3);
@@ -1014,9 +978,6 @@ TEST_F(FileCacheTest, DirtyCacheRepetitive) {
}
TEST_F(FileCacheTest, DirtyCacheInvalid) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -1062,9 +1023,6 @@ TEST_F(FileCacheTest, DirtyCacheInvalid) {
}
TEST_F(FileCacheTest, RemoveFromDirtyCache) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
EXPECT_CALL(*mock_cache_observer_, OnCachePinned(resource_id, md5)).Times(1);
@@ -1099,9 +1057,6 @@ TEST_F(FileCacheTest, RemoveFromDirtyCache) {
}
TEST_F(FileCacheTest, MountUnmount) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -1142,8 +1097,6 @@ TEST_F(FileCacheTest, MountUnmount) {
}
TEST_F(FileCacheTest, Iterate) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
const std::vector<test_util::TestCacheResource> cache_resources(
test_util::GetDefaultTestCacheResources());
// Set mock expectations.
@@ -1186,9 +1139,6 @@ TEST_F(FileCacheTest, Iterate) {
TEST_F(FileCacheTest, ClearAll) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -1216,7 +1166,7 @@ TEST_F(FileCacheTest, ClearAll) {
}
TEST_F(FileCacheTest, StoreToCacheNoSpace) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(0);
+ fake_free_disk_space_getter_->set_default_value(0);
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
@@ -1256,9 +1206,6 @@ TEST(FileCacheExtraTest, InitializationFailure) {
}
TEST_F(FileCacheTest, UpdatePinnedCache) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
-
std::string resource_id("pdf:1a2b");
std::string md5("abcdef0123456789");
std::string md5_modified("aaaaaa0000000000");
diff --git a/chrome/browser/chromeos/drive/file_system/download_operation_unittest.cc b/chrome/browser/chromeos/drive/file_system/download_operation_unittest.cc
index d4bb6bc..cea6d36 100644
--- a/chrome/browser/chromeos/drive/file_system/download_operation_unittest.cc
+++ b/chrome/browser/chromeos/drive/file_system/download_operation_unittest.cc
@@ -36,8 +36,7 @@ TEST_F(DownloadOperationTest,
const int64 file_size = src_entry.file_info().size();
// Pretend we have enough space.
- fake_free_disk_space_getter()->Reset();
- fake_free_disk_space_getter()->set_fake_free_disk_space(
+ fake_free_disk_space_getter()->set_default_value(
file_size + internal::kMinFreeSpace);
FileError error = FILE_ERROR_FAILED;
@@ -75,8 +74,7 @@ TEST_F(DownloadOperationTest,
base::FilePath file_in_root(FILE_PATH_LITERAL("drive/root/File 1.txt"));
// Pretend we have no space at all.
- fake_free_disk_space_getter()->Reset();
- fake_free_disk_space_getter()->set_fake_free_disk_space(0);
+ fake_free_disk_space_getter()->set_default_value(0);
FileError error = FILE_ERROR_OK;
base::FilePath file_path;
@@ -103,13 +101,10 @@ TEST_F(DownloadOperationTest,
// Pretend we have no space first (checked before downloading a file),
// but then start reporting we have space. This is to emulate that
// the disk space was freed up by removing temporary files.
- fake_free_disk_space_getter()->Reset();
- fake_free_disk_space_getter()->set_fake_free_disk_space(
+ fake_free_disk_space_getter()->PushFakeValue(
file_size + internal::kMinFreeSpace);
- fake_free_disk_space_getter()->set_fake_free_disk_space(0);
- fake_free_disk_space_getter()->set_fake_free_disk_space(
- file_size + internal::kMinFreeSpace);
- fake_free_disk_space_getter()->set_fake_free_disk_space(
+ fake_free_disk_space_getter()->PushFakeValue(0);
+ fake_free_disk_space_getter()->set_default_value(
file_size + internal::kMinFreeSpace);
// Store something of the file size in the temporary cache directory.
@@ -170,10 +165,9 @@ TEST_F(DownloadOperationTest,
// but then start reporting we have not enough space. This is to emulate that
// the disk space becomes full after the file is downloaded for some reason
// (ex. the actual file was larger than the expected size).
- fake_free_disk_space_getter()->Reset();
- fake_free_disk_space_getter()->set_fake_free_disk_space(
+ fake_free_disk_space_getter()->PushFakeValue(
file_size + internal::kMinFreeSpace);
- fake_free_disk_space_getter()->set_fake_free_disk_space(
+ fake_free_disk_space_getter()->set_default_value(
internal::kMinFreeSpace - 1);
FileError error = FILE_ERROR_OK;
diff --git a/chrome/browser/chromeos/drive/file_system/operation_test_base.cc b/chrome/browser/chromeos/drive/file_system/operation_test_base.cc
index fbd41aa..f867213 100644
--- a/chrome/browser/chromeos/drive/file_system/operation_test_base.cc
+++ b/chrome/browser/chromeos/drive/file_system/operation_test_base.cc
@@ -19,10 +19,6 @@
namespace drive {
namespace file_system {
-namespace {
-const int64 kLotsOfSpace = internal::kMinFreeSpace * 10;
-}
-
OperationTestBase::LoggingObserver::LoggingObserver() {
}
@@ -69,7 +65,6 @@ void OperationTestBase::SetUp() {
ASSERT_EQ(FILE_ERROR_OK, error);
fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter);
- fake_free_disk_space_getter_->set_fake_free_disk_space(kLotsOfSpace);
cache_.reset(new internal::FileCache(temp_dir_.path(),
blocking_task_runner_,
fake_free_disk_space_getter_.get()));
diff --git a/chrome/browser/chromeos/drive/file_system_unittest.cc b/chrome/browser/chromeos/drive/file_system_unittest.cc
index 78c6f48..6e49b1d 100644
--- a/chrome/browser/chromeos/drive/file_system_unittest.cc
+++ b/chrome/browser/chromeos/drive/file_system_unittest.cc
@@ -729,19 +729,13 @@ TEST_F(FileSystemTest, OpenAndCloseFile) {
const base::FilePath kFileInRoot(FILE_PATH_LITERAL("drive/root/File 1.txt"));
scoped_ptr<ResourceEntry> entry(GetResourceEntryByPathSync(kFileInRoot));
- const int64 file_size = entry->file_info().size();
- const std::string& file_resource_id =
- entry->resource_id();
+ const std::string& file_resource_id = entry->resource_id();
const std::string& file_md5 = entry->file_specific_info().file_md5();
// A dirty file is created on close.
EXPECT_CALL(*mock_cache_observer_, OnCacheCommitted(file_resource_id))
.Times(1);
- // Pretend we have enough space.
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- file_size + internal::kMinFreeSpace);
-
// Open kFileInRoot ("drive/root/File 1.txt").
FileError error = FILE_ERROR_FAILED;
base::FilePath file_path;
@@ -811,7 +805,6 @@ TEST_F(FileSystemTest, OpenAndCloseFile) {
}
TEST_F(FileSystemTest, MarkCacheFileAsMountedAndUnmounted) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(kLotsOfSpace);
ASSERT_TRUE(LoadFullResourceList());
base::FilePath file_in_root(FILE_PATH_LITERAL("drive/root/File 1.txt"));
diff --git a/chrome/browser/chromeos/drive/remove_stale_cache_files_unittest.cc b/chrome/browser/chromeos/drive/remove_stale_cache_files_unittest.cc
index 2efcadc..f79304c 100644
--- a/chrome/browser/chromeos/drive/remove_stale_cache_files_unittest.cc
+++ b/chrome/browser/chromeos/drive/remove_stale_cache_files_unittest.cc
@@ -73,8 +73,6 @@ TEST_F(RemoveStaleCacheFilesTest, RemoveStaleCacheFiles) {
std::string resource_id("pdf:1a2b3c");
std::string md5("abcdef0123456789");
- fake_free_disk_space_getter_->set_fake_free_disk_space(kLotsOfSpace);
-
// Create a stale cache file.
EXPECT_EQ(FILE_ERROR_OK,
cache_->Store(resource_id, md5, dummy_file,
diff --git a/chrome/browser/chromeos/drive/search_metadata_unittest.cc b/chrome/browser/chromeos/drive/search_metadata_unittest.cc
index 0362d6e..e255d3a 100644
--- a/chrome/browser/chromeos/drive/search_metadata_unittest.cc
+++ b/chrome/browser/chromeos/drive/search_metadata_unittest.cc
@@ -485,8 +485,6 @@ TEST_F(SearchMetadataTest, SearchMetadata_ExcludeSpecialDirectories) {
}
TEST_F(SearchMetadataTest, SearchMetadata_Offline) {
- fake_free_disk_space_getter_->set_fake_free_disk_space(
- test_util::kLotsOfSpace);
const std::vector<test_util::TestCacheResource> cache_resources =
test_util::GetDefaultTestCacheResources();
ASSERT_TRUE(test_util::PrepareTestCacheResources(cache_.get(),