2014-11-20 15:35:52 +01:00
|
|
|
#include "testutils/FuseLstatReturnTest.h"
|
2014-11-20 15:27:01 +01:00
|
|
|
|
2014-11-20 15:35:52 +01:00
|
|
|
class FuseLstatReturnModeTest: public FuseLstatTest {
|
2014-11-20 15:27:01 +01:00
|
|
|
public:
|
|
|
|
const mode_t MODE1 = S_IFREG | S_IRUSR | S_IWGRP | S_IXOTH;
|
|
|
|
const mode_t MODE2 = S_IFDIR | S_IWUSR | S_IXGRP | S_IROTH;
|
|
|
|
|
|
|
|
struct stat CallLstatWithValue(mode_t mode) {
|
|
|
|
return CallLstatWithImpl([mode] (struct stat *stat) {
|
|
|
|
stat->st_mode = mode;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2014-11-20 15:35:52 +01:00
|
|
|
TEST_F(FuseLstatReturnModeTest, ReturnedModeIsCorrect1) {
|
2014-11-20 15:27:01 +01:00
|
|
|
struct ::stat result = CallLstatWithValue(MODE1);
|
|
|
|
EXPECT_EQ(MODE1, result.st_mode);
|
|
|
|
}
|
|
|
|
|
2014-11-20 15:35:52 +01:00
|
|
|
TEST_F(FuseLstatReturnModeTest, ReturnedModeIsCorrect2) {
|
2014-11-20 15:27:01 +01:00
|
|
|
struct ::stat result = CallLstatWithValue(MODE2);
|
|
|
|
EXPECT_EQ(MODE2, result.st_mode);
|
|
|
|
}
|