svn commit: r347630 - projects/fuse2/tests/sys/fs/fusefs

Alan Somers asomers at FreeBSD.org
Wed May 15 19:23:30 UTC 2019


Author: asomers
Date: Wed May 15 19:23:29 2019
New Revision: 347630
URL: https://svnweb.freebsd.org/changeset/base/347630

Log:
  fusefs: fix some intermittency in the Kqueue.data test
  
  Expect the FUSE_GETATTR operations for bar and baz to come in either order.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc

Modified: projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc	Wed May 15 18:56:42 2019	(r347629)
+++ projects/fuse2/tests/sys/fs/fusefs/dev_fuse_poll.cc	Wed May 15 19:23:29 2019	(r347630)
@@ -121,6 +121,7 @@ TEST_F(Kqueue, data)
 	uint64_t foo_ino = 42;
 	uint64_t bar_ino = 43;
 	uint64_t baz_ino = 44;
+	Sequence seq;
 
 	ASSERT_EQ(0, sem_init(&sem0, 0, 0)) << strerror(errno);
 	ASSERT_EQ(0, sem_init(&sem1, 0, 0)) << strerror(errno);
@@ -169,10 +170,11 @@ TEST_F(Kqueue, data)
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in->header.opcode == FUSE_GETATTR &&
-				in->header.nodeid == bar_ino);
+				(in->header.nodeid == bar_ino ||
+				 in->header.nodeid == baz_ino));
 		}, Eq(true)),
 		_)
-	)
+	).InSequence(seq)
 	.WillOnce(Invoke(ReturnImmediate([&](auto in, auto out) {
 		nready1 = m_mock->m_nready;
 		out->header.unique = in->header.unique;
@@ -182,10 +184,11 @@ TEST_F(Kqueue, data)
 	EXPECT_CALL(*m_mock, process(
 		ResultOf([=](auto in) {
 			return (in->header.opcode == FUSE_GETATTR &&
-				in->header.nodeid == baz_ino);
+				(in->header.nodeid == bar_ino ||
+				 in->header.nodeid == baz_ino));
 		}, Eq(true)),
 		_)
-	)
+	).InSequence(seq)
 	.WillOnce(Invoke(ReturnImmediate([&](auto in, auto out) {
 		nready2 = m_mock->m_nready;
 		out->header.unique = in->header.unique;


More information about the svn-src-projects mailing list