Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 May 2019 17:02:37 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r348469 - projects/fuse2/tests/sys/fs/fusefs
Message-ID:  <201905311702.x4VH2b4i045080@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Fri May 31 17:02:37 2019
New Revision: 348469
URL: https://svnweb.freebsd.org/changeset/base/348469

Log:
  fusefs: prefer FUSE_ROOT_ID to literal 1 in the tests
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/fuse2/tests/sys/fs/fusefs/access.cc
  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/destroy.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/getattr.cc
  projects/fuse2/tests/sys/fs/fusefs/interrupt.cc
  projects/fuse2/tests/sys/fs/fusefs/link.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/nfs.cc
  projects/fuse2/tests/sys/fs/fusefs/open.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/symlink.cc
  projects/fuse2/tests/sys/fs/fusefs/unlink.cc
  projects/fuse2/tests/sys/fs/fusefs/utils.cc

Modified: projects/fuse2/tests/sys/fs/fusefs/access.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/access.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/access.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -62,7 +62,7 @@ TEST_F(Access, eaccess)
 	uint64_t ino = 42;
 	mode_t	access_mode = X_OK;
 
-	expect_access(1, X_OK, 0);
+	expect_access(FUSE_ROOT_ID, X_OK, 0);
 	expect_lookup(RELPATH, ino);
 	expect_access(ino, access_mode, EACCES);
 
@@ -82,7 +82,7 @@ TEST_F(Access, enosys)
 	uint64_t ino = 42;
 	mode_t	access_mode = R_OK;
 
-	expect_access(1, X_OK, ENOSYS);
+	expect_access(FUSE_ROOT_ID, X_OK, ENOSYS);
 	FuseTest::expect_lookup(RELPATH, ino, S_IFREG | 0644, 0, 2);
 
 	ASSERT_EQ(0, access(FULLPATH, access_mode)) << strerror(errno);
@@ -96,7 +96,7 @@ TEST_F(RofsAccess, erofs)
 	uint64_t ino = 42;
 	mode_t	access_mode = W_OK;
 
-	expect_access(1, X_OK, 0);
+	expect_access(FUSE_ROOT_ID, X_OK, 0);
 	expect_lookup(RELPATH, ino);
 
 	ASSERT_NE(0, access(FULLPATH, access_mode));
@@ -111,7 +111,7 @@ TEST_F(Access, ok)
 	uint64_t ino = 42;
 	mode_t	access_mode = R_OK;
 
-	expect_access(1, X_OK, 0);
+	expect_access(FUSE_ROOT_ID, X_OK, 0);
 	expect_lookup(RELPATH, ino);
 	expect_access(ino, access_mode, 0);
 

Modified: projects/fuse2/tests/sys/fs/fusefs/allow_other.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/allow_other.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/allow_other.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -267,7 +267,7 @@ TEST_F(NoAllowOther, setextattr)
 	int ino = 42, status;
 
 	fork(true, &status, [&] {
-			EXPECT_LOOKUP(1, RELPATH)
+			EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 			.WillOnce(Invoke(
 			ReturnImmediate([=](auto in __unused, auto& out) {
 				SET_OUT_HEADER_LEN(out, entry);

Modified: projects/fuse2/tests/sys/fs/fusefs/create.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/create.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/create.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -121,7 +121,8 @@ TEST_F(Create, attr_cache)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create);
@@ -154,17 +155,18 @@ TEST_F(Create, clear_attr_cache)
 	int fd;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in.header.opcode == FUSE_GETATTR &&
-				in.header.nodeid == 1);
+				in.header.nodeid == FUSE_ROOT_ID);
 		}, Eq(true)),
 		_)
 	).Times(2)
 	.WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, attr);
-		out.body.attr.attr.ino = 1;
+		out.body.attr.attr.ino = FUSE_ROOT_ID;
 		out.body.attr.attr.mode = S_IFDIR | 0755;
 		out.body.attr.attr_valid = UINT64_MAX;
 	})));
@@ -197,7 +199,8 @@ TEST_F(Create, eexist)
 	const char RELPATH[] = "some_file.txt";
 	mode_t mode = S_IFREG | 0755;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode, ReturnErrno(EEXIST));
 	EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode));
 	EXPECT_EQ(EEXIST, errno);
