svn commit: r349394 - projects/fuse2/tests/sys/fs/fusefs
Alan Somers
asomers at FreeBSD.org
Tue Jun 25 21:21:36 UTC 2019
Author: asomers
Date: Tue Jun 25 21:21:34 2019
New Revision: 349394
URL: https://svnweb.freebsd.org/changeset/base/349394
Log:
fusefs: fix the tests for non-default values of MAXPHYS
Sponsored by: The FreeBSD Foundation
Modified:
projects/fuse2/tests/sys/fs/fusefs/bmap.cc
projects/fuse2/tests/sys/fs/fusefs/read.cc
projects/fuse2/tests/sys/fs/fusefs/utils.cc
projects/fuse2/tests/sys/fs/fusefs/utils.hh
projects/fuse2/tests/sys/fs/fusefs/write.cc
Modified: projects/fuse2/tests/sys/fs/fusefs/bmap.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/bmap.cc Tue Jun 25 20:25:16 2019 (r349393)
+++ projects/fuse2/tests/sys/fs/fusefs/bmap.cc Tue Jun 25 21:21:34 2019 (r349394)
@@ -99,8 +99,8 @@ TEST_F(Bmap, bmap)
arg.runb = -1;
ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno);
EXPECT_EQ(arg.bn, pbn);
- EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1);
- EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1);
}
/*
@@ -134,7 +134,7 @@ TEST_F(Bmap, default_)
arg.runb = -1;
ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno);
EXPECT_EQ(arg.bn, 0);
- EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1);
EXPECT_EQ(arg.runb, 0);
/* In the middle */
@@ -144,8 +144,8 @@ TEST_F(Bmap, default_)
arg.runb = -1;
ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno);
EXPECT_EQ(arg.bn, lbn * m_maxbcachebuf / DEV_BSIZE);
- EXPECT_EQ(arg.runp, MAXPHYS / m_maxbcachebuf - 1);
- EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runp, m_maxphys / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1);
/* Last block */
lbn = filesize / m_maxbcachebuf - 1;
@@ -155,5 +155,5 @@ TEST_F(Bmap, default_)
ASSERT_EQ(0, ioctl(fd, FIOBMAP2, &arg)) << strerror(errno);
EXPECT_EQ(arg.bn, lbn * m_maxbcachebuf / DEV_BSIZE);
EXPECT_EQ(arg.runp, 0);
- EXPECT_EQ(arg.runb, MAXPHYS / m_maxbcachebuf - 1);
+ EXPECT_EQ(arg.runb, m_maxphys / m_maxbcachebuf - 1);
}
Modified: projects/fuse2/tests/sys/fs/fusefs/read.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/read.cc Tue Jun 25 20:25:16 2019 (r349393)
+++ projects/fuse2/tests/sys/fs/fusefs/read.cc Tue Jun 25 21:21:34 2019 (r349394)
@@ -110,10 +110,16 @@ virtual void SetUp() {
};
class ReadAhead: public ReadCacheable,
- public WithParamInterface<tuple<bool, uint32_t>>
+ public WithParamInterface<tuple<bool, int>>
{
virtual void SetUp() {
- m_maxreadahead = get<1>(GetParam());
+ int val;
+ const char *node = "vfs.maxbcachebuf";
+ size_t size = sizeof(val);
+ ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0))
+ << strerror(errno);
+
+ m_maxreadahead = val * get<1>(GetParam());
m_noclusterr = get<0>(GetParam());
ReadCacheable::SetUp();
}
@@ -892,8 +898,8 @@ TEST_P(ReadAhead, readahead) {
expect_lookup(RELPATH, ino, filesize);
expect_open(ino, 0, 1);
maxcontig = m_noclusterr ? m_maxbcachebuf :
- m_maxbcachebuf + (int)get<1>(GetParam());
- clustersize = MIN(maxcontig, MAXPHYS);
+ m_maxbcachebuf + m_maxreadahead;
+ clustersize = MIN(maxcontig, m_maxphys);
for (offs = 0; offs < bufsize; offs += clustersize) {
len = std::min((size_t)clustersize, (size_t)(filesize - offs));
expect_read(ino, offs, len, len, contents + offs);
@@ -912,10 +918,10 @@ TEST_P(ReadAhead, readahead) {
}
INSTANTIATE_TEST_CASE_P(RA, ReadAhead,
- Values(tuple<bool, int>(false, 0u),
- tuple<bool, int>(false, 0x10000),
- tuple<bool, int>(false, 0x20000),
- tuple<bool, int>(false, 0x30000),
- tuple<bool, int>(true, 0u),
- tuple<bool, int>(true, 0x10000),
- tuple<bool, int>(true, 0x20000)));
+ Values(tuple<bool, int>(false, 0),
+ tuple<bool, int>(false, 1),
+ tuple<bool, int>(false, 2),
+ tuple<bool, int>(false, 3),
+ tuple<bool, int>(true, 0),
+ tuple<bool, int>(true, 1),
+ tuple<bool, int>(true, 2)));
Modified: projects/fuse2/tests/sys/fs/fusefs/utils.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/utils.cc Tue Jun 25 20:25:16 2019 (r349393)
+++ projects/fuse2/tests/sys/fs/fusefs/utils.cc Tue Jun 25 21:21:34 2019 (r349394)
@@ -93,7 +93,8 @@ class FuseEnv: public Environment {
};
void FuseTest::SetUp() {
- const char *node = "vfs.maxbcachebuf";
+ const char *maxbcachebuf_node = "vfs.maxbcachebuf";
+ const char *maxphys_node = "kern.maxphys";
int val = 0;
size_t size = sizeof(val);
@@ -105,9 +106,12 @@ void FuseTest::SetUp() {
if (IsSkipped())
return;
- ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0))
+ ASSERT_EQ(0, sysctlbyname(maxbcachebuf_node, &val, &size, NULL, 0))
<< strerror(errno);
m_maxbcachebuf = val;
+ ASSERT_EQ(0, sysctlbyname(maxphys_node, &val, &size, NULL, 0))
+ << strerror(errno);
+ m_maxphys = val;
try {
m_mock = new MockFS(m_maxreadahead, m_allow_other,
Modified: projects/fuse2/tests/sys/fs/fusefs/utils.hh
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/utils.hh Tue Jun 25 20:25:16 2019 (r349393)
+++ projects/fuse2/tests/sys/fs/fusefs/utils.hh Tue Jun 25 21:21:34 2019 (r349394)
@@ -60,6 +60,7 @@ class FuseTest : public ::testing::Test {
public:
int m_maxbcachebuf;
+ int m_maxphys;
FuseTest():
m_maxreadahead(0),
Modified: projects/fuse2/tests/sys/fs/fusefs/write.cc
==============================================================================
--- projects/fuse2/tests/sys/fs/fusefs/write.cc Tue Jun 25 20:25:16 2019 (r349393)
+++ projects/fuse2/tests/sys/fs/fusefs/write.cc Tue Jun 25 21:21:34 2019 (r349394)
@@ -233,13 +233,13 @@ virtual void SetUp() {
class WriteCluster: public WriteBack {
public:
virtual void SetUp() {
- if (MAXPHYS < 2 * DFLTPHYS)
+ if (m_maxphys < 2 * DFLTPHYS)
GTEST_SKIP() << "MAXPHYS must be at least twice DFLTPHYS"
<< " for this test";
m_async = true;
- m_maxwrite = MAXPHYS;
+ m_maxwrite = m_maxphys;
WriteBack::SetUp();
- if (MAXPHYS < 2 * m_maxbcachebuf)
+ if (m_maxphys < 2 * m_maxbcachebuf)
GTEST_SKIP() << "MAXPHYS must be at least twice maxbcachebuf"
<< " for this test";
}
@@ -678,7 +678,7 @@ TEST_F(Write, write_large)
expect_lookup(RELPATH, ino, 0);
expect_open(ino, 0, 1);
- expect_write(ino, 0, halfbufsize, halfbufsize, contents);
+ maybe_expect_write(ino, 0, halfbufsize, contents);
maybe_expect_write(ino, halfbufsize, halfbufsize,
&contents[halfbufsize / sizeof(int)]);
More information about the svn-src-projects
mailing list