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

Commit 9f250b0c authored by Steven Moreland's avatar Steven Moreland
Browse files

binderRpcTest: host requires vsock loopback

Upgrade your kernels, folks!

Bug: 187754872
Test: binderRpcTest with and without vsock_loopback enabled
Change-Id: I72e1cc949533342ac819e1cbf3ff977380a33f33
parent 71ea90d3
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1120,7 +1120,7 @@ INSTANTIATE_TEST_CASE_P(Trusty, BinderRpc,
                                           ::testing::Values(true), ::testing::Values(true)),
                        BinderRpc::PrintParamInfo);
#else // BINDER_RPC_TO_TRUSTY_TEST
static bool testSupportVsockLoopback() {
bool testSupportVsockLoopback() {
    // We don't need to enable TLS to know if vsock is supported.
    unsigned int vsockPort = allocateVsockPort();

@@ -1220,7 +1220,15 @@ static std::vector<SocketType> testSocketTypes(bool hasPreconnected = true) {

    if (hasPreconnected) ret.push_back(SocketType::PRECONNECTED);

#ifdef __BIONIC__
    // Devices may not have vsock support. AVF tests will verify whether they do, but
    // we can't require it due to old kernels for the time being.
    static bool hasVsockLoopback = testSupportVsockLoopback();
#else
    // On host machines, we always assume we have vsock loopback. If we don't, the
    // subsequent failures will be more clear than showing one now.
    static bool hasVsockLoopback = true;
#endif

    if (hasVsockLoopback) {
        ret.push_back(SocketType::VSOCK);
+2 −1
Original line number Diff line number Diff line
@@ -139,7 +139,8 @@ int main(int argc, char* argv[]) {
            CHECK_EQ(OK, server->setupRawSocketServer(std::move(socketFd)));
            break;
        case SocketType::VSOCK:
            CHECK_EQ(OK, server->setupVsockServer(VMADDR_CID_LOCAL, serverConfig.vsockPort));
            CHECK_EQ(OK, server->setupVsockServer(VMADDR_CID_LOCAL, serverConfig.vsockPort))
                    << "Need `sudo modprobe vsock_loopback`?";
            break;
        case SocketType::INET: {
            CHECK_EQ(OK, server->setupInetServer(kLocalInetAddress, 0, &outPort));