@@ -215,7 +218,8 @@ TEST_F(Create, Enosys)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode, ReturnErrno(ENOSYS));
 
 	EXPECT_CALL(*m_mock, process(
@@ -270,7 +274,8 @@ TEST_F(Create, entry_cache_negative)
 	struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 0};
 
 	/* create will first do a LOOKUP, adding a negative cache entry */
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(ReturnNegativeCache(&entry_valid));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(ReturnNegativeCache(&entry_valid));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create);
@@ -298,8 +303,8 @@ TEST_F(Create, entry_cache_negative_purge)
 	struct timespec entry_valid = {.tv_sec = TIME_T_MAX, .tv_nsec = 0};
 
 	/* create will first do a LOOKUP, adding a negative cache entry */
-	EXPECT_LOOKUP(1, RELPATH).Times(1)
-	.WillOnce(Invoke(ReturnNegativeCache(&entry_valid)))
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH).Times(1)
+		.WillOnce(Invoke(ReturnNegativeCache(&entry_valid)))
 	.RetiresOnSaturation();
 
 	/* Then the CREATE should purge the negative cache entry */
@@ -331,7 +336,8 @@ TEST_F(Create, eperm)
 	const char RELPATH[] = "some_file.txt";
 	mode_t mode = S_IFREG | 0755;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode, ReturnErrno(EPERM));
 
 	EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode));
@@ -346,7 +352,8 @@ TEST_F(Create, ok)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create);
@@ -377,7 +384,8 @@ TEST_F(Create, wronly_0444)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create);
@@ -400,7 +408,8 @@ TEST_F(Create_7_8, ok)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create_7_8);
@@ -423,7 +432,8 @@ TEST_F(Create_7_11, ok)
 	uint64_t ino = 42;
 	int fd;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, mode,
 		ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, create);

Modified: projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/default_permissions.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -252,7 +252,7 @@ TEST_F(Access, eacces)
 	uint64_t ino = 42;
 	mode_t	access_mode = X_OK;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX);
 
 	ASSERT_NE(0, access(FULLPATH, access_mode));
@@ -266,7 +266,7 @@ TEST_F(Access, eacces_no_cached_attrs)
 	uint64_t ino = 42;
 	mode_t	access_mode = X_OK;
 
-	expect_getattr(1, S_IFDIR | 0755, 0, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, 0, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, 0);
 	expect_getattr(ino, S_IFREG | 0644, 0, 1);
 	/* 
@@ -286,7 +286,7 @@ TEST_F(Access, ok)
 	uint64_t ino = 42;
 	mode_t	access_mode = R_OK;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX);
 	/* 
 	 * Once default_permissions is properly implemented, there might be
@@ -307,7 +307,7 @@ TEST_F(Chown, chown_to_self)
 
 	uid = geteuid();
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, uid);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, uid);
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, uid);
 	/* The OS may optimize chown by omitting the redundant setattr */
 	EXPECT_CALL(*m_mock, process(
@@ -338,7 +338,7 @@ TEST_F(Chown, clear_suid)
 	uid_t uid = geteuid();
 	uint32_t valid = FATTR_UID | FATTR_MODE;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, uid);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, uid);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
@@ -367,7 +367,7 @@ TEST_F(Chown, eperm)
 	const uint64_t ino = 42;
 	const mode_t mode = 0755;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, geteuid());
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, geteuid());
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, geteuid());
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -395,7 +395,7 @@ TEST_F(Chgrp, clear_suid)
 	gid_t gid = getegid();
 	uint32_t valid = FATTR_GID | FATTR_MODE;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, uid);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, uid);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid, gid);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
@@ -429,7 +429,7 @@ TEST_F(Chgrp, eperm)
 	gid = getegid();
 	newgid = excluded_group();
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, uid, gid);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, uid, gid);
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, uid, gid);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -455,7 +455,7 @@ TEST_F(Chgrp, ok)
 	gid = 0;
 	newgid = getegid();
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, uid, gid);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, uid, gid);
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, uid, gid);
 	/* The OS may optimize chgrp by omitting the redundant setattr */
 	EXPECT_CALL(*m_mock, process(
@@ -481,8 +481,9 @@ TEST_F(Create, ok)
 	uint64_t ino = 42;
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, ino);
 
 	fd = open(FULLPATH, O_CREAT | O_EXCL, 0644);
@@ -495,8 +496,9 @@ TEST_F(Create, eacces)
 	const char FULLPATH[] = "mountpoint/some_file.txt";
 	const char RELPATH[] = "some_file.txt";
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 
 	EXPECT_EQ(-1, open(FULLPATH, O_CREAT | O_EXCL, 0644));
 	EXPECT_EQ(EACCES, errno);
@@ -509,7 +511,7 @@ TEST_F(Deleteextattr, eacces)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, 0);
 
 	ASSERT_EQ(-1, extattr_delete_file(FULLPATH, ns, "foo"));
