OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // StorageMonitorLinux unit tests. | 5 // StorageMonitorLinux unit tests. |
6 | 6 |
7 #include "components/storage_monitor/storage_monitor_linux.h" | 7 #include "components/storage_monitor/storage_monitor_linux.h" |
8 | 8 |
9 #include <mntent.h> | 9 #include <mntent.h> |
10 #include <stdio.h> | 10 #include <stdio.h> |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 } | 119 } |
120 | 120 |
121 class TestStorageMonitorLinux : public StorageMonitorLinux { | 121 class TestStorageMonitorLinux : public StorageMonitorLinux { |
122 public: | 122 public: |
123 explicit TestStorageMonitorLinux(const base::FilePath& path) | 123 explicit TestStorageMonitorLinux(const base::FilePath& path) |
124 : StorageMonitorLinux(path) { | 124 : StorageMonitorLinux(path) { |
125 SetMediaTransferProtocolManagerForTest( | 125 SetMediaTransferProtocolManagerForTest( |
126 new TestMediaTransferProtocolManagerLinux()); | 126 new TestMediaTransferProtocolManagerLinux()); |
127 SetGetDeviceInfoCallbackForTest(base::Bind(&GetDeviceInfo)); | 127 SetGetDeviceInfoCallbackForTest(base::Bind(&GetDeviceInfo)); |
128 } | 128 } |
129 virtual ~TestStorageMonitorLinux() {} | 129 ~TestStorageMonitorLinux() override {} |
130 | 130 |
131 private: | 131 private: |
132 virtual void UpdateMtab( | 132 void UpdateMtab( |
133 const MtabWatcherLinux::MountPointDeviceMap& new_mtab) override { | 133 const MtabWatcherLinux::MountPointDeviceMap& new_mtab) override { |
134 StorageMonitorLinux::UpdateMtab(new_mtab); | 134 StorageMonitorLinux::UpdateMtab(new_mtab); |
135 base::MessageLoopProxy::current()->PostTask( | 135 base::MessageLoopProxy::current()->PostTask( |
136 FROM_HERE, base::MessageLoop::QuitClosure()); | 136 FROM_HERE, base::MessageLoop::QuitClosure()); |
137 } | 137 } |
138 | 138 |
139 DISALLOW_COPY_AND_ASSIGN(TestStorageMonitorLinux); | 139 DISALLOW_COPY_AND_ASSIGN(TestStorageMonitorLinux); |
140 }; | 140 }; |
141 | 141 |
142 class StorageMonitorLinuxTest : public testing::Test { | 142 class StorageMonitorLinuxTest : public testing::Test { |
143 public: | 143 public: |
144 struct MtabTestData { | 144 struct MtabTestData { |
145 MtabTestData(const std::string& mount_device, | 145 MtabTestData(const std::string& mount_device, |
146 const std::string& mount_point, | 146 const std::string& mount_point, |
147 const std::string& mount_type) | 147 const std::string& mount_type) |
148 : mount_device(mount_device), | 148 : mount_device(mount_device), |
149 mount_point(mount_point), | 149 mount_point(mount_point), |
150 mount_type(mount_type) { | 150 mount_type(mount_type) { |
151 } | 151 } |
152 | 152 |
153 const std::string mount_device; | 153 const std::string mount_device; |
154 const std::string mount_point; | 154 const std::string mount_point; |
155 const std::string mount_type; | 155 const std::string mount_type; |
156 }; | 156 }; |
157 | 157 |
158 StorageMonitorLinuxTest() | 158 StorageMonitorLinuxTest() |
159 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {} | 159 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {} |
160 virtual ~StorageMonitorLinuxTest() {} | 160 ~StorageMonitorLinuxTest() override {} |
161 | 161 |
162 protected: | 162 protected: |
163 virtual void SetUp() override { | 163 void SetUp() override { |
164 // Create and set up a temp dir with files for the test. | 164 // Create and set up a temp dir with files for the test. |
165 ASSERT_TRUE(scoped_temp_dir_.CreateUniqueTempDir()); | 165 ASSERT_TRUE(scoped_temp_dir_.CreateUniqueTempDir()); |
166 base::FilePath test_dir = scoped_temp_dir_.path().AppendASCII("test_etc"); | 166 base::FilePath test_dir = scoped_temp_dir_.path().AppendASCII("test_etc"); |
167 ASSERT_TRUE(base::CreateDirectory(test_dir)); | 167 ASSERT_TRUE(base::CreateDirectory(test_dir)); |
168 mtab_file_ = test_dir.AppendASCII("test_mtab"); | 168 mtab_file_ = test_dir.AppendASCII("test_mtab"); |
169 MtabTestData initial_test_data[] = { | 169 MtabTestData initial_test_data[] = { |
170 MtabTestData("dummydevice", "dummydir", kInvalidFS), | 170 MtabTestData("dummydevice", "dummydir", kInvalidFS), |
171 }; | 171 }; |
172 WriteToMtab(initial_test_data, | 172 WriteToMtab(initial_test_data, |
173 arraysize(initial_test_data), | 173 arraysize(initial_test_data), |
174 true /* overwrite */); | 174 true /* overwrite */); |
175 | 175 |
176 monitor_.reset(new TestStorageMonitorLinux(mtab_file_)); | 176 monitor_.reset(new TestStorageMonitorLinux(mtab_file_)); |
177 | 177 |
178 mock_storage_observer_.reset(new MockRemovableStorageObserver); | 178 mock_storage_observer_.reset(new MockRemovableStorageObserver); |
179 monitor_->AddObserver(mock_storage_observer_.get()); | 179 monitor_->AddObserver(mock_storage_observer_.get()); |
180 | 180 |
181 monitor_->Init(); | 181 monitor_->Init(); |
182 base::RunLoop().RunUntilIdle(); | 182 base::RunLoop().RunUntilIdle(); |
183 } | 183 } |
184 | 184 |
185 virtual void TearDown() override { | 185 void TearDown() override { |
186 base::RunLoop().RunUntilIdle(); | 186 base::RunLoop().RunUntilIdle(); |
187 monitor_->RemoveObserver(mock_storage_observer_.get()); | 187 monitor_->RemoveObserver(mock_storage_observer_.get()); |
188 base::RunLoop().RunUntilIdle(); | 188 base::RunLoop().RunUntilIdle(); |
189 | 189 |
190 // Linux storage monitor must be destroyed on the UI thread, so do it here. | 190 // Linux storage monitor must be destroyed on the UI thread, so do it here. |
191 monitor_.reset(); | 191 monitor_.reset(); |
192 } | 192 } |
193 | 193 |
194 // Append mtab entries from the |data| array of size |data_size| to the mtab | 194 // Append mtab entries from the |data| array of size |data_size| to the mtab |
195 // file, and run the message loop. | 195 // file, and run the message loop. |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
668 GetStorageSize(test_path_a)); | 668 GetStorageSize(test_path_a)); |
669 EXPECT_EQ(GetDevicePartitionSize(kDeviceNoDCIM), | 669 EXPECT_EQ(GetDevicePartitionSize(kDeviceNoDCIM), |
670 GetStorageSize(test_path_b)); | 670 GetStorageSize(test_path_b)); |
671 EXPECT_EQ(GetDevicePartitionSize(kInvalidPath), | 671 EXPECT_EQ(GetDevicePartitionSize(kInvalidPath), |
672 GetStorageSize(base::FilePath(kInvalidPath))); | 672 GetStorageSize(base::FilePath(kInvalidPath))); |
673 } | 673 } |
674 | 674 |
675 } // namespace | 675 } // namespace |
676 | 676 |
677 } // namespace storage_monitor | 677 } // namespace storage_monitor |
OLD | NEW |