Changeset View
Changeset View
Standalone View
Standalone View
head/tests/sys/fs/fusefs/utils.cc
Show First 20 Lines • Show All 267 Lines • ▼ Show 20 Lines | ).WillOnce(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { | ||||
SET_OUT_HEADER_LEN(out, attr); | SET_OUT_HEADER_LEN(out, attr); | ||||
out.body.attr.attr.ino = ino; // Must match nodeid | out.body.attr.attr.ino = ino; // Must match nodeid | ||||
out.body.attr.attr.mode = S_IFREG | 0644; | out.body.attr.attr.mode = S_IFREG | 0644; | ||||
out.body.attr.attr.size = size; | out.body.attr.attr.size = size; | ||||
out.body.attr.attr_valid = UINT64_MAX; | out.body.attr.attr_valid = UINT64_MAX; | ||||
}))); | }))); | ||||
} | } | ||||
void FuseTest::expect_getxattr(uint64_t ino, const char *attr, ProcessMockerT r) | |||||
{ | |||||
EXPECT_CALL(*m_mock, process( | |||||
ResultOf([=](auto in) { | |||||
const char *a = (const char*)in.body.bytes + | |||||
sizeof(fuse_getxattr_in); | |||||
return (in.header.opcode == FUSE_GETXATTR && | |||||
in.header.nodeid == ino && | |||||
0 == strcmp(attr, a)); | |||||
}, Eq(true)), | |||||
_) | |||||
).WillOnce(Invoke(r)); | |||||
} | |||||
void FuseTest::expect_lookup(const char *relpath, uint64_t ino, mode_t mode, | void FuseTest::expect_lookup(const char *relpath, uint64_t ino, mode_t mode, | ||||
uint64_t size, int times, uint64_t attr_valid, uid_t uid, gid_t gid) | uint64_t size, int times, uint64_t attr_valid, uid_t uid, gid_t gid) | ||||
{ | { | ||||
EXPECT_LOOKUP(FUSE_ROOT_ID, relpath) | EXPECT_LOOKUP(FUSE_ROOT_ID, relpath) | ||||
.Times(times) | .Times(times) | ||||
.WillRepeatedly(Invoke( | .WillRepeatedly(Invoke( | ||||
ReturnImmediate([=](auto in __unused, auto& out) { | ReturnImmediate([=](auto in __unused, auto& out) { | ||||
SET_OUT_HEADER_LEN(out, entry); | SET_OUT_HEADER_LEN(out, entry); | ||||
▲ Show 20 Lines • Show All 354 Lines • Show Last 20 Lines |