@@ -523,7 +525,7 @@ TEST_F(Deleteextattr, ok)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
 	expect_removexattr();
 
@@ -539,7 +541,7 @@ TEST_F(Deleteextattr, system)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_SYSTEM;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0666, UINT64_MAX, geteuid());
 
 	ASSERT_EQ(-1, extattr_delete_file(FULLPATH, ns, "foo"));
@@ -560,7 +562,7 @@ TEST_F(Utimensat, utime_now)
 		{.tv_sec = 0, .tv_nsec = UTIME_NOW},
 	};
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, owner);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -593,7 +595,7 @@ TEST_F(Utimensat, utime_omit)
 		{.tv_sec = 0, .tv_nsec = UTIME_OMIT},
 	};
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | mode, UINT64_MAX, owner);
 
 	ASSERT_EQ(0, utimensat(AT_FDCWD, FULLPATH, &times[0], 0))
@@ -608,7 +610,7 @@ TEST_F(Deleteextattr, user)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0666, UINT64_MAX, 0);
 	expect_removexattr();
 
@@ -624,7 +626,7 @@ TEST_F(Getextattr, eacces)
 	char data[80];
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0600, UINT64_MAX, 0);
 
 	ASSERT_EQ(-1,
@@ -643,7 +645,7 @@ TEST_F(Getextattr, ok)
 	int ns = EXTATTR_NAMESPACE_USER;
 	ssize_t r;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	/* Getting user attributes only requires read access */
 	expect_lookup(RELPATH, ino, S_IFREG | 0444, UINT64_MAX, 0);
 	expect_getxattr(
@@ -667,7 +669,7 @@ TEST_F(Getextattr, system)
 	char data[80];
 	int ns = EXTATTR_NAMESPACE_SYSTEM;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0666, UINT64_MAX, geteuid());
 
 	ASSERT_EQ(-1,
@@ -682,7 +684,7 @@ TEST_F(Listextattr, eacces)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0600, UINT64_MAX, 0);
 
 	ASSERT_EQ(-1, extattr_list_file(FULLPATH, ns, NULL, 0));
@@ -696,7 +698,7 @@ TEST_F(Listextattr, ok)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
 	/* Listing user extended attributes merely requires read access */
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, 0);
 	expect_listxattr();
@@ -713,7 +715,7 @@ TEST_F(Listextattr, system)
 	uint64_t ino = 42;
 	int ns = EXTATTR_NAMESPACE_SYSTEM;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
 	/* Listing user extended attributes merely requires read access */
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
 
@@ -728,7 +730,7 @@ TEST_F(Lookup, eacces)
 	const char RELDIRPATH[] = "some_dir";
 	uint64_t dir_ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELDIRPATH, dir_ino, S_IFDIR | 0700, UINT64_MAX, 0);
 
 	EXPECT_EQ(-1, access(FULLPATH, F_OK));
@@ -741,7 +743,7 @@ TEST_F(Open, eacces)
 	const char RELPATH[] = "some_file.txt";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX);
 
 	EXPECT_NE(0, open(FULLPATH, O_RDWR));
@@ -755,7 +757,7 @@ TEST_F(Open, ok)
 	uint64_t ino = 42;
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX);
 	expect_open(ino, 0, 1);
 
@@ -772,9 +774,9 @@ TEST_F(Rename, eacces_on_srcdir)
 	const char RELSRC[] = "src";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, ino, S_IFREG | 0644, UINT64_MAX);
-	EXPECT_LOOKUP(1, RELDST)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
 		.Times(AnyNumber())
 		.WillRepeatedly(Invoke(ReturnErrno(ENOENT)));
 
