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

Side by Side Diff: base/test/test_file_util_win.cc

Issue 6126002: Remove base/scoped_handle_win.h stub and fix up all callers to use the new location and namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 11 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
OLDNEW
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/test/test_file_util.h" 5 #include "base/test/test_file_util.h"
6 6
7 #include <shlwapi.h> 7 #include <shlwapi.h>
8 #include <windows.h> 8 #include <windows.h>
9 9
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/file_path.h" 12 #include "base/file_path.h"
13 #include "base/file_util.h" 13 #include "base/file_util.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/scoped_handle.h" 15 #include "base/win/scoped_handle.h"
16 #include "base/threading/platform_thread.h" 16 #include "base/threading/platform_thread.h"
17 17
18 namespace file_util { 18 namespace file_util {
19 19
20 static const ptrdiff_t kOneMB = 1024 * 1024; 20 static const ptrdiff_t kOneMB = 1024 * 1024;
21 21
22 bool DieFileDie(const FilePath& file, bool recurse) { 22 bool DieFileDie(const FilePath& file, bool recurse) {
23 // It turns out that to not induce flakiness a long timeout is needed. 23 // It turns out that to not induce flakiness a long timeout is needed.
24 const int kTimeoutMs = 10000; 24 const int kTimeoutMs = 10000;
25 25
26 if (!file_util::PathExists(file)) 26 if (!file_util::PathExists(file))
27 return true; 27 return true;
28 28
29 // Sometimes Delete fails, so try a few more times. Divide the timeout 29 // Sometimes Delete fails, so try a few more times. Divide the timeout
30 // into short chunks, so that if a try succeeds, we won't delay the test 30 // into short chunks, so that if a try succeeds, we won't delay the test
31 // for too long. 31 // for too long.
32 for (int i = 0; i < 25; ++i) { 32 for (int i = 0; i < 25; ++i) {
33 if (file_util::Delete(file, recurse)) 33 if (file_util::Delete(file, recurse))
34 return true; 34 return true;
35 base::PlatformThread::Sleep(kTimeoutMs / 25); 35 base::PlatformThread::Sleep(kTimeoutMs / 25);
36 } 36 }
37 return false; 37 return false;
38 } 38 }
39 39
40 bool EvictFileFromSystemCache(const FilePath& file) { 40 bool EvictFileFromSystemCache(const FilePath& file) {
41 // Request exclusive access to the file and overwrite it with no buffering. 41 // Request exclusive access to the file and overwrite it with no buffering.
42 ScopedHandle file_handle( 42 base::win::ScopedHandle file_handle(
43 CreateFile(file.value().c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, 43 CreateFile(file.value().c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL,
44 OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL)); 44 OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, NULL));
45 if (!file_handle) 45 if (!file_handle)
46 return false; 46 return false;
47 47
48 // Get some attributes to restore later. 48 // Get some attributes to restore later.
49 BY_HANDLE_FILE_INFORMATION bhi = {0}; 49 BY_HANDLE_FILE_INFORMATION bhi = {0};
50 CHECK(::GetFileInformationByHandle(file_handle, &bhi)); 50 CHECK(::GetFileInformationByHandle(file_handle, &bhi));
51 51
52 // Execute in chunks. It could be optimized. We want to do few of these since 52 // Execute in chunks. It could be optimized. We want to do few of these since
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 if (read != arraysize(kIdentifier)) 225 if (read != arraysize(kIdentifier))
226 continue; 226 continue;
227 227
228 if (strcmp(kIdentifier, buffer) == 0) 228 if (strcmp(kIdentifier, buffer) == 0)
229 return true; 229 return true;
230 } 230 }
231 return false; 231 return false;
232 } 232 }
233 233
234 } // namespace file_util 234 } // namespace file_util
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698