Loading adb/socket_spec.cpp +0 −6 Original line number Diff line number Diff line Loading @@ -103,12 +103,6 @@ bool parse_tcp_socket_spec(std::string_view spec, std::string* hostname, int* po if (!android::base::ParseNetAddress(addr, &hostname_value, &port_value, serial, error)) { return false; } if (port_value == -1) { *error = "missing port in specification: "; *error += spec; return false; } } if (hostname) { Loading adb/socket_spec_test.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,13 @@ #include <android-base/stringprintf.h> #include <gtest/gtest.h> TEST(socket_spec, parse_tcp_socket_spec_failure) { std::string hostname, error, serial; int port; EXPECT_FALSE(parse_tcp_socket_spec("sneakernet:5037", &hostname, &port, &serial, &error)); EXPECT_TRUE(error.find("sneakernet") != std::string::npos); } TEST(socket_spec, parse_tcp_socket_spec_just_port) { std::string hostname, error, serial; int port; Loading Loading @@ -134,6 +141,19 @@ TEST(socket_spec, socket_spec_listen_connect_tcp) { EXPECT_NE(client_fd.get(), -1); } TEST(socket_spec, socket_spec_connect_failure) { std::string error, serial; int port; unique_fd client_fd; EXPECT_FALSE(socket_spec_connect(&client_fd, "tcp:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "acceptfd:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:x", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:5", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:5:x", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "sneakernet:", &port, &serial, &error)); } TEST(socket_spec, socket_spec_listen_connect_localfilesystem) { std::string error, serial; int port; Loading @@ -152,3 +172,16 @@ TEST(socket_spec, socket_spec_listen_connect_localfilesystem) { EXPECT_NE(client_fd.get(), -1); } } TEST(socket_spec, is_socket_spec) { EXPECT_TRUE(is_socket_spec("tcp:blah")); EXPECT_TRUE(is_socket_spec("acceptfd:blah")); EXPECT_TRUE(is_socket_spec("local:blah")); EXPECT_TRUE(is_socket_spec("localreserved:blah")); } TEST(socket_spec, is_local_socket_spec) { EXPECT_TRUE(is_local_socket_spec("local:blah")); EXPECT_TRUE(is_local_socket_spec("tcp:localhost")); EXPECT_FALSE(is_local_socket_spec("tcp:www.google.com")); } Loading
adb/socket_spec.cpp +0 −6 Original line number Diff line number Diff line Loading @@ -103,12 +103,6 @@ bool parse_tcp_socket_spec(std::string_view spec, std::string* hostname, int* po if (!android::base::ParseNetAddress(addr, &hostname_value, &port_value, serial, error)) { return false; } if (port_value == -1) { *error = "missing port in specification: "; *error += spec; return false; } } if (hostname) { Loading
adb/socket_spec_test.cpp +33 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,13 @@ #include <android-base/stringprintf.h> #include <gtest/gtest.h> TEST(socket_spec, parse_tcp_socket_spec_failure) { std::string hostname, error, serial; int port; EXPECT_FALSE(parse_tcp_socket_spec("sneakernet:5037", &hostname, &port, &serial, &error)); EXPECT_TRUE(error.find("sneakernet") != std::string::npos); } TEST(socket_spec, parse_tcp_socket_spec_just_port) { std::string hostname, error, serial; int port; Loading Loading @@ -134,6 +141,19 @@ TEST(socket_spec, socket_spec_listen_connect_tcp) { EXPECT_NE(client_fd.get(), -1); } TEST(socket_spec, socket_spec_connect_failure) { std::string error, serial; int port; unique_fd client_fd; EXPECT_FALSE(socket_spec_connect(&client_fd, "tcp:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "acceptfd:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:x", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:5", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "vsock:5:x", &port, &serial, &error)); EXPECT_FALSE(socket_spec_connect(&client_fd, "sneakernet:", &port, &serial, &error)); } TEST(socket_spec, socket_spec_listen_connect_localfilesystem) { std::string error, serial; int port; Loading @@ -152,3 +172,16 @@ TEST(socket_spec, socket_spec_listen_connect_localfilesystem) { EXPECT_NE(client_fd.get(), -1); } } TEST(socket_spec, is_socket_spec) { EXPECT_TRUE(is_socket_spec("tcp:blah")); EXPECT_TRUE(is_socket_spec("acceptfd:blah")); EXPECT_TRUE(is_socket_spec("local:blah")); EXPECT_TRUE(is_socket_spec("localreserved:blah")); } TEST(socket_spec, is_local_socket_spec) { EXPECT_TRUE(is_local_socket_spec("local:blah")); EXPECT_TRUE(is_local_socket_spec("tcp:localhost")); EXPECT_FALSE(is_local_socket_spec("tcp:www.google.com")); }