@@ -792,7 +794,7 @@ TEST_F(Rename, eacces_on_dstdir_for_creating)
 	uint64_t src_ino = 42;
 	uint64_t dstdir_ino = 43;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, src_ino, S_IFREG | 0644, UINT64_MAX);
 	expect_lookup(RELDSTDIR, dstdir_ino, S_IFDIR | 0755, UINT64_MAX);
 	EXPECT_LOOKUP(dstdir_ino, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT)));
@@ -811,7 +813,7 @@ TEST_F(Rename, eacces_on_dstdir_for_removing)
 	uint64_t src_ino = 42;
 	uint64_t dstdir_ino = 43;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, src_ino, S_IFREG | 0644, UINT64_MAX);
 	expect_lookup(RELDSTDIR, dstdir_ino, S_IFDIR | 0755, UINT64_MAX);
 	EXPECT_LOOKUP(dstdir_ino, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT)));
@@ -827,7 +829,7 @@ TEST_F(Rename, eperm_on_sticky_srcdir)
 	const char RELSRC[] = "src";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 01777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 01777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, ino, S_IFREG | 0644, UINT64_MAX);
 
 	ASSERT_EQ(-1, rename(FULLSRC, FULLDST));
@@ -848,7 +850,7 @@ TEST_F(Rename, eperm_for_subdirectory)
 	uint64_t ino = 42;
 	uint64_t dstdir_ino = 43;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, ino, S_IFDIR | 0755, UINT64_MAX, 0);
 	expect_lookup(RELDSTDIR, dstdir_ino, S_IFDIR | 0777, UINT64_MAX, 0);
 	EXPECT_LOOKUP(dstdir_ino, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT)));
@@ -869,9 +871,10 @@ TEST_F(Rename, subdirectory_to_same_dir)
 	const char RELSRC[] = "src";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, ino, S_IFDIR | 0755, UINT64_MAX, 0);
-	EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_rename(0);
 
 	ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno);
@@ -888,7 +891,7 @@ TEST_F(Rename, eperm_on_sticky_dstdir)
 	uint64_t dstdir_ino = 43;
 	uint64_t dst_ino = 44;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, 0);
 	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)
@@ -916,7 +919,7 @@ TEST_F(Rename, ok)
 	uint64_t dst_ino = 2;
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1, geteuid());
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1, geteuid());
 	expect_lookup(RELSRC, ino, S_IFREG | 0644, UINT64_MAX);
 	expect_lookup(RELDST, dst_ino, S_IFREG | 0644, UINT64_MAX);
 	expect_rename(0);
@@ -932,9 +935,10 @@ TEST_F(Rename, ok_to_remove_src_because_of_stickiness)
 	const char RELSRC[] = "src";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 01777, UINT64_MAX, 1, 0);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 01777, UINT64_MAX, 1, 0);
 	expect_lookup(RELSRC, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
-	EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_rename(0);
 
 	ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno);
@@ -948,7 +952,7 @@ TEST_F(Setattr, ok)
 	const mode_t oldmode = 0755;
 	const mode_t newmode = 0644;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, geteuid());
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -973,7 +977,7 @@ TEST_F(Setattr, eacces)
 	const mode_t oldmode = 0755;
 	const mode_t newmode = 0644;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, 0);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -999,8 +1003,9 @@ TEST_F(Setattr, ftruncate_of_newly_created_file)
 	const mode_t mode = 0000;
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_create(RELPATH, ino);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -1036,7 +1041,7 @@ TEST_F(Setattr, sgid_by_non_group_member)
 	uid_t uid = geteuid();
 	gid_t gid = excluded_group();
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, uid, gid);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -1058,7 +1063,7 @@ TEST_F(Setattr, sticky_regular_file)
 	const mode_t oldmode = 0644;
 	const mode_t newmode = 01644;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX, geteuid());
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([](auto in) {
@@ -1081,7 +1086,7 @@ TEST_F(Setextattr, ok)
 	int ns = EXTATTR_NAMESPACE_USER;
 	ssize_t r;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
 	expect_setxattr(0);
 
@@ -1098,7 +1103,7 @@ TEST_F(Setextattr, eacces)
 	ssize_t value_len = strlen(value) + 1;
 	int ns = EXTATTR_NAMESPACE_USER;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, 0);
 
 	ASSERT_EQ(-1,
@@ -1116,7 +1121,7 @@ TEST_F(Setextattr, system)
 	ssize_t value_len = strlen(value) + 1;
 	int ns = EXTATTR_NAMESPACE_SYSTEM;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0666, UINT64_MAX, geteuid());
 
 	ASSERT_EQ(-1,
@@ -1135,7 +1140,7 @@ TEST_F(Setextattr, user)
 	int ns = EXTATTR_NAMESPACE_USER;
 	ssize_t r;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0666, UINT64_MAX, 0);
 	expect_setxattr(0);
 
@@ -1149,9 +1154,9 @@ TEST_F(Unlink, ok)
 	const char RELPATH[] = "some_file.txt";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0777, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0777, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
-	expect_unlink(1, RELPATH, 0);
+	expect_unlink(FUSE_ROOT_ID, RELPATH, 0);
 
 	ASSERT_EQ(0, unlink(FULLPATH)) << strerror(errno);
 }
