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
3 // found in the LICENSE file.
4 
5 #include "base/test/test_file_util.h"
6 
7 #include <fcntl.h>
8 #include <sys/stat.h>
9 #include <sys/types.h>
10 #include <unistd.h>
11 
12 #include "base/files/file_path.h"
13 #include "base/files/scoped_file.h"
14 
15 namespace base {
16 
EvictFileFromSystemCache(const FilePath & file)17 bool EvictFileFromSystemCache(const FilePath& file) {
18   ScopedFD fd(open(file.value().c_str(), O_RDONLY));
19   if (!fd.is_valid())
20     return false;
21   if (fdatasync(fd.get()) != 0)
22     return false;
23   if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0)
24     return false;
25   return true;
26 }
27 
28 }  // namespace base
29