Changeset View
Changeset View
Standalone View
Standalone View
head/tests/sys/fs/fusefs/setattr.cc
Show First 20 Lines • Show All 580 Lines • ▼ Show 20 Lines | TEST_F(Setattr, utimensat) { | ||||
EXPECT_CALL(*m_mock, process( | EXPECT_CALL(*m_mock, process( | ||||
ResultOf([=](auto in) { | ResultOf([=](auto in) { | ||||
uint32_t valid = FATTR_ATIME | FATTR_MTIME; | uint32_t valid = FATTR_ATIME | FATTR_MTIME; | ||||
return (in.header.opcode == FUSE_SETATTR && | return (in.header.opcode == FUSE_SETATTR && | ||||
in.header.nodeid == ino && | in.header.nodeid == ino && | ||||
in.body.setattr.valid == valid && | in.body.setattr.valid == valid && | ||||
(time_t)in.body.setattr.atime == | (time_t)in.body.setattr.atime == | ||||
newtimes[0].tv_sec && | newtimes[0].tv_sec && | ||||
in.body.setattr.atimensec == | (long)in.body.setattr.atimensec == | ||||
newtimes[0].tv_nsec && | newtimes[0].tv_nsec && | ||||
(time_t)in.body.setattr.mtime == | (time_t)in.body.setattr.mtime == | ||||
newtimes[1].tv_sec && | newtimes[1].tv_sec && | ||||
in.body.setattr.mtimensec == | (long)in.body.setattr.mtimensec == | ||||
newtimes[1].tv_nsec); | newtimes[1].tv_nsec); | ||||
}, Eq(true)), | }, Eq(true)), | ||||
_) | _) | ||||
).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { | ).WillOnce(Invoke(ReturnImmediate([=](auto in __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.atime = newtimes[0].tv_sec; | out.body.attr.attr.atime = newtimes[0].tv_sec; | ||||
Show All 34 Lines | TEST_F(Setattr, utimensat_mtime_only) { | ||||
EXPECT_CALL(*m_mock, process( | EXPECT_CALL(*m_mock, process( | ||||
ResultOf([=](auto in) { | ResultOf([=](auto in) { | ||||
uint32_t valid = FATTR_MTIME; | uint32_t valid = FATTR_MTIME; | ||||
return (in.header.opcode == FUSE_SETATTR && | return (in.header.opcode == FUSE_SETATTR && | ||||
in.header.nodeid == ino && | in.header.nodeid == ino && | ||||
in.body.setattr.valid == valid && | in.body.setattr.valid == valid && | ||||
(time_t)in.body.setattr.mtime == | (time_t)in.body.setattr.mtime == | ||||
newtimes[1].tv_sec && | newtimes[1].tv_sec && | ||||
in.body.setattr.mtimensec == | (long)in.body.setattr.mtimensec == | ||||
newtimes[1].tv_nsec); | newtimes[1].tv_nsec); | ||||
}, Eq(true)), | }, Eq(true)), | ||||
_) | _) | ||||
).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { | ).WillOnce(Invoke(ReturnImmediate([=](auto in __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.atime = oldtimes[0].tv_sec; | out.body.attr.attr.atime = oldtimes[0].tv_sec; | ||||
▲ Show 20 Lines • Show All 126 Lines • Show Last 20 Lines |