@@ -1169,8 +1174,8 @@ TEST_F(Unlink, cached_unwritable_directory)
 	const char RELPATH[] = "some_file.txt";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
-	EXPECT_LOOKUP(1, RELPATH)
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.Times(AnyNumber())
 	.WillRepeatedly(Invoke(
 		ReturnImmediate([=](auto i __unused, auto& out) {
@@ -1194,7 +1199,7 @@ TEST_F(Unlink, unwritable_directory)
 	const char RELPATH[] = "some_file.txt";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, geteuid());
 
 	ASSERT_EQ(-1, unlink(FULLPATH));
@@ -1207,7 +1212,7 @@ TEST_F(Unlink, sticky_directory)
 	const char RELPATH[] = "some_file.txt";
 	uint64_t ino = 42;
 
-	expect_getattr(1, S_IFDIR | 01777, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 01777, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, UINT64_MAX, 0);
 
 	ASSERT_EQ(-1, unlink(FULLPATH));
@@ -1226,7 +1231,7 @@ TEST_F(Write, clear_suid)
 	char wbuf[1] = {'x'};
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX);
 	expect_open(ino, 0, 1);
 	expect_write(ino, 0, sizeof(wbuf), sizeof(wbuf), 0, 0, wbuf);
@@ -1252,7 +1257,7 @@ TEST_F(Write, clear_sgid)
 	char wbuf[1] = {'x'};
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX);
 	expect_open(ino, 0, 1);
 	expect_write(ino, 0, sizeof(wbuf), sizeof(wbuf), 0, 0, wbuf);
@@ -1282,7 +1287,7 @@ TEST_F(Write, recursion_panic_while_clearing_suid)
 	char wbuf[1] = {'x'};
 	int fd;
 
-	expect_getattr(1, S_IFDIR | 0755, UINT64_MAX, 1);
+	expect_getattr(FUSE_ROOT_ID, S_IFDIR | 0755, UINT64_MAX, 1);
 	expect_lookup(RELPATH, ino, S_IFREG | oldmode, UINT64_MAX);
 	expect_open(ino, 0, 1);
 	expect_write(ino, 0, sizeof(wbuf), sizeof(wbuf), 0, 0, wbuf);

Modified: projects/fuse2/tests/sys/fs/fusefs/destroy.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/destroy.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/destroy.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -48,7 +48,7 @@ TEST_F(Destroy, ok)
 	uint64_t ino = 42;
 
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, 0, 2);
-	expect_forget(1, 1);
+	expect_forget(FUSE_ROOT_ID, 1);
 	expect_forget(ino, 2);
 	expect_destroy(0);
 

Modified: projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -81,7 +81,7 @@ class Kqueue: public FuseTest {
 
 TEST_P(DevFusePoll, access)
 {
-	expect_access(1, X_OK, 0);
+	expect_access(FUSE_ROOT_ID, X_OK, 0);
 	expect_lookup(RELPATH, ino, S_IFREG | 0644, 0, 1);
 	expect_access(ino, access_mode, 0);
 
@@ -91,7 +91,7 @@ TEST_P(DevFusePoll, access)
 /* Ensure that we wake up pollers during unmount */
 TEST_P(DevFusePoll, destroy)
 {
-	expect_forget(1, 1);
+	expect_forget(FUSE_ROOT_ID, 1);
 	expect_destroy(0);
 
 	m_mock->unmount();
@@ -126,21 +126,21 @@ TEST_F(Kqueue, data)
 	ASSERT_EQ(0, sem_init(&sem0, 0, 0)) << strerror(errno);
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
 
-	EXPECT_LOOKUP(1, "foo")
+	EXPECT_LOOKUP(FUSE_ROOT_ID, "foo")
 	.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;
 	})));
