Merge changes Iede18a00,Ib0fa24fb,Ic4c8a137 am: dfbae6ddbb am: c2e2f36f63

am: af64d87de7

Change-Id: Ie1f120a2b714336fa659a51f25ae4df196cf7e1e
This commit is contained in:
Greg Hackmann 2017-02-28 00:19:19 +00:00 committed by android-build-merger
commit e33adfadcc
3 changed files with 48 additions and 40 deletions

View File

@ -46,6 +46,12 @@ cc_defaults {
suffix: "64",
},
},
cflags: [
"-Wall",
"-Wextra",
"-Werror",
],
}
test_libraries = [

View File

@ -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));
}

View File

@ -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));
}