[test] Fix hard_link_count test to account for fs with dir nlink==1

Filesystems are not required to maintain a hard link count consistent
with number of subdirectories. For example, on btrfs all directories
have nlink==1. Account for that in the test.

Differential Revision: https://reviews.llvm.org/D29706

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294431 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michal Gorny
2017-02-08 09:57:32 +00:00
parent 1b8fc14abc
commit 6c7c93f95a

View File

@@ -57,15 +57,19 @@ TEST_CASE(hard_link_count_for_directory)
Dir3Expect = 3; // . .. file5
#endif
TEST_CHECK(hard_link_count(StaticEnv::Dir) == DirExpect ||
hard_link_count(StaticEnv::Dir) == DirExpectAlt);
hard_link_count(StaticEnv::Dir) == DirExpectAlt ||
hard_link_count(StaticEnv::Dir) == 1);
TEST_CHECK(hard_link_count(StaticEnv::Dir3) == Dir3Expect ||
hard_link_count(StaticEnv::Dir3) == Dir3ExpectAlt);
hard_link_count(StaticEnv::Dir3) == Dir3ExpectAlt ||
hard_link_count(StaticEnv::Dir3) == 1);
std::error_code ec;
TEST_CHECK(hard_link_count(StaticEnv::Dir, ec) == DirExpect ||
hard_link_count(StaticEnv::Dir, ec) == DirExpectAlt);
hard_link_count(StaticEnv::Dir, ec) == DirExpectAlt ||
hard_link_count(StaticEnv::Dir) == 1);
TEST_CHECK(hard_link_count(StaticEnv::Dir3, ec) == Dir3Expect ||
hard_link_count(StaticEnv::Dir3, ec) == Dir3ExpectAlt);
hard_link_count(StaticEnv::Dir3, ec) == Dir3ExpectAlt ||
hard_link_count(StaticEnv::Dir3) == 1);
}
TEST_CASE(hard_link_count_increments_test)
{