test_file_util.h revision c7f5f8508d98d5952d42ed7648c2a8f30a4da156
1// Copyright (c) 2008 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef BASE_TEST_TEST_FILE_UTIL_H_
6#define BASE_TEST_TEST_FILE_UTIL_H_
7
8// File utility functions used only by tests.
9
10#include <string>
11
12class FilePath;
13
14namespace file_util {
15
16// Wrapper over file_util::Delete. On Windows repeatedly invokes Delete in case
17// of failure to workaround Windows file locking semantics. Returns true on
18// success.
19bool DieFileDie(const FilePath& file, bool recurse);
20
21// Clear a specific file from the system cache. After this call, trying
22// to access this file will result in a cold load from the hard drive.
23bool EvictFileFromSystemCache(const FilePath& file);
24
25// Like CopyFileNoCache but recursively copies all files and subdirectories
26// in the given input directory to the output directory. Any files in the
27// destination that already exist will be overwritten.
28//
29// Returns true on success. False means there was some error copying, so the
30// state of the destination is unknown.
31bool CopyRecursiveDirNoCache(const FilePath& source_dir,
32                             const FilePath& dest_dir);
33
34}  // namespace file_util
35
36#endif  // BASE_TEST_TEST_FILE_UTIL_H_
37