Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Unified Diff: native_client_sdk/src/tests/nacl_io_test/socket_test.cc

Issue 1373563003: Revert of [NaCl SDK] nacl_io: Add support for basic socketpairs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « native_client_sdk/src/tests/nacl_io_test/mock_node.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: native_client_sdk/src/tests/nacl_io_test/socket_test.cc
diff --git a/native_client_sdk/src/tests/nacl_io_test/socket_test.cc b/native_client_sdk/src/tests/nacl_io_test/socket_test.cc
index e2d86d53bb8e23b81f83cccb358edccbc1c1a9dc..03d96375685ebef522042067da42e2b07fa74c6d 100644
--- a/native_client_sdk/src/tests/nacl_io_test/socket_test.cc
+++ b/native_client_sdk/src/tests/nacl_io_test/socket_test.cc
@@ -243,113 +243,23 @@
EXPECT_EQ(errno, ENOTSOCK);
}
-TEST_F(SocketTest, SocketInetRawUnsupported) {
+TEST_F(SocketTest, Socket) {
+ EXPECT_LT(ki_socket(AF_UNIX, SOCK_STREAM, 0), 0);
+ EXPECT_EQ(errno, EAFNOSUPPORT);
EXPECT_LT(ki_socket(AF_INET, SOCK_RAW, 0), 0);
EXPECT_EQ(errno, EPROTONOSUPPORT);
}
-TEST_F(SocketTest, SocketpairUnsupported) {
+TEST_F(SocketTest, Socketpair) {
int sv[2];
EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, NULL), 0);
EXPECT_EQ(errno, EFAULT);
+ EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv), 0);
+ EXPECT_EQ(errno, EAFNOSUPPORT);
EXPECT_LT(ki_socketpair(AF_INET, SOCK_STREAM, 0, sv), 0);
- EXPECT_EQ(errno, EOPNOTSUPP);
+ EXPECT_EQ(errno, EPROTONOSUPPORT);
EXPECT_LT(ki_socketpair(AF_INET6, SOCK_STREAM, 0, sv), 0);
- EXPECT_EQ(errno, EOPNOTSUPP);
- EXPECT_LT(ki_socketpair(AF_UNIX, SOCK_DGRAM, 0, sv), 0);
- EXPECT_EQ(errno, EPROTOTYPE);
- EXPECT_LT(ki_socketpair(AF_MAX, SOCK_STREAM, 0, sv), 0);
- EXPECT_EQ(errno, EAFNOSUPPORT);
-}
-
-class UnixSocketTest : public ::testing::Test {
- public:
- UnixSocketTest() { sv_[0] = sv_[1] = -1; }
-
- void SetUp() {
- ASSERT_EQ(0, ki_push_state_for_testing());
- ASSERT_EQ(0, ki_init(&kp_));
- }
-
- void TearDown() {
- if (sv_[0] != -1)
- EXPECT_EQ(0, ki_close(sv_[0]));
- if (sv_[1] != -1)
- EXPECT_EQ(0, ki_close(sv_[1]));
- ki_uninit();
- }
-
- protected:
- KernelProxy kp_;
-
- int sv_[2];
-};
-
-TEST_F(UnixSocketTest, Socket) {
- EXPECT_EQ(-1, ki_socket(AF_UNIX, SOCK_STREAM, 0));
- EXPECT_EQ(EAFNOSUPPORT, errno);
-}
-
-TEST_F(UnixSocketTest, Socketpair) {
- errno = 0;
- EXPECT_EQ(0, ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv_));
- EXPECT_EQ(0, errno);
- EXPECT_LE(0, sv_[0]);
- EXPECT_LE(0, sv_[1]);
-}
-
-TEST_F(UnixSocketTest, SendRecv) {
- char outbuf[256];
- char inbuf[512];
-
- memset(outbuf, 0xA5, sizeof(outbuf));
- memset(inbuf, 0x3C, sizeof(inbuf));
-
- EXPECT_EQ(0, ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv_));
-
- int len1 = ki_send(sv_[0], outbuf, sizeof(outbuf), /* flags */ 0);
- EXPECT_EQ(sizeof(outbuf), len1);
-
- // The buffers should be different.
- EXPECT_NE(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
-
- int len2 = ki_recv(sv_[1], inbuf, sizeof(inbuf), /* flags */ 0);
- EXPECT_EQ(sizeof(outbuf), len2);
-
- EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
-
- // A reader should block after to read at this point.
- EXPECT_EQ(-1, ki_recv(sv_[1], inbuf, sizeof(inbuf), MSG_DONTWAIT));
- EXPECT_EQ(EAGAIN, errno);
-
- // Send data back in the opposite direction.
- memset(inbuf, 0x3C, sizeof(inbuf));
- EXPECT_NE(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
- len1 = ki_send(sv_[1], outbuf, sizeof(outbuf), /* flags */ 0);
- EXPECT_EQ(sizeof(outbuf), len1);
-
- EXPECT_NE(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
-
- len2 = ki_recv(sv_[0], inbuf, sizeof(inbuf), /* flags */ 0);
- EXPECT_EQ(sizeof(outbuf), len2);
-
- EXPECT_EQ(0, memcmp(outbuf, inbuf, sizeof(outbuf)));
- EXPECT_EQ(-1, ki_recv(sv_[0], inbuf, sizeof(inbuf), MSG_DONTWAIT));
- EXPECT_EQ(EAGAIN, errno);
-}
-
-TEST_F(UnixSocketTest, RecvNonBlocking) {
- char buf[128];
-
- EXPECT_EQ(0, ki_socketpair(AF_UNIX, SOCK_STREAM, 0, sv_));
-
- EXPECT_EQ(-1, ki_recv(sv_[0], buf, sizeof(buf), MSG_DONTWAIT));
- EXPECT_EQ(EAGAIN, errno);
-
- struct pollfd pollfd = {sv_[0], POLLIN | POLLOUT, 0};
- EXPECT_EQ(1, ki_poll(&pollfd, 1, 0));
- EXPECT_EQ(POLLOUT, pollfd.revents & POLLOUT);
- EXPECT_NE(POLLIN, pollfd.revents & POLLIN);
+ EXPECT_EQ(errno, EPROTONOSUPPORT);
}
TEST(SocketUtilityFunctions, Htonl) {
« no previous file with comments | « native_client_sdk/src/tests/nacl_io_test/mock_node.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698