!11 修改内源代码

Merge pull request !11 from chensi10/master
This commit is contained in:
openharmony_ci 2021-08-31 01:28:01 +00:00 committed by Gitee
commit e22eca3d8b
7 changed files with 122 additions and 67 deletions

View File

@ -37,6 +37,8 @@ namespace {
constexpr int32_t ERR_PIPE_FAIL = -100;
constexpr int32_t MAX_LEN_SHORT_NAME = 16;
constexpr int32_t WAIT_DELAY_US = 100 * 1000; // 100ms
constexpr int32_t GID_MEDIA = 1023;
constexpr int32_t MAX_GIDS = 64;
constexpr std::string_view BUNDLE_NAME_CAMERA("com.ohos.camera");
constexpr std::string_view BUNDLE_NAME_PHOTOS("com.ohos.photos");
@ -205,8 +207,12 @@ bool AppSpawnServer::ServerMain(char *longProcName, int64_t longProcNameLen)
// special handle bundle name "com.ohos.photos" and "com.ohos.camera"
if ((strcmp(appProperty->processName, BUNDLE_NAME_CAMERA.data()) == 0) ||
(strcmp(appProperty->processName, BUNDLE_NAME_PHOTOS.data()) == 0)) {
appProperty->gidTable[appProperty->gidCount] = 1023;
appProperty->gidCount++;
if (appProperty->gidCount < MAX_GIDS) {
appProperty->gidTable[appProperty->gidCount] = GID_MEDIA;
appProperty->gidCount++;
} else {
HiLog::Info(LABEL, "gidCount out of bounds !");
}
}
return SetAppProcProperty(connectFd, appProperty, longProcName, longProcNameLen, fd);

View File

@ -1,4 +1,4 @@
# Copyright (C) 2021 Huawei Device Co., Ltd.
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -22,8 +22,8 @@
namespace OHOS {
namespace AppSpawn {
static constexpr HiviewDFX::HiLogLabel LABEL = {LOG_CORE, 0, "MockServerSocket"};
using namespace OHOS::HiviewDFX;
static constexpr HiLogLabel LABEL = {LOG_CORE, 0, "MockServerSocket"};
class MockServerSocket : public ServerSocket {
public:
@ -41,7 +41,7 @@ public:
MOCK_METHOD3(ReadSocketMessage, int32_t(int32_t socketFd, void *buf, int32_t len));
MOCK_METHOD3(WriteSocketMessage, int32_t(int32_t socketFd, const void *buf, int32_t len));
int32_t ReadImplGidCountMax([[maybe_unused]]int32_t socketFd, void *buf, [[maybe_unused]]int32_t len)
int32_t ReadImplGidCountMax([[maybe_unused]] int32_t socketFd, void *buf, [[maybe_unused]] int32_t len)
{
std::lock_guard<std::mutex> lock(mutex_);
@ -52,17 +52,26 @@ public:
}
params->uid = 0;
params->gid = 0;
(void)memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
auto ret = memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
if (ret != EOK) {
HiLog::Info(LABEL, "memset_s failed");
}
params->gidCount = ClientSocket::MAX_GIDS + 1;
std::string processName = "processName";
(void)memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
ret = memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
std::string soPath = "soPath";
(void)memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
ret = memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
return sizeof(ClientSocket::AppProperty);
}
int32_t ReadImplProcessName([[maybe_unused]]int32_t socketFd, void *buf, [[maybe_unused]]int32_t len)
int32_t ReadImplProcessName([[maybe_unused]] int32_t socketFd, void *buf, [[maybe_unused]] int32_t len)
{
std::lock_guard<std::mutex> lock(mutex_);
@ -73,17 +82,26 @@ public:
}
params->uid = 0;
params->gid = 0;
(void)memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
auto ret = memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
if (ret != EOK) {
HiLog::Info(LABEL, "memset_s failed");
}
params->gidCount = ClientSocket::MAX_GIDS;
std::string processName = "";
(void)memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
ret = memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
std::string soPath = "soPath";
(void)memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
ret = memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
return sizeof(ClientSocket::AppProperty);
}
int32_t ReadImplValid([[maybe_unused]]int32_t socketFd, void *buf, [[maybe_unused]]int32_t len)
int32_t ReadImplValid([[maybe_unused]] int32_t socketFd, void *buf, [[maybe_unused]] int32_t len)
{
std::lock_guard<std::mutex> lock(mutex_);
@ -94,17 +112,26 @@ public:
}
params->uid = 0;
params->gid = 0;
(void)memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
auto ret = memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
if (ret != EOK) {
HiLog::Info(LABEL, "memset_s failed");
}
params->gidCount = ClientSocket::MAX_GIDS;
std::string processName = "processName";
(void)memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
ret = memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
std::string soPath = "soPath";
(void)memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
ret = memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
return sizeof(ClientSocket::AppProperty);
}
int32_t ReadImplValidLongProcessName([[maybe_unused]]int32_t socketFd, void *buf, [[maybe_unused]]int32_t len)
int32_t ReadImplValidLongProcessName([[maybe_unused]] int32_t socketFd, void *buf, [[maybe_unused]] int32_t len)
{
std::lock_guard<std::mutex> lock(mutex_);
@ -115,12 +142,21 @@ public:
}
params->uid = 0;
params->gid = 0;
(void)memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
auto ret = memset_s(params->gidTable, sizeof(params->gidTable), 0, sizeof(params->gidTable));
if (ret != EOK) {
HiLog::Info(LABEL, "memset_s failed");
}
params->gidCount = ClientSocket::MAX_GIDS;
std::string processName = "ProcessName1234567890";
(void)memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
ret = memcpy_s(params->processName, sizeof(params->processName), processName.c_str(), processName.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
std::string soPath = "soPath";
(void)memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
ret = memcpy_s(params->soPath, sizeof(params->soPath), soPath.c_str(), soPath.length());
if (ret != EOK) {
HiLog::Info(LABEL, "memcpy_s failed");
}
return sizeof(ClientSocket::AppProperty);
}

View File

@ -43,16 +43,25 @@ ClientSocket::AppProperty *AppSpawnMsgPeer::GetMsg() const
{
HiLog::Info(LABEL, "GetMsg");
if (buf_ != nullptr) {
ClientSocket::AppProperty* appProperty = reinterpret_cast<ClientSocket::AppProperty *>(buf_.get());
ClientSocket::AppProperty *appProperty = reinterpret_cast<ClientSocket::AppProperty *>(buf_.get());
appProperty->uid = 0;
appProperty->gid = 0;
(void)memset_s(appProperty->gidTable, sizeof(appProperty->gidTable), 0, sizeof(appProperty->gidTable));
auto ret = memset_s(appProperty->gidTable, sizeof(appProperty->gidTable), 0, sizeof(appProperty->gidTable));
if (ret != EOK) {
HiLog::Error(LABEL, "memset_s failed!");
}
appProperty->gidCount = ClientSocket::MAX_GIDS;
std::string processName = "processName";
(void)memcpy_s(appProperty->processName, sizeof(appProperty->processName),
processName.c_str(), processName.length());
ret = memcpy_s(
appProperty->processName, sizeof(appProperty->processName), processName.c_str(), processName.length());
if (ret != EOK) {
HiLog::Error(LABEL, "memcpy_s failed!");
}
std::string soPath = "soPath";
(void)memcpy_s(appProperty->soPath, sizeof(appProperty->soPath), soPath.c_str(), soPath.length());
ret = memcpy_s(appProperty->soPath, sizeof(appProperty->soPath), soPath.c_str(), soPath.length());
if (ret != EOK) {
HiLog::Error(LABEL, "memcpy_s failed!");
}
}
return reinterpret_cast<ClientSocket::AppProperty *>(buf_.get());

View File

@ -1,4 +1,4 @@
# Copyright (C) 2021 Huawei Device Co., Ltd.
# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2021 Huawei Device Co., Ltd.
* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@ -34,11 +34,11 @@ namespace {
const bool CHECK_OK = true;
const bool CHECK_ERROR = false;
const int32_t DEFAULT_PID = 0;
const int32_t FILE_PATH_SIZE = 50;
const int32_t FILE_PATH_SIZE = 50;
const int32_t CMD_SIZE = 50;
const int32_t BUFFER_SIZE = 512;
const int32_t BASE_TYPE = 10;
const int32_t CONNECT_RETRY_DELAY = 50 * 1000;
const int32_t CONNECT_RETRY_DELAY = 50 * 1000;
const int32_t CONNECT_RETRY_MAX_TIMES = 5;
const int32_t UID_POSITION_MOVE = 5;
const int32_t GID_POSITION_MOVE = 5;
@ -107,7 +107,7 @@ bool checkUid(const int32_t &pid, const AppSpawnStartMsg &params)
HiLog::Error(LABEL, "get Uid info failed.");
return CHECK_ERROR;
}
if (strlen(uidPtr) > UID_POSITION_MOVE){
if (strlen(uidPtr) > UID_POSITION_MOVE) {
uidPtr = uidPtr + UID_POSITION_MOVE;
}
int32_t uid = (int32_t)strtol(uidPtr, NULL, BASE_TYPE);
@ -128,7 +128,7 @@ bool checkGid(const int32_t &pid, const AppSpawnStartMsg &params)
HiLog::Error(LABEL, "get Gid info failed.");
return CHECK_ERROR;
}
if (strlen(gidPtr) > GID_POSITION_MOVE){
if (strlen(gidPtr) > GID_POSITION_MOVE) {
gidPtr = gidPtr + GID_POSITION_MOVE;
}
int32_t gid = (int32_t)strtol(gidPtr, NULL, BASE_TYPE);
@ -143,18 +143,18 @@ std::size_t getGids(const int32_t &pid, std::vector<int32_t> &gids)
{
if (readFileInfo(buffer, pid, "status")) {
// Move to Groups position
char *groupsPtr = strstr(buffer, "Groups");
if (groupsPtr == nullptr) {
char *groupsPtr = strstr(buffer, "Groups");
if (groupsPtr == nullptr || strlen(groupsPtr) > BUFFER_SIZE) {
HiLog::Error(LABEL, "get Groups info failed.");
return CHECK_ERROR;
}
if (strlen(groupsPtr) > GROUPS_POSITION_MOVE){
if (strlen(groupsPtr) > GROUPS_POSITION_MOVE) {
groupsPtr = groupsPtr + GROUPS_POSITION_MOVE;
}
// Get the row content of Groups
char *saveptr = NULL;
char *line = strtok_r(groupsPtr , DELIMITER_NEWLINE, &saveptr);
if (line == nullptr) {
char *line = strtok_r(groupsPtr, DELIMITER_NEWLINE, &saveptr);
if (line == nullptr || strlen(line) > BUFFER_SIZE) {
HiLog::Error(LABEL, "get Groups line info failed.");
return CHECK_ERROR;
}
@ -199,7 +199,7 @@ bool checkProcName(const int32_t &pid, const AppSpawnStartMsg &params)
{
FILE *fp = nullptr;
char cmd[CMD_SIZE];
if (sprintf_s(cmd, sizeof(cmd),"ps -o ARGS=CMD -p %d |grep -v CMD", pid) <= 0) {
if (sprintf_s(cmd, sizeof(cmd), "ps -o ARGS=CMD -p %d |grep -v CMD", pid) <= 0) {
HiLog::Error(LABEL, "cmd sprintf_s fail .");
return CHECK_ERROR;
}
@ -219,12 +219,12 @@ bool checkProcName(const int32_t &pid, const AppSpawnStartMsg &params)
GTEST_LOG_(INFO) << "strcmp"
<< " :" << strcmp(params.procName.c_str(), procName) << ".";
if (params.procName.compare(0,params.procName.size(),procName,params.procName.size()) == 0) {
if (params.procName.compare(0, params.procName.size(), procName, params.procName.size()) == 0) {
pclose(fp);
return CHECK_OK;
}
HiLog::Error(LABEL, " procName=%{public}s, params.procName=%{public}s.", procName, params.procName.c_str());
} else {
HiLog::Error(LABEL, "Getting procName failed.");
}
@ -236,7 +236,7 @@ bool checkProcName(const int32_t &pid, const AppSpawnStartMsg &params)
bool checkProcessIsDestroyed(const int32_t &pid)
{
char filePath[FILE_PATH_SIZE];
if (sprintf_s(filePath,sizeof(filePath), "/proc/%d", pid) <= 0) {
if (sprintf_s(filePath, sizeof(filePath), "/proc/%d", pid) <= 0) {
HiLog::Error(LABEL, "filePath sprintf_s fail .");
return CHECK_ERROR;
}
@ -261,8 +261,8 @@ bool checkAppspawnPID()
if (fgets(pid, sizeof(pid), fp) != nullptr) {
pclose(fp);
return CHECK_OK;
}
}
HiLog::Error(LABEL, "Getting Pid failed.");
pclose(fp);
@ -327,9 +327,7 @@ void AppSpawnModuleTest::SetUp()
}
void AppSpawnModuleTest::TearDown()
{
}
{}
/*
* Feature: AppSpawn

View File

@ -65,7 +65,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_001, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_001 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
EXPECT_EQ(-1, appSpawnSocket->GetSocketFd());
auto socketFd = appSpawnSocket->CreateSocket();
@ -89,7 +89,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_002, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_002 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
int32_t socketFd = -2;
appSpawnSocket->CloseSocket(socketFd);
@ -112,7 +112,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_003, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_003 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
EXPECT_EQ(-1, appSpawnSocket->PackSocketAddr());
@ -135,7 +135,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_004, TestSize.Level0)
"InvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalid"
"InvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalidInvalid";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>(invalidSocketName.c_str());
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
EXPECT_EQ(-1, appSpawnSocket->PackSocketAddr());
@ -155,7 +155,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_005, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_005 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
EXPECT_EQ(0, appSpawnSocket->PackSocketAddr());
@ -175,11 +175,11 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_006, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_006 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
int32_t socketFd = -1;
std::unique_ptr<uint8_t[]> buff = std::make_unique<uint8_t[]>(10);
ASSERT_FALSE(buff == nullptr);
EXPECT_TRUE(buff);
int32_t len = 10;
EXPECT_EQ(-1, appSpawnSocket->ReadSocketMessage(socketFd, buff.get(), len));
@ -200,12 +200,13 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_007, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_007 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::unique_ptr<uint8_t[]> buff = nullptr;
int32_t len = 10;
EXPECT_EQ(-1, appSpawnSocket->ReadSocketMessage(socketFd, buff.get(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_007 end";
}
@ -223,13 +224,14 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_008, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_008 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::unique_ptr<uint8_t[]> buff = std::make_unique<uint8_t[]>(10);
ASSERT_FALSE(buff == nullptr);
EXPECT_TRUE(buff);
int32_t len = 0;
EXPECT_EQ(-1, appSpawnSocket->ReadSocketMessage(socketFd, buff.get(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_008 end";
}
@ -247,13 +249,14 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_009, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_009 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::unique_ptr<uint8_t[]> buff = std::make_unique<uint8_t[]>(10);
ASSERT_FALSE(buff == nullptr);
EXPECT_TRUE(buff);
int32_t len = -1;
EXPECT_EQ(-1, appSpawnSocket->ReadSocketMessage(socketFd, buff.get(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_009 end";
}
@ -271,11 +274,11 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_010, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_010 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
std::string content = "hiworld";
int32_t len = content.length();
std::unique_ptr<int8_t[]> buff = std::make_unique<int8_t[]>(len);
ASSERT_FALSE(buff == nullptr);
EXPECT_TRUE(buff);
int32_t fd[2] = {0, 0};
if (pipe(fd) == -1) {
@ -307,7 +310,7 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_011, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_011 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
int32_t socketFd = -1;
std::string buff = "hiworld";
@ -329,12 +332,13 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_012, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_012 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::unique_ptr<uint8_t[]> buff = nullptr;
int32_t len = 10;
EXPECT_EQ(-1, appSpawnSocket->WriteSocketMessage(socketFd, buff.get(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_012 end";
}
@ -352,12 +356,13 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_013, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_013 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::string buff = "hiworld";
int32_t len = 0;
EXPECT_EQ(-1, appSpawnSocket->WriteSocketMessage(socketFd, buff.c_str(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_013 end";
}
@ -375,12 +380,13 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_014, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_014 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
auto socketFd = appSpawnSocket->CreateSocket();
std::string buff = "hiworld";
int32_t len = -1;
EXPECT_EQ(-1, appSpawnSocket->WriteSocketMessage(socketFd, buff.c_str(), len));
appSpawnSocket->CloseSocket(socketFd);
GTEST_LOG_(INFO) << "App_Spawn_Socket_014 end";
}
@ -398,11 +404,11 @@ HWTEST(AppSpawnSocketTest, App_Spawn_Socket_015, TestSize.Level0)
GTEST_LOG_(INFO) << "App_Spawn_Socket_015 start";
std::unique_ptr<AppSpawnSocket> appSpawnSocket = std::make_unique<AppSpawnSocket>("AppSpawnSocketTest");
ASSERT_FALSE(appSpawnSocket == nullptr);
EXPECT_TRUE(appSpawnSocket);
std::string content = "hiworld";
int32_t len = content.length();
std::unique_ptr<int8_t[]> buff = std::make_unique<int8_t[]>(len);
ASSERT_FALSE(buff == nullptr);
EXPECT_TRUE(buff);
int32_t fd[2] = {0, 0};
if (pipe(fd) == -1) {