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

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

Merge changes Iede18a00,Ib0fa24fb,Ic4c8a137

* changes:
  libcutils: build tests with -Wall -Wextra -Werror
  libcutils: fix socket type in SocketsTest.TestGetLocalPort
  libcutils: fix Wsign-compare warnings in multiuser_test
parents 0cde0eae a930af89
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -46,6 +46,12 @@ cc_defaults {
            suffix: "64",
        },
    },

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
}

test_libraries = [
+41 −39
Original line number Diff line number Diff line
@@ -17,59 +17,61 @@
#include <cutils/multiuser.h>
#include <gtest/gtest.h>

static constexpr auto ERR_GID = static_cast<gid_t>(-1);

TEST(MultiuserTest, TestMerge) {
    EXPECT_EQ(0, multiuser_get_uid(0, 0));
    EXPECT_EQ(1000, multiuser_get_uid(0, 1000));
    EXPECT_EQ(10000, multiuser_get_uid(0, 10000));
    EXPECT_EQ(50000, multiuser_get_uid(0, 50000));
    EXPECT_EQ(1000000, multiuser_get_uid(10, 0));
    EXPECT_EQ(1001000, multiuser_get_uid(10, 1000));
    EXPECT_EQ(1010000, multiuser_get_uid(10, 10000));
    EXPECT_EQ(1050000, multiuser_get_uid(10, 50000));
    EXPECT_EQ(0U, multiuser_get_uid(0, 0));
    EXPECT_EQ(1000U, multiuser_get_uid(0, 1000));
    EXPECT_EQ(10000U, multiuser_get_uid(0, 10000));
    EXPECT_EQ(50000U, multiuser_get_uid(0, 50000));
    EXPECT_EQ(1000000U, multiuser_get_uid(10, 0));
    EXPECT_EQ(1001000U, multiuser_get_uid(10, 1000));
    EXPECT_EQ(1010000U, multiuser_get_uid(10, 10000));
    EXPECT_EQ(1050000U, multiuser_get_uid(10, 50000));
}

TEST(MultiuserTest, TestSplitUser) {
    EXPECT_EQ(0, multiuser_get_user_id(0));
    EXPECT_EQ(0, multiuser_get_user_id(1000));
    EXPECT_EQ(0, multiuser_get_user_id(10000));
    EXPECT_EQ(0, multiuser_get_user_id(50000));
    EXPECT_EQ(10, multiuser_get_user_id(1000000));
    EXPECT_EQ(10, multiuser_get_user_id(1001000));
    EXPECT_EQ(10, multiuser_get_user_id(1010000));
    EXPECT_EQ(10, multiuser_get_user_id(1050000));
    EXPECT_EQ(0U, multiuser_get_user_id(0));
    EXPECT_EQ(0U, multiuser_get_user_id(1000));
    EXPECT_EQ(0U, multiuser_get_user_id(10000));
    EXPECT_EQ(0U, multiuser_get_user_id(50000));
    EXPECT_EQ(10U, multiuser_get_user_id(1000000));
    EXPECT_EQ(10U, multiuser_get_user_id(1001000));
    EXPECT_EQ(10U, multiuser_get_user_id(1010000));
    EXPECT_EQ(10U, multiuser_get_user_id(1050000));
}

TEST(MultiuserTest, TestSplitApp) {
    EXPECT_EQ(0, multiuser_get_app_id(0));
    EXPECT_EQ(1000, multiuser_get_app_id(1000));
    EXPECT_EQ(10000, multiuser_get_app_id(10000));
    EXPECT_EQ(50000, multiuser_get_app_id(50000));
    EXPECT_EQ(0, multiuser_get_app_id(1000000));
    EXPECT_EQ(1000, multiuser_get_app_id(1001000));
    EXPECT_EQ(10000, multiuser_get_app_id(1010000));
    EXPECT_EQ(50000, multiuser_get_app_id(1050000));
    EXPECT_EQ(0U, multiuser_get_app_id(0));
    EXPECT_EQ(1000U, multiuser_get_app_id(1000));
    EXPECT_EQ(10000U, multiuser_get_app_id(10000));
    EXPECT_EQ(50000U, multiuser_get_app_id(50000));
    EXPECT_EQ(0U, multiuser_get_app_id(1000000));
    EXPECT_EQ(1000U, multiuser_get_app_id(1001000));
    EXPECT_EQ(10000U, multiuser_get_app_id(1010000));
    EXPECT_EQ(50000U, multiuser_get_app_id(1050000));
}

TEST(MultiuserTest, TestCache) {
    EXPECT_EQ(-1, multiuser_get_cache_gid(0, 0));
    EXPECT_EQ(-1, multiuser_get_cache_gid(0, 1000));
    EXPECT_EQ(20000, multiuser_get_cache_gid(0, 10000));
    EXPECT_EQ(-1, multiuser_get_cache_gid(0, 50000));
    EXPECT_EQ(1020000, multiuser_get_cache_gid(10, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_cache_gid(0, 0));
    EXPECT_EQ(ERR_GID, multiuser_get_cache_gid(0, 1000));
    EXPECT_EQ(20000U, multiuser_get_cache_gid(0, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_cache_gid(0, 50000));
    EXPECT_EQ(1020000U, multiuser_get_cache_gid(10, 10000));
}

TEST(MultiuserTest, TestExt) {
    EXPECT_EQ(-1, multiuser_get_ext_gid(0, 0));
    EXPECT_EQ(-1, multiuser_get_ext_gid(0, 1000));
    EXPECT_EQ(30000, multiuser_get_ext_gid(0, 10000));
    EXPECT_EQ(-1, multiuser_get_ext_gid(0, 50000));
    EXPECT_EQ(1030000, multiuser_get_ext_gid(10, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_ext_gid(0, 0));
    EXPECT_EQ(ERR_GID, multiuser_get_ext_gid(0, 1000));
    EXPECT_EQ(30000U, multiuser_get_ext_gid(0, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_ext_gid(0, 50000));
    EXPECT_EQ(1030000U, multiuser_get_ext_gid(10, 10000));
}

TEST(MultiuserTest, TestShared) {
    EXPECT_EQ(-1, multiuser_get_shared_gid(0, 0));
    EXPECT_EQ(-1, multiuser_get_shared_gid(0, 1000));
    EXPECT_EQ(50000, multiuser_get_shared_gid(0, 10000));
    EXPECT_EQ(-1, multiuser_get_shared_gid(0, 50000));
    EXPECT_EQ(1050000, multiuser_get_shared_gid(10, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_shared_gid(0, 0));
    EXPECT_EQ(ERR_GID, multiuser_get_shared_gid(0, 1000));
    EXPECT_EQ(50000U, multiuser_get_shared_gid(0, 10000));
    EXPECT_EQ(ERR_GID, multiuser_get_shared_gid(0, 50000));
    EXPECT_EQ(1050000U, multiuser_get_shared_gid(10, 10000));
}
+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ TEST(SocketsTest, TestGetLocalPort) {
    // should always be able to read its port.
    for (int port : {10000, 12345, 15999, 20202, 25000}) {
        for (int type : {SOCK_DGRAM, SOCK_STREAM}) {
            server = socket_inaddr_any_server(port, SOCK_DGRAM);
            server = socket_inaddr_any_server(port, type);
            if (server != INVALID_SOCKET) {
                EXPECT_EQ(port, socket_get_local_port(server));
            }