Gabe Black has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/69161?usp=email )
Change subject: base: Make ListenSocket::listen(int port) protected.
......................................................................
base: Make ListenSocket::listen(int port) protected.
Stop making the old API available.
Change-Id: I70752d081cb572a8ae5bf396d2ea43ecc7be1e9c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69161
Maintainer: Gabe Black <gabe.bl...@gmail.com>
Reviewed-by: Yu-hsin Wang <yuhsi...@google.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/base/socket.hh
M src/base/socket.test.cc
2 files changed, 19 insertions(+), 35 deletions(-)
Approvals:
Yu-hsin Wang: Looks good to me, approved
Gabe Black: Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/base/socket.hh b/src/base/socket.hh
index 7a616bd..81f4d62 100644
--- a/src/base/socket.hh
+++ b/src/base/socket.hh
@@ -99,6 +99,8 @@
*/
static void cleanup();
+ virtual bool listen(int port);
+
public:
/**
* @ingroup api_socket
@@ -110,7 +112,6 @@
virtual int accept();
- virtual bool listen(int port);
virtual void listen();
virtual void output(std::ostream &os) const;
diff --git a/src/base/socket.test.cc b/src/base/socket.test.cc
index cb24c49..8e1c25b 100644
--- a/src/base/socket.test.cc
+++ b/src/base/socket.test.cc
@@ -121,6 +121,7 @@
class MockListenSocket : public ListenSocket
{
public:
+ MockListenSocket(int port) : ListenSocket("mock", port) {}
/*
* This mock Listen Socket is used to ensure the static variables are
reset
* back to their default values after deconstruction (i.e., after a
test
@@ -138,7 +139,7 @@
* Tests the default behavior where listenSocket is constructed, and is
* not listening to a port.
*/
- MockListenSocket listen_socket;
+ MockListenSocket listen_socket(-1);
EXPECT_EQ(-1, listen_socket.getfd());
EXPECT_FALSE(listen_socket.islistening());
EXPECT_FALSE(listen_socket.allDisabled());
@@ -146,7 +147,7 @@
TEST(SocketTest, DisableAll)
{
- MockListenSocket listen_socket;
+ MockListenSocket listen_socket(-1);
listen_socket.disableAll();
EXPECT_EQ(-1, listen_socket.getfd());
EXPECT_FALSE(listen_socket.islistening());
@@ -155,8 +156,8 @@
TEST(SocketTest, ListenToPort)
{
- MockListenSocket listen_socket;
- EXPECT_TRUE(listen_socket.listen(TestPort1));
+ MockListenSocket listen_socket(TestPort1);
+ listen_socket.listen();
EXPECT_NE(-1, listen_socket.getfd());
EXPECT_TRUE(listen_socket.islistening());
EXPECT_FALSE(listen_socket.allDisabled());
@@ -164,32 +165,14 @@
TEST(SocketTest, RelistenWithSameInstanceSamePort)
{
- MockListenSocket listen_socket;
- EXPECT_TRUE(listen_socket.listen(TestPort1));
+ MockListenSocket listen_socket(TestPort1);
+ listen_socket.listen();
/*
* You cannot listen to another port if you are already listening to
one.
*/
gtestLogOutput.str("");
- EXPECT_ANY_THROW(listen_socket.listen(TestPort1));
- std::string expected =
- "panic: panic condition listening occurred: "
- "Socket already listening!\n";
- std::string actual = gtestLogOutput.str();
- EXPECT_EQ(expected, actual);
-}
-
-TEST(SocketTest, RelistenWithSameInstanceDifferentPort)
-{
- MockListenSocket listen_socket;
- EXPECT_TRUE(listen_socket.listen(TestPort1));
-
- /*
- * You cannot listen to another port if you are already listening to
one.
- */
- gtestLogOutput.str("");
- EXPECT_ANY_THROW(listen_socket.listen(TestPort2));
-
+ EXPECT_ANY_THROW(listen_socket.listen());
std::string expected =
"panic: panic condition listening occurred: "
"Socket already listening!\n";
@@ -199,30 +182,30 @@
TEST(SocketTest, RelistenWithDifferentInstanceOnDifferentPort)
{
- MockListenSocket listen_socket;
- EXPECT_TRUE(listen_socket.listen(TestPort1));
+ MockListenSocket listen_socket(TestPort1);
+ listen_socket.listen();
/*
* You can listen to another port with a different instance.
*/
- MockListenSocket listen_socket_2;
- EXPECT_TRUE(listen_socket_2.listen(TestPort2));
+ MockListenSocket listen_socket_2(TestPort2);
+ listen_socket_2.listen();
}
TEST(SocketTest, RelistenWithDifferentInstanceOnSamePort)
{
- MockListenSocket listen_socket;
- EXPECT_TRUE(listen_socket.listen(TestPort1));
+ MockListenSocket listen_socket(TestPort1);
+ listen_socket.listen();
/*
* You cannot listen to a port that's already being listened to.
*/
- MockListenSocket listen_socket_2;
- EXPECT_FALSE(listen_socket_2.listen(TestPort1));
+ MockListenSocket listen_socket_2(TestPort1);
+ listen_socket_2.listen();
}
TEST(SocketTest, AcceptError)
{
- MockListenSocket listen_socket;
+ MockListenSocket listen_socket(-1);
EXPECT_EQ(-1, listen_socket.accept());
}
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/69161?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I70752d081cb572a8ae5bf396d2ea43ecc7be1e9c
Gerrit-Change-Number: 69161
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Bobby Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Daniel Carvalho <oda...@yahoo.com.br>
Gerrit-Reviewer: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Jui-min Lee <f...@google.com>
Gerrit-Reviewer: Yu-hsin Wang <yuhsi...@google.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-CC: Gabe Black <gabebl...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org