Added more lstat tests

This commit is contained in:
Sebastian Messmer 2014-11-19 17:12:47 +01:00
parent 2128147f96
commit 36c0ed2348
1 changed files with 22 additions and 0 deletions

View File

@ -16,6 +16,10 @@ using std::string;
class FuseLstatTest: public FuseTest {
public:
const char *FILENAME = "/myfile";
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 LstatPath(const string &path) {
auto fs = TestFS();
@ -56,3 +60,21 @@ TEST_F(FuseLstatTest, PathParameterIsCorrectNestedDir) {
EXPECT_CALL(fsimpl, lstat(StrEq("/mydir/mydir2/mydir3"), _)).Times(1);
LstatPath("/mydir/mydir2/mydir3/");
}
TEST_F(FuseLstatTest, ReturnedModeIsCorrect1) {
EXPECT_CALL(fsimpl, lstat(StrEq(FILENAME), _)).WillRepeatedly(Invoke([this](const char*, struct ::stat *stat) {
stat->st_mode = MODE1;
}));
struct ::stat result = LstatPath(FILENAME);
EXPECT_EQ(MODE1, result.st_mode);
}
TEST_F(FuseLstatTest, ReturnedModeIsCorrect2) {
EXPECT_CALL(fsimpl, lstat(StrEq(FILENAME), _)).WillRepeatedly(Invoke([this](const char*, struct ::stat *stat) {
stat->st_mode = MODE2;
}));
struct ::stat result = LstatPath(FILENAME);
EXPECT_EQ(MODE2, result.st_mode);
}