Lines Matching defs:in
9 * Redistribution and use in source and binary forms, with or without
14 * 2. Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
122 return([=](auto in, auto &out) {
124 out0->header.unique = in.header.unique;
135 return([=](auto in, auto &out) {
139 out0->header.unique = in.header.unique;
149 ReturnImmediate(std::function<void(const mockfs_buf_in& in,
152 return([=](auto& in, auto &out) {
154 out0->header.unique = in.header.unique;
155 f(in, *out0);
164 void MockFS::debug_request(const mockfs_buf_in &in, ssize_t buflen)
166 printf("%-11s ino=%2" PRIu64, opcode2opname(in.header.opcode),
167 in.header.nodeid);
171 in.header.uid, in.header.gid, in.header.pid,
172 in.header.unique, in.header.len, buflen);
174 switch (in.header.opcode) {
178 printf(" mask=%#x", in.body.access.mask);
182 in.body.bmap.block, in.body.bmap.blocksize);
187 in.body.copy_file_range.off_in,
188 in.body.copy_file_range.nodeid_out,
189 in.body.copy_file_range.off_out,
190 in.body.copy_file_range.len);
194 in.body.copy_file_range.fh_in,
195 in.body.copy_file_range.fh_out,
196 in.body.copy_file_range.flags);
200 name = (const char*)in.body.bytes +
203 name = (const char*)in.body.bytes +
206 in.body.open.flags, name);
211 in.body.fallocate.fh,
212 in.body.fallocate.offset,
213 in.body.fallocate.length,
214 in.body.fallocate.mode);
218 in.body.flush.fh,
219 in.body.flush.lock_owner);
222 printf(" nlookup=%" PRIu64, in.body.forget.nlookup);
225 printf(" flags=%#x", in.body.fsync.fsync_flags);
228 printf(" flags=%#x", in.body.fsyncdir.fsync_flags);
233 in.body.getlk.fh,
234 in.body.getlk.lk.type,
235 in.body.getlk.lk.pid);
238 in.body.getlk.lk.start,
239 in.body.getlk.lk.end);
243 printf(" unique=%" PRIu64, in.body.interrupt.unique);
246 printf(" oldnodeid=%" PRIu64, in.body.link.oldnodeid);
249 printf(" size=%" PRIu32, in.body.listxattr.size);
252 printf(" %s", in.body.lookup);
255 switch (in.body.lseek.whence) {
258 in.body.lseek.offset);
262 in.body.lseek.offset);
266 in.body.lseek.whence, in.body.lseek.offset);
271 name = (const char*)in.body.bytes +
274 in.body.mkdir.mode, in.body.mkdir.umask);
278 name = (const char*)in.body.bytes +
281 name = (const char*)in.body.bytes +
284 in.body.mknod.mode, in.body.mknod.rdev,
285 in.body.mknod.umask, name);
288 printf(" flags=%#x", in.body.open.flags);
291 printf(" flags=%#x", in.body.opendir.flags);
295 in.body.read.offset,
296 in.body.read.size);
298 printf(" flags=%#x", in.body.read.flags);
302 in.body.readdir.fh, in.body.readdir.offset,
303 in.body.readdir.size);
307 in.body.release.fh,
308 in.body.release.flags,
309 in.body.release.lock_owner);
313 const char *src = (const char*)in.body.bytes +
317 src, in.body.rename.newdir, dst);
322 printf(" valid=%#x", in.body.setattr.valid);
325 if (in.body.setattr.valid & FATTR_MODE)
326 printf(" mode=%#o", in.body.setattr.mode);
327 if (in.body.setattr.valid & FATTR_UID)
328 printf(" uid=%u", in.body.setattr.uid);
329 if (in.body.setattr.valid & FATTR_GID)
330 printf(" gid=%u", in.body.setattr.gid);
331 if (in.body.setattr.valid & FATTR_SIZE)
332 printf(" size=%" PRIu64, in.body.setattr.size);
333 if (in.body.setattr.valid & FATTR_ATIME)
335 in.body.setattr.atime,
336 in.body.setattr.atimensec);
337 if (in.body.setattr.valid & FATTR_MTIME)
339 in.body.setattr.mtime,
340 in.body.setattr.mtimensec);
341 if (in.body.setattr.valid & FATTR_FH)
342 printf(" fh=%" PRIu64 "", in.body.setattr.fh);
347 in.body.setlk.fh, in.body.setlk.owner,
348 in.body.setlk.lk.type,
349 in.body.setlk.lk.pid);
352 in.body.setlk.lk.start,
353 in.body.setlk.lk.end);
359 * ASCII, but in this test suite they always are.
361 name = (const char*)in.body.bytes +
369 in.body.write.fh,
370 in.body.write.offset, in.body.write.size,
371 in.body.write.write_flags);
373 printf(" flags=%#x", in.body.write.flags);
450 * googletest doesn't allow ASSERT_ in constructors, so we must throw
557 void MockFS::audit_request(const mockfs_buf_in &in, ssize_t buflen) {
558 uint32_t inlen = in.header.len;
559 size_t fih = sizeof(in.header);
560 switch (in.header.opcode) {
569 EXPECT_EQ(inlen, fih + sizeof(in.body.forget));
573 EXPECT_EQ(inlen, fih + sizeof(in.body.getattr));
577 EXPECT_EQ(inlen, fih + sizeof(in.body.setattr));
588 s = sizeof(in.body.mknod);
597 EXPECT_GE(inlen, fih + sizeof(in.body.mkdir)) <<
599 EXPECT_GT(inlen, fih + sizeof(in.body.mkdir)) <<
604 EXPECT_GE(inlen, fih + sizeof(in.body.rename)) <<
606 EXPECT_GT(inlen, fih + sizeof(in.body.rename)) <<
611 EXPECT_GE(inlen, fih + sizeof(in.body.link)) <<
613 EXPECT_GT(inlen, fih + sizeof(in.body.link)) <<
618 EXPECT_EQ(inlen, fih + sizeof(in.body.open));
622 EXPECT_EQ(inlen, fih + sizeof(in.body.read));
630 s = sizeof(in.body.write);
635 EXPECT_EQ((size_t)buflen, fih + s + in.body.write.size);
644 EXPECT_EQ(inlen, fih + sizeof(in.body.release));
649 EXPECT_EQ(inlen, fih + sizeof(in.body.fsync));
653 EXPECT_GE(inlen, fih + sizeof(in.body.setxattr)) <<
655 EXPECT_GT(inlen, fih + sizeof(in.body.setxattr)) <<
660 EXPECT_GE(inlen, fih + sizeof(in.body.getxattr)) <<
662 EXPECT_GT(inlen, fih + sizeof(in.body.getxattr)) <<
667 EXPECT_EQ(inlen, fih + sizeof(in.body.listxattr));
675 EXPECT_EQ(inlen, fih + sizeof(in.body.flush));
679 EXPECT_EQ(inlen, fih + sizeof(in.body.init));
683 EXPECT_EQ(inlen, fih + sizeof(in.body.opendir));
687 EXPECT_EQ(inlen, fih + sizeof(in.body.readdir));
691 EXPECT_EQ(inlen, fih + sizeof(in.body.releasedir));
695 EXPECT_EQ(inlen, fih + sizeof(in.body.getlk));
700 EXPECT_EQ(inlen, fih + sizeof(in.body.setlk));
704 EXPECT_EQ(inlen, fih + sizeof(in.body.access));
708 EXPECT_GE(inlen, fih + sizeof(in.body.create)) <<
710 EXPECT_GT(inlen, fih + sizeof(in.body.create)) <<
715 EXPECT_EQ(inlen, fih + sizeof(in.body.interrupt));
719 EXPECT_EQ(inlen, fih + sizeof(in.body.fallocate));
723 EXPECT_EQ(inlen, fih + sizeof(in.body.bmap));
727 EXPECT_EQ(inlen, fih + sizeof(in.body.lseek));
731 EXPECT_EQ(inlen, fih + sizeof(in.body.copy_file_range));
732 EXPECT_EQ(0ul, in.body.copy_file_range.flags);
742 FAIL() << "Unknown opcode " << in.header.opcode;
745 if (m_uniques->find(in.header.unique) != m_uniques->end())
747 m_uniques->insert(in.header.unique);
753 std::unique_ptr<mockfs_buf_in> in(new mockfs_buf_in);
756 read_request(*in, buflen);
758 debug_request(*in, buflen);
759 audit_request(*in, buflen);
760 ASSERT_EQ(FUSE_INIT, in->header.opcode);
762 out->header.unique = in->header.unique;
766 out->body.init.flags = in->body.init.flags & flags;
794 std::unique_ptr<mockfs_buf_in> in(new mockfs_buf_in);
795 ASSERT_TRUE(in != NULL);
799 bzero(in.get(), sizeof(*in));
800 read_request(*in, buflen);
804 debug_request(*in, buflen);
805 audit_request(*in, buflen);
806 if (pid_ok((pid_t)in->header.pid)) {
807 process(*in, out);
816 in->header.pid);
817 process_default(*in, out);
896 void MockFS::process_default(const mockfs_buf_in& in,
900 out0->header.unique = in.header.unique;
906 void MockFS::read_request(mockfs_buf_in &in, ssize_t &res) {
973 res = read(m_fuse_fd, &in, sizeof(in));
979 ASSERT_TRUE(res >= static_cast<ssize_t>(sizeof(in.header)) || m_quit);
985 ASSERT_TRUE(res == static_cast<ssize_t>(in.header.len) || m_quit);