Run fsync tests on mutable filesystem.

The purpose of those tests is to ensure fsync succeeds for
directories. However, they try to call fsync for / (the root
filesystem) that is usually mounted read-only, which does not
make sense because the whole point of fsync is to flush
uncommitted changes to the filesystem.

In fact, some well-known read-only filesystems (e.g. squashfs)
does not support fsync, so these tests fail if we use such
filesystems as the root filesystem.

This patch changes the tests to call fsync against /data
instead. /data is a user data partition and should be always
mounted read-write.

Bug: 28681455
Change-Id: I9314dad6f8d54c66401714af0f66e782ebd8e319
This commit is contained in:
Shuhei Takahashi 2016-05-11 14:04:09 +09:00
parent 2010fb6722
commit cfa3262ce4
1 changed files with 1 additions and 1 deletions

View File

@ -374,7 +374,7 @@ static void TestFsyncFunction(int (*fn)(int)) {
close(fd);
// The fd can even be a directory.
ASSERT_NE(-1, fd = open("/", O_RDONLY));
ASSERT_NE(-1, fd = open("/data", O_RDONLY));
EXPECT_EQ(0, fn(fd));
close(fd);