-	EXPECT_LOOKUP(1, "bar")
+	EXPECT_LOOKUP(FUSE_ROOT_ID, "bar")
 	.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;
 	})));
-	EXPECT_LOOKUP(1, "baz")
+	EXPECT_LOOKUP(FUSE_ROOT_ID, "baz")
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.entry_valid = UINT64_MAX;

Modified: projects/fuse2/tests/sys/fs/fusefs/fifo.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/fifo.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/fifo.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -156,7 +156,8 @@ TEST_F(Socket, read_write)
 	int fd, connected;
 	Sequence seq;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+		.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in.header.opcode == FUSE_MKNOD);
@@ -171,7 +172,7 @@ TEST_F(Socket, read_write)
 		out.body.entry.attr_valid = UINT64_MAX;
 	})));
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.InSequence(seq)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);

Modified: projects/fuse2/tests/sys/fs/fusefs/getattr.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/getattr.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/getattr.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -42,7 +42,7 @@ class Getattr : public FuseTest { (public)
 void expect_lookup(const char *relpath, uint64_t ino, mode_t mode,
 	uint64_t size, int times, uint64_t attr_valid, uint32_t attr_valid_nsec)
 {
-	EXPECT_LOOKUP(1, relpath)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, relpath)
 	.Times(times)
 	.WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
@@ -76,7 +76,7 @@ TEST_F(Getattr, attr_cache)
 	const uint64_t ino = 42;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.attr.mode = S_IFREG | 0644;
@@ -247,7 +247,7 @@ TEST_F(Getattr_7_8, ok)
 	const uint64_t ino = 42;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry_7_8);
 		out.body.entry.attr.mode = S_IFREG | 0644;

Modified: projects/fuse2/tests/sys/fs/fusefs/interrupt.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/interrupt.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/interrupt.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -222,7 +222,7 @@ TEST_F(Interrupt, already_complete)
 
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
 	.InSequence(seq)
 	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
@@ -248,7 +248,7 @@ TEST_F(Interrupt, already_complete)
 		out1->header.len = sizeof(out1->header);
 		out.push_back(std::move(out1));
 	}));
-	EXPECT_LOOKUP(1, RELDIRPATH0)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
 	.InSequence(seq)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
@@ -284,8 +284,10 @@ TEST_F(Interrupt, enosys)
 	ASSERT_EQ(0, sem_init(&sem0, 0, 0)) << strerror(errno);
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
 
