From owner-svn-src-projects@freebsd.org Mon May 27 17:08:19 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 47E5015A5E9B for ; Mon, 27 May 2019 17:08:19 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BB0EE7574F; Mon, 27 May 2019 17:08:18 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 723805F38; Mon, 27 May 2019 17:08:18 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x4RH8Ia0089951; Mon, 27 May 2019 17:08:18 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x4RH8G2m089942; Mon, 27 May 2019 17:08:16 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201905271708.x4RH8G2m089942@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 27 May 2019 17:08:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r348307 - projects/fuse2/tests/sys/fs/fusefs X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fusefs X-SVN-Commit-Revision: 348307 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: BB0EE7574F X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.975,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 May 2019 17:08:19 -0000 Author: asomers Date: Mon May 27 17:08:16 2019 New Revision: 348307 URL: https://svnweb.freebsd.org/changeset/base/348307 Log: fusefs: make the tests more cplusplusy * Prefer std::unique_ptr to raw pointers * Prefer pass-by-reference to pass-by-pointer * Prefer static_cast to C-style cast, unless it's too much typing Reported by: ngie Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fusefs/allow_other.cc projects/fuse2/tests/sys/fs/fusefs/create.cc projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc projects/fuse2/tests/sys/fs/fusefs/default_permissions_privileged.cc projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc projects/fuse2/tests/sys/fs/fusefs/fifo.cc projects/fuse2/tests/sys/fs/fusefs/flush.cc projects/fuse2/tests/sys/fs/fusefs/fsync.cc projects/fuse2/tests/sys/fs/fusefs/fsyncdir.cc projects/fuse2/tests/sys/fs/fusefs/getattr.cc projects/fuse2/tests/sys/fs/fusefs/interrupt.cc projects/fuse2/tests/sys/fs/fusefs/link.cc projects/fuse2/tests/sys/fs/fusefs/locks.cc projects/fuse2/tests/sys/fs/fusefs/lookup.cc projects/fuse2/tests/sys/fs/fusefs/mkdir.cc projects/fuse2/tests/sys/fs/fusefs/mknod.cc projects/fuse2/tests/sys/fs/fusefs/mockfs.cc projects/fuse2/tests/sys/fs/fusefs/mockfs.hh projects/fuse2/tests/sys/fs/fusefs/mount.cc projects/fuse2/tests/sys/fs/fusefs/nfs.cc projects/fuse2/tests/sys/fs/fusefs/open.cc projects/fuse2/tests/sys/fs/fusefs/opendir.cc projects/fuse2/tests/sys/fs/fusefs/read.cc projects/fuse2/tests/sys/fs/fusefs/readdir.cc projects/fuse2/tests/sys/fs/fusefs/readlink.cc projects/fuse2/tests/sys/fs/fusefs/release.cc projects/fuse2/tests/sys/fs/fusefs/releasedir.cc projects/fuse2/tests/sys/fs/fusefs/rename.cc projects/fuse2/tests/sys/fs/fusefs/rmdir.cc projects/fuse2/tests/sys/fs/fusefs/setattr.cc projects/fuse2/tests/sys/fs/fusefs/statfs.cc projects/fuse2/tests/sys/fs/fusefs/symlink.cc projects/fuse2/tests/sys/fs/fusefs/unlink.cc projects/fuse2/tests/sys/fs/fusefs/utils.cc projects/fuse2/tests/sys/fs/fusefs/write.cc projects/fuse2/tests/sys/fs/fusefs/xattr.cc Modified: projects/fuse2/tests/sys/fs/fusefs/allow_other.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/allow_other.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/allow_other.cc Mon May 27 17:08:16 2019 (r348307) @@ -108,9 +108,9 @@ TEST_F(AllowOther, creds) get_unprivileged_id(&uid, &gid); fork(true, &status, [=] { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - in->header.uid == uid && - in->header.gid == gid); + return (in.header.opcode == FUSE_LOOKUP && + in.header.uid == uid && + in.header.gid == gid); }, Eq(true)), _) ).Times(1) @@ -143,25 +143,25 @@ TEST_F(AllowOther, privilege_escalation) expect_lookup(RELPATH, ino, S_IFREG | 0600, 0, 2); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_OPEN && - in->header.pid == (uint32_t)getpid() && - in->header.uid == (uint32_t)geteuid() && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_OPEN && + in.header.pid == (uint32_t)getpid() && + in.header.uid == (uint32_t)geteuid() && + in.header.nodeid == ino); }, Eq(true)), _) ).WillOnce(Invoke( - ReturnImmediate([](auto in __unused, auto out) { - out->body.open.fh = fh; - out->header.len = sizeof(out->header); + ReturnImmediate([](auto in __unused, auto& out) { + out.body.open.fh = fh; + out.header.len = sizeof(out.header); SET_OUT_HEADER_LEN(out, open); }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_OPEN && - in->header.pid != (uint32_t)getpid() && - in->header.uid != (uint32_t)geteuid() && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_OPEN && + in.header.pid != (uint32_t)getpid() && + in.header.uid != (uint32_t)geteuid() && + in.header.nodeid == ino); }, Eq(true)), _) ).Times(AnyNumber()) @@ -228,12 +228,12 @@ TEST_F(NoAllowOther, disallowed_beneath_root) expect_lookup(RELPATH, ino, S_IFDIR | 0755, 0, 1); EXPECT_LOOKUP(ino, RELPATH2) - .WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = ino2; - out->body.entry.attr.nlink = 1; - out->body.entry.attr_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = ino2; + out.body.entry.attr.nlink = 1; + out.body.entry.attr_valid = UINT64_MAX; }))); expect_opendir(ino); dfd = open(FULLPATH, O_DIRECTORY); @@ -269,12 +269,12 @@ TEST_F(NoAllowOther, setextattr) fork(true, &status, [&] { EXPECT_LOOKUP(1, RELPATH) .WillOnce(Invoke( - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr_valid = UINT64_MAX; - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = ino; + out.body.entry.attr_valid = UINT64_MAX; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = ino; }))); /* Modified: projects/fuse2/tests/sys/fs/fusefs/create.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/create.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/create.cc Mon May 27 17:08:16 2019 (r348307) @@ -44,10 +44,10 @@ void expect_create(const char *relpath, mode_t mode, P { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - const char *name = (const char*)in->body.bytes + + const char *name = (const char*)in.body.bytes + sizeof(fuse_open_in); - return (in->header.opcode == FUSE_CREATE && - in->body.open.mode == mode && + return (in.header.opcode == FUSE_CREATE && + in.body.open.mode == mode && (0 == strcmp(relpath, name))); }, Eq(true)), _) @@ -80,18 +80,18 @@ TEST_F(Create, attr_cache) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == ino); }, Eq(true)), _) ).Times(0); @@ -114,25 +114,25 @@ TEST_F(Create, clear_attr_cache) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == 1); + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == 1); }, Eq(true)), _) ).Times(2) - .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto out) { + .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = 1; - out->body.attr.attr.mode = S_IFDIR | 0755; - out->body.attr.attr_valid = UINT64_MAX; + out.body.attr.attr.ino = 1; + out.body.attr.attr.mode = S_IFDIR | 0755; + out.body.attr.attr_valid = UINT64_MAX; }))); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); EXPECT_EQ(0, stat("mountpoint", &sb)) << strerror(errno); @@ -177,30 +177,30 @@ TEST_F(Create, Enosys) EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - const char *name = (const char*)in->body.bytes + + const char *name = (const char*)in.body.bytes + sizeof(fuse_mknod_in); - return (in->header.opcode == FUSE_MKNOD && - in->body.mknod.mode == (S_IFREG | mode) && - in->body.mknod.rdev == 0 && + return (in.header.opcode == FUSE_MKNOD && + in.body.mknod.mode == (S_IFREG | mode) && + in.body.mknod.rdev == 0 && (0 == strcmp(RELPATH, name))); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = mode; - out->body.entry.nodeid = ino; - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr_valid = UINT64_MAX; + out.body.entry.attr.mode = mode; + out.body.entry.nodeid = ino; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr_valid = UINT64_MAX; }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_OPEN && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_OPEN && + in.header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto out) { - out->header.len = sizeof(out->header); + ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto& out) { + out.header.len = sizeof(out.header); SET_OUT_HEADER_LEN(out, open); }))); @@ -229,12 +229,12 @@ TEST_F(Create, entry_cache_negative) /* create will first do a LOOKUP, adding a negative cache entry */ EXPECT_LOOKUP(1, RELPATH).WillOnce(ReturnNegativeCache(&entry_valid)); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); fd = open(FULLPATH, O_CREAT | O_EXCL, mode); @@ -261,11 +261,11 @@ TEST_F(Create, entry_cache_negative_purge) /* Then the CREATE should purge the negative cache entry */ expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.attr_valid = UINT64_MAX; })); fd = open(FULLPATH, O_CREAT | O_EXCL, mode); @@ -305,12 +305,12 @@ TEST_F(Create, ok) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); fd = open(FULLPATH, O_CREAT | O_EXCL, mode); @@ -336,12 +336,12 @@ TEST_F(Create, wronly_0444) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); fd = open(FULLPATH, O_CREAT | O_WRONLY, mode); @@ -359,12 +359,12 @@ TEST_F(Create_7_8, ok) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); expect_create(RELPATH, mode, - ReturnImmediate([=](auto in __unused, auto out) { + ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create_7_8); - out->body.create.entry.attr.mode = mode; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = mode; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; })); fd = open(FULLPATH, O_CREAT | O_EXCL, mode); Modified: projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc Mon May 27 17:08:16 2019 (r348307) @@ -61,7 +61,7 @@ virtual void SetUp() { /* With -o default_permissions, FUSE_ACCESS should never be called */ EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_ACCESS); + return (in.header.opcode == FUSE_ACCESS); }, Eq(true)), _) ).Times(0); @@ -72,18 +72,18 @@ void expect_chmod(uint64_t ino, mode_t mode, uint64_t { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - in->body.setattr.valid == FATTR_MODE && - in->body.setattr.mode == mode); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + in.body.setattr.valid == FATTR_MODE && + in.body.setattr.mode == mode); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = S_IFREG | mode; - out->body.attr.attr.size = size; - out->body.attr.attr_valid = UINT64_MAX; + out.body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.mode = S_IFREG | mode; + out.body.attr.attr.size = size; + out.body.attr.attr_valid = UINT64_MAX; }))); } @@ -91,18 +91,18 @@ void expect_create(const char *relpath, uint64_t ino) { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - const char *name = (const char*)in->body.bytes + + const char *name = (const char*)in.body.bytes + sizeof(fuse_open_in); - return (in->header.opcode == FUSE_CREATE && + return (in.header.opcode == FUSE_CREATE && (0 == strcmp(relpath, name))); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, create); - out->body.create.entry.attr.mode = S_IFREG | 0644; - out->body.create.entry.nodeid = ino; - out->body.create.entry.entry_valid = UINT64_MAX; - out->body.create.entry.attr_valid = UINT64_MAX; + out.body.create.entry.attr.mode = S_IFREG | 0644; + out.body.create.entry.nodeid = ino; + out.body.create.entry.entry_valid = UINT64_MAX; + out.body.create.entry.attr_valid = UINT64_MAX; }))); } @@ -111,19 +111,19 @@ void expect_getattr(uint64_t ino, mode_t mode, uint64_ { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == ino); }, Eq(true)), _) ).Times(times) - .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto out) { + .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = mode; - out->body.attr.attr.size = 0; - out->body.attr.attr.uid = uid; - out->body.attr.attr.uid = gid; - out->body.attr.attr_valid = attr_valid; + out.body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.mode = mode; + out.body.attr.attr.size = 0; + out.body.attr.attr.uid = uid; + out.body.attr.attr.uid = gid; + out.body.attr.attr_valid = attr_valid; }))); } @@ -158,7 +158,7 @@ void expect_removexattr() { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_REMOVEXATTR); + return (in.header.opcode == FUSE_REMOVEXATTR); }, Eq(true)), _) ).WillOnce(Invoke(ReturnErrno(0))); @@ -171,7 +171,7 @@ void expect_getxattr(ProcessMockerT r) { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETXATTR); + return (in.header.opcode == FUSE_GETXATTR); }, Eq(true)), _) ).WillOnce(Invoke(r)); @@ -184,11 +184,11 @@ void expect_listxattr() { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LISTXATTR); + return (in.header.opcode == FUSE_LISTXATTR); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([](auto i __unused, auto out) { - out->body.listxattr.size = 0; + ).WillOnce(Invoke(ReturnImmediate([](auto i __unused, auto& out) { + out.body.listxattr.size = 0; SET_OUT_HEADER_LEN(out, listxattr); }))); } @@ -204,7 +204,7 @@ class Rename: public DefaultPermissions { (public) { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_RENAME); + return (in.header.opcode == FUSE_RENAME); }, Eq(true)), _) ).WillOnce(Invoke(ReturnErrno(error))); @@ -217,7 +217,7 @@ void expect_setxattr(int error) { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETXATTR); + return (in.header.opcode == FUSE_SETXATTR); }, Eq(true)), _) ).WillOnce(Invoke(ReturnErrno(error))); @@ -312,13 +312,13 @@ TEST_F(Chown, chown_to_self) /* The OS may optimize chown by omitting the redundant setattr */ EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) - ).WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto out){ + ).WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out){ SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.mode = S_IFREG | mode; - out->body.attr.attr.uid = uid; + out.body.attr.attr.mode = S_IFREG | mode; + out.body.attr.attr.uid = uid; }))); EXPECT_EQ(0, chown(FULLPATH, uid, -1)) << strerror(errno); @@ -342,17 +342,17 @@ TEST_F(Chown, clear_suid) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - in->body.setattr.valid == valid && - in->body.setattr.mode == newmode); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + in.body.setattr.valid == valid && + in.body.setattr.mode == newmode); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = S_IFREG | newmode; - out->body.attr.attr_valid = UINT64_MAX; + out.body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.mode = S_IFREG | newmode; + out.body.attr.attr_valid = UINT64_MAX; }))); EXPECT_EQ(0, chown(FULLPATH, uid, -1)) << strerror(errno); @@ -371,7 +371,7 @@ TEST_F(Chown, eperm) expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, geteuid()); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) ).Times(0); @@ -399,17 +399,17 @@ TEST_F(Chgrp, clear_suid) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid, gid); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - in->body.setattr.valid == valid && - in->body.setattr.mode == newmode); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + in.body.setattr.valid == valid && + in.body.setattr.mode == newmode); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = S_IFREG | newmode; - out->body.attr.attr_valid = UINT64_MAX; + out.body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.mode = S_IFREG | newmode; + out.body.attr.attr_valid = UINT64_MAX; }))); EXPECT_EQ(0, chown(FULLPATH, -1, gid)) << strerror(errno); @@ -433,7 +433,7 @@ TEST_F(Chgrp, eperm) expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, uid, gid); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) ).Times(0); @@ -460,15 +460,15 @@ TEST_F(Chgrp, ok) /* The OS may optimize chgrp by omitting the redundant setattr */ EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino); }, Eq(true)), _) - ).WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto out){ + ).WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out){ SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.mode = S_IFREG | mode; - out->body.attr.attr.uid = uid; - out->body.attr.attr.gid = newgid; + out.body.attr.attr.mode = S_IFREG | mode; + out.body.attr.attr.uid = uid; + out.body.attr.attr.gid = newgid; }))); EXPECT_EQ(0, chown(FULLPATH, -1, newgid)) << strerror(errno); @@ -564,15 +564,15 @@ TEST_F(Utimensat, utime_now) expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, owner); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - in->body.setattr.valid & FATTR_ATIME && - in->body.setattr.valid & FATTR_MTIME); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + in.body.setattr.valid & FATTR_ATIME && + in.body.setattr.valid & FATTR_MTIME); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.mode = S_IFREG | mode; + out.body.attr.attr.mode = S_IFREG | mode; }))); ASSERT_EQ(0, utimensat(AT_FDCWD, FULLPATH, ×[0], 0)) @@ -647,9 +647,9 @@ TEST_F(Getextattr, ok) /* Getting user attributes only requires read access */ expect_lookup(RELPATH, ino, S_IFREG | 0444, UINT64_MAX, 0); expect_getxattr( - ReturnImmediate([&](auto in __unused, auto out) { - memcpy((void*)out->body.bytes, value, value_len); - out->header.len = sizeof(out->header) + value_len; + ReturnImmediate([&](auto in __unused, auto& out) { + memcpy((void*)out.body.bytes, value, value_len); + out.header.len = sizeof(out.header) + value_len; }) ); @@ -892,13 +892,13 @@ TEST_F(Rename, eperm_on_sticky_dstdir) expect_lookup(RELSRC, src_ino, S_IFREG | 0644, UINT64_MAX); expect_lookup(RELDSTDIR, dstdir_ino, S_IFDIR | 01777, UINT64_MAX); EXPECT_LOOKUP(dstdir_ino, RELDST) - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = dst_ino; - out->body.entry.attr_valid = UINT64_MAX; - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr.uid = 0; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = dst_ino; + out.body.entry.attr_valid = UINT64_MAX; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.uid = 0; }))); ASSERT_EQ(-1, rename(FULLSRC, FULLDST)); @@ -952,14 +952,14 @@ TEST_F(Setattr, ok) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, geteuid()); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - in->body.setattr.mode == newmode); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + in.body.setattr.mode == newmode); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.mode = S_IFREG | newmode; + out.body.attr.attr.mode = S_IFREG | newmode; }))); EXPECT_EQ(0, chmod(FULLPATH, newmode)) << strerror(errno); @@ -977,7 +977,7 @@ TEST_F(Setattr, eacces) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, 0); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) ).Times(0); @@ -1004,16 +1004,16 @@ TEST_F(Setattr, ftruncate_of_newly_created_file) expect_create(RELPATH, ino); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR && - in->header.nodeid == ino && - (in->body.setattr.valid & FATTR_SIZE)); + return (in.header.opcode == FUSE_SETATTR && + in.header.nodeid == ino && + (in.body.setattr.valid & FATTR_SIZE)); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; - out->body.attr.attr.mode = S_IFREG | mode; - out->body.attr.attr_valid = UINT64_MAX; + out.body.attr.attr.ino = ino; + out.body.attr.attr.mode = S_IFREG | mode; + out.body.attr.attr_valid = UINT64_MAX; }))); fd = open(FULLPATH, O_CREAT | O_RDWR, 0); @@ -1040,7 +1040,7 @@ TEST_F(Setattr, sgid_by_non_group_member) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid, gid); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) ).Times(0); @@ -1062,7 +1062,7 @@ TEST_F(Setattr, sticky_regular_file) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, geteuid()); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) ).Times(0); @@ -1173,11 +1173,11 @@ TEST_F(Unlink, cached_unwritable_directory) EXPECT_LOOKUP(1, RELPATH) .Times(AnyNumber()) .WillRepeatedly(Invoke( - ReturnImmediate([=](auto i __unused, auto out) { + ReturnImmediate([=](auto i __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = ino; - out->body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = ino; + out.body.entry.entry_valid = UINT64_MAX; })) ); Modified: projects/fuse2/tests/sys/fs/fusefs/default_permissions_privileged.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/default_permissions_privileged.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/default_permissions_privileged.cc Mon May 27 17:08:16 2019 (r348307) @@ -60,7 +60,7 @@ virtual void SetUp() { /* With -o default_permissions, FUSE_ACCESS should never be called */ EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_ACCESS); + return (in.header.opcode == FUSE_ACCESS); }, Eq(true)), _) ).Times(0); @@ -72,19 +72,19 @@ void expect_getattr(uint64_t ino, mode_t mode, uint64_ { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == ino); + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == ino); }, Eq(true)), _) ).Times(times) - .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto out) { + .WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = mode; - out->body.attr.attr.size = 0; - out->body.attr.attr.uid = uid; - out->body.attr.attr.uid = gid; - out->body.attr.attr_valid = attr_valid; + out.body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.mode = mode; + out.body.attr.attr.size = 0; + out.body.attr.attr.uid = uid; + out.body.attr.attr.uid = gid; + out.body.attr.attr_valid = attr_valid; }))); } @@ -110,12 +110,12 @@ TEST_F(Setattr, sticky_regular_file) expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, geteuid()); EXPECT_CALL(*m_mock, process( ResultOf([](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto out) { + ).WillOnce(Invoke(ReturnImmediate([](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.mode = S_IFREG | newmode; + out.body.attr.attr.mode = S_IFREG | newmode; }))); EXPECT_EQ(0, chmod(FULLPATH, newmode)) << strerror(errno); Modified: projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc Mon May 27 17:08:16 2019 (r348307) @@ -127,73 +127,73 @@ TEST_F(Kqueue, data) ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno); EXPECT_LOOKUP(1, "foo") - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = foo_ino; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = foo_ino; }))); EXPECT_LOOKUP(1, "bar") - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = bar_ino; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = bar_ino; }))); EXPECT_LOOKUP(1, "baz") - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr.mode = S_IFREG | 0644; - out->body.entry.nodeid = baz_ino; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = S_IFREG | 0644; + out.body.entry.nodeid = baz_ino; }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == foo_ino); + return (in.header.opcode == FUSE_GETATTR && + in.header.nodeid == foo_ino); }, Eq(true)), _) ) - .WillOnce(Invoke(ReturnImmediate([&](auto in, auto out) { + .WillOnce(Invoke(ReturnImmediate([&](auto in, auto& out) { nready0 = m_mock->m_nready; sem_post(&sem0); // Block the daemon so we can accumulate a few more ops sem_wait(&sem1); - out->header.unique = in->header.unique; - out->header.error = -EIO; - out->header.len = sizeof(out->header); + out.header.unique = in.header.unique; + out.header.error = -EIO; + out.header.len = sizeof(out.header); }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - (in->header.nodeid == bar_ino || - in->header.nodeid == baz_ino)); + return (in.header.opcode == FUSE_GETATTR && + (in.header.nodeid == bar_ino || + in.header.nodeid == baz_ino)); }, Eq(true)), _) ).InSequence(seq) - .WillOnce(Invoke(ReturnImmediate([&](auto in, auto out) { + .WillOnce(Invoke(ReturnImmediate([&](auto in, auto& out) { nready1 = m_mock->m_nready; - out->header.unique = in->header.unique; - out->header.error = -EIO; - out->header.len = sizeof(out->header); + out.header.unique = in.header.unique; + out.header.error = -EIO; + out.header.len = sizeof(out.header); }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - (in->header.nodeid == bar_ino || - in->header.nodeid == baz_ino)); + return (in.header.opcode == FUSE_GETATTR && + (in.header.nodeid == bar_ino || + in.header.nodeid == baz_ino)); }, Eq(true)), _) ).InSequence(seq) - .WillOnce(Invoke(ReturnImmediate([&](auto in, auto out) { + .WillOnce(Invoke(ReturnImmediate([&](auto in, auto& out) { nready2 = m_mock->m_nready; - out->header.unique = in->header.unique; - out->header.error = -EIO; - out->header.len = sizeof(out->header); + out.header.unique = in.header.unique; + out.header.error = -EIO; + out.header.len = sizeof(out.header); }))); /* Modified: projects/fuse2/tests/sys/fs/fusefs/fifo.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/fifo.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/fifo.cc Mon May 27 17:08:16 2019 (r348307) @@ -159,27 +159,27 @@ TEST_F(Socket, read_write) EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_MKNOD); + return (in.header.opcode == FUSE_MKNOD); }, Eq(true)), _) ).InSequence(seq) - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = mode; - out->body.entry.nodeid = ino; - out->body.entry.entry_valid = UINT64_MAX; - out->body.entry.attr_valid = UINT64_MAX; + out.body.entry.attr.mode = mode; + out.body.entry.nodeid = ino; + out.body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr_valid = UINT64_MAX; }))); EXPECT_LOOKUP(1, RELPATH) .InSequence(seq) - .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto out) { + .WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) { SET_OUT_HEADER_LEN(out, entry); - out->body.entry.attr.mode = mode; - out->body.entry.nodeid = ino; - out->body.entry.attr.nlink = 1; - out->body.entry.attr_valid = UINT64_MAX; - out->body.entry.entry_valid = UINT64_MAX; + out.body.entry.attr.mode = mode; + out.body.entry.nodeid = ino; + out.body.entry.attr.nlink = 1; + out.body.entry.attr_valid = UINT64_MAX; + out.body.entry.entry_valid = UINT64_MAX; }))); fd = socket(AF_UNIX, SOCK_STREAM, 0); Modified: projects/fuse2/tests/sys/fs/fusefs/flush.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/flush.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/flush.cc Mon May 27 17:08:16 2019 (r348307) @@ -46,10 +46,10 @@ expect_flush(uint64_t ino, int times, pid_t lo, Proces { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_FLUSH && - in->header.nodeid == ino && - in->body.flush.lock_owner == (uint64_t)lo && - in->body.flush.fh == FH); + return (in.header.opcode == FUSE_FLUSH && + in.header.nodeid == ino && + in.body.flush.lock_owner == (uint64_t)lo && + in.body.flush.fh == FH); }, Eq(true)), _) ).Times(times) @@ -69,7 +69,7 @@ void expect_release() { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_RELEASE); + return (in.header.opcode == FUSE_RELEASE); }, Eq(true)), _) ).WillRepeatedly(Invoke(ReturnErrno(0))); @@ -206,9 +206,9 @@ TEST_F(FlushWithLocks, unlock_on_close) expect_open(ino, 0, 1); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETLK && - in->header.nodeid == ino && - in->body.setlk.fh == FH); + return (in.header.opcode == FUSE_SETLK && + in.header.nodeid == ino && + in.body.setlk.fh == FH); }, Eq(true)), _) ).WillOnce(Invoke(ReturnErrno(0))); Modified: projects/fuse2/tests/sys/fs/fusefs/fsync.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/fsync.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/fsync.cc Mon May 27 17:08:16 2019 (r348307) @@ -54,15 +54,15 @@ void expect_fsync(uint64_t ino, uint32_t flags, int er { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_FSYNC && - in->header.nodeid == ino && + return (in.header.opcode == FUSE_FSYNC && + in.header.nodeid == ino && /* * TODO: reenable pid check after fixing * bug 236379 */ - //(pid_t)in->header.pid == getpid() && - in->body.fsync.fh == FH && - in->body.fsync.fsync_flags == flags); + //(pid_t)in.header.pid == getpid() && + in.body.fsync.fh == FH && + in.body.fsync.fsync_flags == flags); }, Eq(true)), _) ).WillOnce(Invoke(ReturnErrno(error))); @@ -129,16 +129,16 @@ TEST_F(Fsync, close) expect_write(ino, bufsize, CONTENTS); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_SETATTR); + return (in.header.opcode == FUSE_SETATTR); }, Eq(true)), _) - ).WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto out) { + ).WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) { SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid + out.body.attr.attr.ino = ino; // Must match nodeid }))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_FSYNC); + return (in.header.opcode == FUSE_FSYNC); }, Eq(true)), _) ).Times(0); Modified: projects/fuse2/tests/sys/fs/fusefs/fsyncdir.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fusefs/fsyncdir.cc Mon May 27 15:21:26 2019 (r348306) +++ projects/fuse2/tests/sys/fs/fusefs/fsyncdir.cc Mon May 27 17:08:16 2019 (r348307) @@ -54,15 +54,15 @@ void expect_fsyncdir(uint64_t ino, uint32_t flags, int { EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { - return (in->header.opcode == FUSE_FSYNCDIR && - in->header.nodeid == ino && + return (in.header.opcode == FUSE_FSYNCDIR && + in.header.nodeid == ino && /* * TODO: reenable pid check after fixing * bug 236379 */ - //(pid_t)in->header.pid == getpid() && *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***