ProjectingObserverChromeos: Drop DBusThreadManager dependency for better testing.
[chromium-blink-merge.git] / base / test / test_file_util_linux.cc
blob0ef5c0a1571041da64665bbf1673f0cce268396d
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.
5 #include "base/test/test_file_util.h"
7 #include <fcntl.h>
8 #include <sys/stat.h>
9 #include <sys/types.h>
10 #include <unistd.h>
12 #include "base/files/file_path.h"
13 #include "base/files/scoped_file.h"
15 namespace base {
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;
28 } // namespace base