-	EXPECT_LOOKUP(1, RELDIRPATH1).WillOnce(Invoke(ReturnErrno(ENOENT)));
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH1)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([&](auto in) {
@@ -363,7 +365,8 @@ TEST_F(Interrupt, fatal_signal)
 	ASSERT_EQ(0, sem_init(&sem, 0, 0)) << strerror(errno);
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([&](auto in) {
@@ -420,7 +423,8 @@ TEST_F(Interrupt, ignore)
 
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([&](auto in) {
@@ -461,7 +465,8 @@ TEST_F(Interrupt, in_kernel_restartable)
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_lookup(RELPATH1, ino1);
 	expect_open(ino1, 0, 1);
 	EXPECT_CALL(*m_mock, process(
@@ -534,7 +539,8 @@ TEST_F(Interrupt, in_kernel_nonrestartable)
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_lookup(RELPATH1, ino1);
 	expect_open(ino1, 0, 1);
 	EXPECT_CALL(*m_mock, process(
@@ -593,7 +599,8 @@ TEST_F(Interrupt, in_progress)
 
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([&](auto in) {
@@ -666,8 +673,10 @@ TEST_F(Interrupt, priority)
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
-	EXPECT_LOOKUP(1, RELDIRPATH1).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH1)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in.header.opcode == FUSE_MKDIR);
@@ -746,7 +755,8 @@ TEST_F(Interrupt, too_soon)
 
 	self = pthread_self();
 
-	EXPECT_LOOKUP(1, RELDIRPATH0).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH0)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_mkdir(&mkdir_unique);
 
 	EXPECT_CALL(*m_mock, process(

Modified: projects/fuse2/tests/sys/fs/fusefs/link.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/link.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/link.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -114,22 +114,24 @@ TEST_F(Link, clear_attr_cache)
 	mode_t mode = S_IFREG | 0644;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in.header.opcode == FUSE_GETATTR &&
-				in.header.nodeid == 1);
+				in.header.nodeid == FUSE_ROOT_ID);
 		}, Eq(true)),
 		_)
 	).Times(2)
 	.WillRepeatedly(Invoke(ReturnImmediate([=](auto i __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, attr);
-		out.body.attr.attr.ino = 1;
+		out.body.attr.attr.ino = FUSE_ROOT_ID;
 		out.body.attr.attr.mode = S_IFDIR | 0755;
 		out.body.attr.attr_valid = UINT64_MAX;
 	})));
 
-	EXPECT_LOOKUP(1, RELDST)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
+	
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.attr.mode = mode;
@@ -153,7 +155,8 @@ TEST_F(Link, emlink)
 	const char RELDST[] = "dst";
 	uint64_t dst_ino = 42;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	expect_lookup(RELDST, dst_ino);
 
 	EXPECT_CALL(*m_mock, process(
@@ -181,8 +184,9 @@ TEST_F(Link, ok)
 	mode_t mode = S_IFREG | 0644;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
-	EXPECT_LOOKUP(1, RELDST)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.attr.mode = mode;
@@ -209,8 +213,9 @@ TEST_F(Link_7_8, ok)
 	mode_t mode = S_IFREG | 0644;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
-	EXPECT_LOOKUP(1, RELDST)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDST)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry_7_8);
 		out.body.entry.attr.mode = mode;

Modified: projects/fuse2/tests/sys/fs/fusefs/lookup.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/lookup.cc	Fri May 31 16:25:16 2019	(r348468)
+++ projects/fuse2/tests/sys/fs/fusefs/lookup.cc	Fri May 31 17:02:37 2019	(r348469)
@@ -58,7 +58,7 @@ TEST_F(Lookup, attr_cache)
 	const uint64_t generation = 13;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.nodeid = ino;
@@ -118,7 +118,7 @@ TEST_F(Lookup, attr_cache_timeout)
 	const uint64_t ino = 42;
 	struct stat sb;
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.Times(2)
 	.WillRepeatedly(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
@@ -142,7 +142,7 @@ TEST_F(Lookup, dot)
 	const char RELDIRPATH[] = "some_dir";
 	uint64_t ino = 42;
 
-	EXPECT_LOOKUP(1, RELDIRPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.attr.mode = S_IFDIR | 0755;
@@ -163,7 +163,7 @@ TEST_F(Lookup, dotdot)
 	const char FULLPATH[] = "mountpoint/some_dir/..";
 	const char RELDIRPATH[] = "some_dir";
 
-	EXPECT_LOOKUP(1, RELDIRPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELDIRPATH)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.attr.mode = S_IFDIR | 0755;
@@ -184,7 +184,8 @@ TEST_F(Lookup, enoent)
 	const char FULLPATH[] = "mountpoint/does_not_exist";
 	const char RELPATH[] = "does_not_exist";
 
-	EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT)));
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
+	.WillOnce(Invoke(ReturnErrno(ENOENT)));
 	EXPECT_NE(0, access(FULLPATH, F_OK));
 	EXPECT_EQ(ENOENT, errno);
 }
@@ -194,7 +195,7 @@ TEST_F(Lookup, enotdir)
 	const char FULLPATH[] = "mountpoint/not_a_dir/some_file.txt";
 	const char RELPATH[] = "not_a_dir";
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)
 	.WillOnce(Invoke(ReturnImmediate([=](auto in __unused, auto& out) {
 		SET_OUT_HEADER_LEN(out, entry);
 		out.body.entry.entry_valid = UINT64_MAX;
@@ -215,7 +216,7 @@ TEST_F(Lookup, entry_cache)
 	const char FULLPATH[] = "mountpoint/some_file.txt";
 	const char RELPATH[] = "some_file.txt";
 
-	EXPECT_LOOKUP(1, RELPATH)
+	EXPECT_LOOKUP(FUSE_ROOT_ID, RELPATH)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905311702.x4VH2b4i045080>