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

Side by Side Diff: chrome/browser/importer/firefox_importer_unittest.cc

Issue 115930: Clean-up temporary files/folders in firefox importer tests. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "chrome/browser/importer/firefox2_importer.h" 10 #include "chrome/browser/importer/firefox2_importer.h"
11 #include "chrome/browser/importer/firefox_importer_utils.h" 11 #include "chrome/browser/importer/firefox_importer_utils.h"
12 #include "chrome/browser/importer/firefox_profile_lock.h" 12 #include "chrome/browser/importer/firefox_profile_lock.h"
13 #include "chrome/common/chrome_paths.h" 13 #include "chrome/common/chrome_paths.h"
14 #include "chrome/test/file_test_utils.h"
14 15
15 using base::Time; 16 using base::Time;
16 17
17 TEST(FirefoxImporterTest, Firefox2NSS3Decryptor) { 18 TEST(FirefoxImporterTest, Firefox2NSS3Decryptor) {
18 std::wstring nss_path; 19 std::wstring nss_path;
19 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path)); 20 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &nss_path));
20 file_util::AppendToPath(&nss_path, L"firefox2_nss"); 21 file_util::AppendToPath(&nss_path, L"firefox2_nss");
21 std::wstring db_path; 22 std::wstring db_path;
22 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path)); 23 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &db_path));
23 file_util::AppendToPath(&db_path, L"firefox2_profile"); 24 file_util::AppendToPath(&db_path, L"firefox2_profile");
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 EXPECT_EQ(L"", post_data); 142 EXPECT_EQ(L"", post_data);
142 EXPECT_TRUE(Time() == add_date); 143 EXPECT_TRUE(Time() == add_date);
143 } 144 }
144 145
145 // Tests basic functionality and verifies that the lock file is deleted after 146 // Tests basic functionality and verifies that the lock file is deleted after
146 // use. 147 // use.
147 TEST(FirefoxImporterTest, ProfileLock) { 148 TEST(FirefoxImporterTest, ProfileLock) {
148 std::wstring test_path; 149 std::wstring test_path;
149 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); 150 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path);
150 FilePath lock_file_path = FilePath::FromWStringHack(test_path); 151 FilePath lock_file_path = FilePath::FromWStringHack(test_path);
152 FileAutoDeleter deleter(lock_file_path);
151 lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName); 153 lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName);
152 154
153 scoped_ptr<FirefoxProfileLock> lock; 155 scoped_ptr<FirefoxProfileLock> lock;
154 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock.get()); 156 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock.get());
155 EXPECT_FALSE(file_util::PathExists(lock_file_path)); 157 EXPECT_FALSE(file_util::PathExists(lock_file_path));
156 lock.reset(new FirefoxProfileLock(test_path)); 158 lock.reset(new FirefoxProfileLock(test_path));
157 EXPECT_TRUE(lock->HasAcquired()); 159 EXPECT_TRUE(lock->HasAcquired());
158 EXPECT_TRUE(file_util::PathExists(lock_file_path)); 160 EXPECT_TRUE(file_util::PathExists(lock_file_path));
159 lock->Unlock(); 161 lock->Unlock();
160 EXPECT_FALSE(lock->HasAcquired()); 162 EXPECT_FALSE(lock->HasAcquired());
161 EXPECT_FALSE(file_util::PathExists(lock_file_path)); 163 EXPECT_FALSE(file_util::PathExists(lock_file_path));
162 lock->Lock(); 164 lock->Lock();
163 EXPECT_TRUE(lock->HasAcquired()); 165 EXPECT_TRUE(lock->HasAcquired());
164 EXPECT_TRUE(file_util::PathExists(lock_file_path)); 166 EXPECT_TRUE(file_util::PathExists(lock_file_path));
165 lock->Lock(); 167 lock->Lock();
166 EXPECT_TRUE(lock->HasAcquired()); 168 EXPECT_TRUE(lock->HasAcquired());
167 lock->Unlock(); 169 lock->Unlock();
168 EXPECT_FALSE(lock->HasAcquired()); 170 EXPECT_FALSE(lock->HasAcquired());
169 EXPECT_FALSE(file_util::PathExists(lock_file_path)); 171 EXPECT_FALSE(file_util::PathExists(lock_file_path));
170 } 172 }
171 173
172 // If for some reason the lock file is left behind by the previous owner, we 174 // If for some reason the lock file is left behind by the previous owner, we
173 // should still be able to lock it, at least in the Windows implementation. 175 // should still be able to lock it, at least in the Windows implementation.
174 TEST(FirefoxImporterTest, ProfileLockOrphaned) { 176 TEST(FirefoxImporterTest, ProfileLockOrphaned) {
175 std::wstring test_path; 177 std::wstring test_path;
176 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); 178 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path);
177 FilePath lock_file_path = FilePath::FromWStringHack(test_path); 179 FilePath lock_file_path = FilePath::FromWStringHack(test_path);
180 FileAutoDeleter deleter(lock_file_path);
178 lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName); 181 lock_file_path = lock_file_path.Append(FirefoxProfileLock::kLockFileName);
179 182
180 // Create the orphaned lock file. 183 // Create the orphaned lock file.
181 FILE* lock_file = file_util::OpenFile(lock_file_path, "w"); 184 FILE* lock_file = file_util::OpenFile(lock_file_path, "w");
182 ASSERT_TRUE(lock_file); 185 ASSERT_TRUE(lock_file);
183 file_util::CloseFile(lock_file); 186 file_util::CloseFile(lock_file);
184 EXPECT_TRUE(file_util::PathExists(lock_file_path)); 187 EXPECT_TRUE(file_util::PathExists(lock_file_path));
185 188
186 scoped_ptr<FirefoxProfileLock> lock; 189 scoped_ptr<FirefoxProfileLock> lock;
187 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock.get()); 190 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock.get());
188 lock.reset(new FirefoxProfileLock(test_path)); 191 lock.reset(new FirefoxProfileLock(test_path));
189 EXPECT_TRUE(lock->HasAcquired()); 192 EXPECT_TRUE(lock->HasAcquired());
190 lock->Unlock(); 193 lock->Unlock();
191 EXPECT_FALSE(lock->HasAcquired()); 194 EXPECT_FALSE(lock->HasAcquired());
192 } 195 }
193 196
194 // Tests two locks contending for the same lock file. 197 // Tests two locks contending for the same lock file.
195 TEST(FirefoxImporterTest, ProfileLockContention) { 198 TEST(FirefoxImporterTest, ProfileLockContention) {
196 std::wstring test_path; 199 std::wstring test_path;
197 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path); 200 file_util::CreateNewTempDirectory(L"firefox_profile", &test_path);
201 FileAutoDeleter deleter(FilePath::FromWStringHack(test_path));
198 202
199 scoped_ptr<FirefoxProfileLock> lock1; 203 scoped_ptr<FirefoxProfileLock> lock1;
200 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock1.get()); 204 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock1.get());
201 lock1.reset(new FirefoxProfileLock(test_path)); 205 lock1.reset(new FirefoxProfileLock(test_path));
202 EXPECT_TRUE(lock1->HasAcquired()); 206 EXPECT_TRUE(lock1->HasAcquired());
203 207
204 scoped_ptr<FirefoxProfileLock> lock2; 208 scoped_ptr<FirefoxProfileLock> lock2;
205 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock2.get()); 209 EXPECT_EQ(static_cast<FirefoxProfileLock*>(NULL), lock2.get());
206 lock2.reset(new FirefoxProfileLock(test_path)); 210 lock2.reset(new FirefoxProfileLock(test_path));
207 EXPECT_FALSE(lock2->HasAcquired()); 211 EXPECT_FALSE(lock2->HasAcquired());
208 212
209 lock1->Unlock(); 213 lock1->Unlock();
210 EXPECT_FALSE(lock1->HasAcquired()); 214 EXPECT_FALSE(lock1->HasAcquired());
211 215
212 lock2->Lock(); 216 lock2->Lock();
213 EXPECT_TRUE(lock2->HasAcquired()); 217 EXPECT_TRUE(lock2->HasAcquired());
214 lock2->Unlock(); 218 lock2->Unlock();
215 EXPECT_FALSE(lock2->HasAcquired()); 219 EXPECT_FALSE(lock2->HasAcquired());
216 } 220 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698