libcryfs/test/fspp/fuse/lstat/FuseLstatReturnModeTest.cpp

25 lines
794 B
C++
Raw Normal View History

#include "testutils/FuseLstatReturnTest.h"
2014-11-20 17:11:03 +01:00
using ::testing::WithParamInterface;
using ::testing::Values;
2014-11-20 17:11:03 +01:00
class FuseLstatReturnModeTest: public FuseLstatTest, public WithParamInterface<mode_t> {
public:
2018-09-16 03:02:03 +02:00
fspp::fuse::STAT CallLstatWithValue(mode_t mode) {
return CallLstatWithImpl([mode] (fspp::fuse::STAT *stat) {
stat->st_mode = mode;
});
}
};
2019-10-13 14:16:06 +02:00
INSTANTIATE_TEST_SUITE_P(FuseLstatReturnModeTest, FuseLstatReturnModeTest, Values(
2014-11-20 17:11:03 +01:00
S_IFREG,
S_IFDIR,
S_IFREG | S_IRUSR | S_IWGRP | S_IXOTH, // a file with some access bits set
S_IFDIR | S_IWUSR | S_IXGRP | S_IROTH // a dir with some access bits set
));
2014-11-20 17:11:03 +01:00
TEST_P(FuseLstatReturnModeTest, ReturnedModeIsCorrect) {
2018-09-16 03:02:03 +02:00
fspp::fuse::STAT result = CallLstatWithValue(GetParam());
2014-11-20 17:11:03 +01:00
EXPECT_EQ(GetParam(), result.st_mode);
}