mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-09 05:47:13 +00:00
Don't test setting sticky bits on files for modern BSDs
Summary: In rL297945, jhenderson added methods for setting permissions to sys::fs, but some of the unittests that attempt to set sticky bits (01000) on files fail on modern BSDs, such as FreeBSD, NetBSD and OpenBSD. This is because those systems do not allow regular users to set sticky bits on files, only on directories. Fix it by disabling these particular tests on modern BSDs. Reviewers: emaste, brad, jhenderson Reviewed By: jhenderson Subscribers: joerg, krytarowski, llvm-commits Differential Revision: https://reviews.llvm.org/D32120 llvm-svn: 301220
This commit is contained in:
parent
3eb19e0717
commit
2cf6ab4a79
@ -1515,6 +1515,8 @@ TEST_F(FileSystemTest, permissions) {
|
||||
EXPECT_EQ(fs::setPermissions(TempPath, fs::set_gid_on_exe), NoError);
|
||||
EXPECT_TRUE(CheckPermissions(fs::set_gid_on_exe));
|
||||
|
||||
// Modern BSDs require root to set the sticky bit on files.
|
||||
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
|
||||
EXPECT_EQ(fs::setPermissions(TempPath, fs::sticky_bit), NoError);
|
||||
EXPECT_TRUE(CheckPermissions(fs::sticky_bit));
|
||||
|
||||
@ -1534,6 +1536,11 @@ TEST_F(FileSystemTest, permissions) {
|
||||
|
||||
EXPECT_EQ(fs::setPermissions(TempPath, fs::all_perms), NoError);
|
||||
EXPECT_TRUE(CheckPermissions(fs::all_perms));
|
||||
#endif // !FreeBSD && !NetBSD && !OpenBSD
|
||||
|
||||
EXPECT_EQ(fs::setPermissions(TempPath, fs::all_perms & ~fs::sticky_bit),
|
||||
NoError);
|
||||
EXPECT_TRUE(CheckPermissions(fs::all_perms & ~fs::sticky_bit));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user