libcryfs/test/fspp/fuse/fstat/FuseFstatParameterTest.cpp

34 lines
1.0 KiB
C++
Raw Normal View History

2014-11-25 14:29:44 +01:00
#include "testutils/FuseFstatTest.h"
#include "fspp/fs_interface/FuseErrnoException.h"
2014-11-25 14:29:44 +01:00
using ::testing::WithParamInterface;
using ::testing::Values;
using ::testing::Eq;
using namespace fspp::fuse;
2014-11-25 14:29:44 +01:00
// Cite from FUSE documentation on the fgetattr function:
// "Currently this is only called after the create() method if that is implemented (see above).
// Later it may be called for invocations of fstat() too."
// So we need to issue a create to get our fstat called.
class FuseFstatParameterTest: public FuseFstatTest, public WithParamInterface<int> {
public:
2014-11-25 14:58:00 +01:00
void CallFstat(const char *filename) {
auto fs = TestFS();
CreateFile(fs.get(), filename);
}
2014-11-25 14:29:44 +01:00
};
2019-10-13 14:16:06 +02:00
INSTANTIATE_TEST_SUITE_P(FuseFstatParameterTest, FuseFstatParameterTest, Values(0,1,10,1000,1024*1024*1024));
2014-11-25 14:29:44 +01:00
TEST_P(FuseFstatParameterTest, FileDescriptorIsCorrect) {
ReturnDoesntExistOnLstat(FILENAME);
2014-11-25 18:43:50 +01:00
OnCreateAndOpenReturnFileDescriptor(FILENAME, GetParam());
2021-04-21 08:09:00 +02:00
EXPECT_CALL(*fsimpl, fstat(Eq(GetParam()), testing::_)).Times(1).WillOnce(ReturnIsFileFstat);
2014-11-25 14:29:44 +01:00
2014-11-25 14:58:00 +01:00
CallFstat(FILENAME);
2014-11-25 14:29:44 +01:00
}