Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53053dd1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add a few more trivial socket_spec.h tests."

parents 18da289f e65e0021
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -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) {
+33 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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"));
}