1060ff233Sopenharmony_ci/* 2060ff233Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3060ff233Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4060ff233Sopenharmony_ci * you may not use this file except in compliance with the License. 5060ff233Sopenharmony_ci * You may obtain a copy of the License at 6060ff233Sopenharmony_ci * 7060ff233Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8060ff233Sopenharmony_ci * 9060ff233Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10060ff233Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11060ff233Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12060ff233Sopenharmony_ci * See the License for the specific language governing permissions and 13060ff233Sopenharmony_ci * limitations under the License. 14060ff233Sopenharmony_ci */ 15060ff233Sopenharmony_ci 16060ff233Sopenharmony_ci#include <fcntl.h> 17060ff233Sopenharmony_ci#include <cstring> 18060ff233Sopenharmony_ci 19060ff233Sopenharmony_ci#include "gtest/gtest.h" 20060ff233Sopenharmony_ci#include "lnn_ip_utils_adapter.h" 21060ff233Sopenharmony_ci#include "bus_center_adapter.h" 22060ff233Sopenharmony_ci#include "softbus_adapter_file.h" 23060ff233Sopenharmony_ci#include "softbus_adapter_mem.h" 24060ff233Sopenharmony_ci#include "softbus_errcode.h" 25060ff233Sopenharmony_ci 26060ff233Sopenharmony_ciusing namespace std; 27060ff233Sopenharmony_ciusing namespace testing::ext; 28060ff233Sopenharmony_ci 29060ff233Sopenharmony_cinamespace OHOS { 30060ff233Sopenharmony_ciconst char *g_FileName = "example.txt"; 31060ff233Sopenharmony_ci 32060ff233Sopenharmony_ciclass AdapterDsoftbusOtherTest : public testing::Test { 33060ff233Sopenharmony_ciprotected: 34060ff233Sopenharmony_ci static void SetUpTestCase(void); 35060ff233Sopenharmony_ci static void TearDownTestCase(void); 36060ff233Sopenharmony_ci void SetUp(); 37060ff233Sopenharmony_ci void TearDown(); 38060ff233Sopenharmony_ci}; 39060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::SetUpTestCase(void) 40060ff233Sopenharmony_ci{ 41060ff233Sopenharmony_ci} 42060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::TearDownTestCase(void) 43060ff233Sopenharmony_ci{ 44060ff233Sopenharmony_ci int32_t ret = remove(g_FileName); 45060ff233Sopenharmony_ci if (ret == 0) { 46060ff233Sopenharmony_ci return; 47060ff233Sopenharmony_ci } 48060ff233Sopenharmony_ci} 49060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::SetUp(void) 50060ff233Sopenharmony_ci{ 51060ff233Sopenharmony_ci} 52060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::TearDown(void) 53060ff233Sopenharmony_ci{ 54060ff233Sopenharmony_ci} 55060ff233Sopenharmony_ci 56060ff233Sopenharmony_ci/* 57060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName001 58060ff233Sopenharmony_ci* @tc.desc: ifName is illegal 59060ff233Sopenharmony_ci* @tc.type: FUNC 60060ff233Sopenharmony_ci* @tc.require: 1 61060ff233Sopenharmony_ci*/ 62060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName001, TestSize.Level0) 63060ff233Sopenharmony_ci{ 64060ff233Sopenharmony_ci const char *ifName = "abcdefgh"; 65060ff233Sopenharmony_ci char netmask[] = "abcdefd"; 66060ff233Sopenharmony_ci char ip[32] = "0"; 67060ff233Sopenharmony_ci int32_t len = 10; 68060ff233Sopenharmony_ci int32_t ret = GetNetworkIpByIfName(ifName, ip, netmask, len); 69060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_ERR, ret); 70060ff233Sopenharmony_ci} 71060ff233Sopenharmony_ci 72060ff233Sopenharmony_ci/* 73060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName002 74060ff233Sopenharmony_ci* @tc.desc: ifName is nullptr 75060ff233Sopenharmony_ci* @tc.type: FUNC 76060ff233Sopenharmony_ci* @tc.require: 1 77060ff233Sopenharmony_ci*/ 78060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName002, TestSize.Level0) 79060ff233Sopenharmony_ci{ 80060ff233Sopenharmony_ci const char *ifName = "abcdefgh"; 81060ff233Sopenharmony_ci char netmask[] = "abcdefd"; 82060ff233Sopenharmony_ci char ip[32] = "0"; 83060ff233Sopenharmony_ci int32_t len = 10; 84060ff233Sopenharmony_ci int32_t ret = GetNetworkIpByIfName(NULL, ip, netmask, len); 85060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); 86060ff233Sopenharmony_ci 87060ff233Sopenharmony_ci ret = GetNetworkIpByIfName(ifName, NULL, netmask, len); 88060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret); 89060ff233Sopenharmony_ci} 90060ff233Sopenharmony_ci 91060ff233Sopenharmony_ci/* 92060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName003 93060ff233Sopenharmony_ci* @tc.desc: netmask is nullptr 94060ff233Sopenharmony_ci* @tc.type: FUNC 95060ff233Sopenharmony_ci* @tc.require: 1 96060ff233Sopenharmony_ci*/ 97060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName003, TestSize.Level0) 98060ff233Sopenharmony_ci{ 99060ff233Sopenharmony_ci const char *ifName = "abcdefgh"; 100060ff233Sopenharmony_ci char ip[32] = "0"; 101060ff233Sopenharmony_ci int32_t len = 10; 102060ff233Sopenharmony_ci int32_t ret = GetNetworkIpByIfName(ifName, ip, NULL, len); 103060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_ERR, ret); 104060ff233Sopenharmony_ci} 105060ff233Sopenharmony_ci 106060ff233Sopenharmony_ci/** 107060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_001 108060ff233Sopenharmony_ci * @tc.desc: Read File 109060ff233Sopenharmony_ci * @tc.type: FUNC 110060ff233Sopenharmony_ci * @tc.require: 1 111060ff233Sopenharmony_ci */ 112060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest001, TestSize.Level0) 113060ff233Sopenharmony_ci{ 114060ff233Sopenharmony_ci const char *writeBuf = "abcdef"; 115060ff233Sopenharmony_ci char readbuf[1024] = {"\0"}; 116060ff233Sopenharmony_ci int32_t maxLen = 100; 117060ff233Sopenharmony_ci int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, strlen(writeBuf)); 118060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_OK, ret); 119060ff233Sopenharmony_ci ret = SoftBusReadFullFile(g_FileName, readbuf, maxLen); 120060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_OK, ret); 121060ff233Sopenharmony_ci} 122060ff233Sopenharmony_ci 123060ff233Sopenharmony_ci/** 124060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_002 125060ff233Sopenharmony_ci * @tc.desc: g_FileName is null 126060ff233Sopenharmony_ci * @tc.type: FUNC 127060ff233Sopenharmony_ci * @tc.require: 1 128060ff233Sopenharmony_ci */ 129060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest002, TestSize.Level0) 130060ff233Sopenharmony_ci{ 131060ff233Sopenharmony_ci char readbuf[1024] = {"\0"}; 132060ff233Sopenharmony_ci int32_t maxLen = 100; 133060ff233Sopenharmony_ci int32_t ret = SoftBusReadFullFile(nullptr, readbuf, maxLen); 134060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 135060ff233Sopenharmony_ci 136060ff233Sopenharmony_ci ret = SoftBusReadFullFile(g_FileName, nullptr, maxLen); 137060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 138060ff233Sopenharmony_ci} 139060ff233Sopenharmony_ci 140060ff233Sopenharmony_ci/** 141060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_003 142060ff233Sopenharmony_ci * @tc.desc: maxLen is ivaild param 143060ff233Sopenharmony_ci * @tc.type: FUNC 144060ff233Sopenharmony_ci * @tc.require: 1 145060ff233Sopenharmony_ci */ 146060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest003, TestSize.Level0) 147060ff233Sopenharmony_ci{ 148060ff233Sopenharmony_ci char readbuf[1024] = {"\0"}; 149060ff233Sopenharmony_ci int32_t maxLen = 0; 150060ff233Sopenharmony_ci int32_t ret = SoftBusReadFullFile(g_FileName, readbuf, maxLen); 151060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 152060ff233Sopenharmony_ci} 153060ff233Sopenharmony_ci 154060ff233Sopenharmony_ci/** 155060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_001 156060ff233Sopenharmony_ci * @tc.desc: writeBuf isn't nullptr 157060ff233Sopenharmony_ci * @tc.type: FUNC 158060ff233Sopenharmony_ci * @tc.require: 1 159060ff233Sopenharmony_ci */ 160060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest001, TestSize.Level0) 161060ff233Sopenharmony_ci{ 162060ff233Sopenharmony_ci const char *writeBuf = "abcdef"; 163060ff233Sopenharmony_ci int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, strlen(writeBuf)); 164060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_OK, ret); 165060ff233Sopenharmony_ci} 166060ff233Sopenharmony_ci 167060ff233Sopenharmony_ci/** 168060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_002 169060ff233Sopenharmony_ci * @tc.desc: g_FileName and writeBuf is null 170060ff233Sopenharmony_ci * @tc.type: FUNC 171060ff233Sopenharmony_ci * @tc.require: 1 172060ff233Sopenharmony_ci */ 173060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest002, TestSize.Level0) 174060ff233Sopenharmony_ci{ 175060ff233Sopenharmony_ci const char *writeBuf = "abcdef"; 176060ff233Sopenharmony_ci int32_t ret = SoftBusWriteFile(nullptr, writeBuf, strlen(writeBuf)); 177060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 178060ff233Sopenharmony_ci 179060ff233Sopenharmony_ci ret = SoftBusWriteFile(g_FileName, nullptr, strlen(writeBuf)); 180060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 181060ff233Sopenharmony_ci} 182060ff233Sopenharmony_ci 183060ff233Sopenharmony_ci/** 184060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_003 185060ff233Sopenharmony_ci * @tc.desc: len is illegal 186060ff233Sopenharmony_ci * @tc.type: FUNC 187060ff233Sopenharmony_ci * @tc.require: 1 188060ff233Sopenharmony_ci */ 189060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest003, TestSize.Level0) 190060ff233Sopenharmony_ci{ 191060ff233Sopenharmony_ci const char *writeBuf = "abcdef"; 192060ff233Sopenharmony_ci int32_t len = 0; 193060ff233Sopenharmony_ci int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, len); 194060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 195060ff233Sopenharmony_ci 196060ff233Sopenharmony_ci int32_t len1 = -10; 197060ff233Sopenharmony_ci ret = SoftBusWriteFile(g_FileName, writeBuf, len1); 198060ff233Sopenharmony_ci EXPECT_EQ(SOFTBUS_FILE_ERR, ret); 199060ff233Sopenharmony_ci} 200060ff233Sopenharmony_ci 201060ff233Sopenharmony_ci/** 202060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_001 203060ff233Sopenharmony_ci * @tc.desc: size is zero 204060ff233Sopenharmony_ci * @tc.type: FUNC 205060ff233Sopenharmony_ci * @tc.require: 1 206060ff233Sopenharmony_ci */ 207060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest001, TestSize.Level0) 208060ff233Sopenharmony_ci{ 209060ff233Sopenharmony_ci void *ret = SoftBusMalloc(0); 210060ff233Sopenharmony_ci EXPECT_TRUE(ret != NULL); 211060ff233Sopenharmony_ci SoftBusFree(ret); 212060ff233Sopenharmony_ci} 213060ff233Sopenharmony_ci 214060ff233Sopenharmony_ci/** 215060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_002 216060ff233Sopenharmony_ci * @tc.desc: size is MAX_MALLOC_SIZE+1 217060ff233Sopenharmony_ci * @tc.type: FUNC 218060ff233Sopenharmony_ci * @tc.require: 1 219060ff233Sopenharmony_ci */ 220060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest002, TestSize.Level0) 221060ff233Sopenharmony_ci{ 222060ff233Sopenharmony_ci void *ret = SoftBusMalloc(MAX_MALLOC_SIZE + 1); 223060ff233Sopenharmony_ci EXPECT_EQ(NULL, ret); 224060ff233Sopenharmony_ci} 225060ff233Sopenharmony_ci 226060ff233Sopenharmony_ci/** 227060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_003 228060ff233Sopenharmony_ci * @tc.desc: size is -1 229060ff233Sopenharmony_ci * @tc.type: FUNC 230060ff233Sopenharmony_ci * @tc.require: 1 231060ff233Sopenharmony_ci */ 232060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest003, TestSize.Level0) 233060ff233Sopenharmony_ci{ 234060ff233Sopenharmony_ci void *ret = SoftBusMalloc(-1); 235060ff233Sopenharmony_ci EXPECT_EQ(NULL, ret); 236060ff233Sopenharmony_ci} 237060ff233Sopenharmony_ci 238060ff233Sopenharmony_ci/** 239060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_004 240060ff233Sopenharmony_ci * @tc.desc: size is MAX_MALLOC_SIZE 241060ff233Sopenharmony_ci * @tc.type: FUNC 242060ff233Sopenharmony_ci * @tc.require: 1 243060ff233Sopenharmony_ci */ 244060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest004, TestSize.Level0) 245060ff233Sopenharmony_ci{ 246060ff233Sopenharmony_ci void *ret = SoftBusMalloc(12); 247060ff233Sopenharmony_ci EXPECT_TRUE(ret != NULL); 248060ff233Sopenharmony_ci SoftBusFree(ret); 249060ff233Sopenharmony_ci} 250060ff233Sopenharmony_ci 251060ff233Sopenharmony_ci/** 252060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_FreeTest_001 253060ff233Sopenharmony_ci * @tc.desc: malloc size is 256 254060ff233Sopenharmony_ci * @tc.type: FUNC 255060ff233Sopenharmony_ci * @tc.require: 1 256060ff233Sopenharmony_ci */ 257060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusFreeTest001, TestSize.Level0) 258060ff233Sopenharmony_ci{ 259060ff233Sopenharmony_ci void *ret = SoftBusMalloc(256); 260060ff233Sopenharmony_ci EXPECT_TRUE(ret != NULL); 261060ff233Sopenharmony_ci SoftBusFree(ret); 262060ff233Sopenharmony_ci} 263060ff233Sopenharmony_ci 264060ff233Sopenharmony_ci/** 265060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_001 266060ff233Sopenharmony_ci * @tc.desc: calloc size is zero 267060ff233Sopenharmony_ci * @tc.type: FUNC 268060ff233Sopenharmony_ci * @tc.require: 1 269060ff233Sopenharmony_ci */ 270060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest001, TestSize.Level0) 271060ff233Sopenharmony_ci{ 272060ff233Sopenharmony_ci void *ret = SoftBusCalloc(0); 273060ff233Sopenharmony_ci EXPECT_TRUE(ret != NULL); 274060ff233Sopenharmony_ci SoftBusFree(ret); 275060ff233Sopenharmony_ci} 276060ff233Sopenharmony_ci 277060ff233Sopenharmony_ci/** 278060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_002 279060ff233Sopenharmony_ci * @tc.desc: calloc size is 22 280060ff233Sopenharmony_ci * @tc.type: FUNC 281060ff233Sopenharmony_ci * @tc.require: 1 282060ff233Sopenharmony_ci */ 283060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest002, TestSize.Level0) 284060ff233Sopenharmony_ci{ 285060ff233Sopenharmony_ci void *ret = SoftBusCalloc(22); 286060ff233Sopenharmony_ci EXPECT_TRUE(ret != NULL); 287060ff233Sopenharmony_ci SoftBusFree(ret); 288060ff233Sopenharmony_ci} 289060ff233Sopenharmony_ci 290060ff233Sopenharmony_ci/** 291060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_003 292060ff233Sopenharmony_ci * @tc.desc: calloc size is 256 293060ff233Sopenharmony_ci * @tc.type: FUNC 294060ff233Sopenharmony_ci * @tc.require: 1 295060ff233Sopenharmony_ci */ 296060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest003, TestSize.Level0) 297060ff233Sopenharmony_ci{ 298060ff233Sopenharmony_ci void *ret = SoftBusCalloc(-1); 299060ff233Sopenharmony_ci EXPECT_EQ(NULL, ret); 300060ff233Sopenharmony_ci} 301060ff233Sopenharmony_ci 302060ff233Sopenharmony_ci/** 303060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_004 304060ff233Sopenharmony_ci * @tc.desc: calloc size is 256 305060ff233Sopenharmony_ci * @tc.type: FUNC 306060ff233Sopenharmony_ci * @tc.require: 1 307060ff233Sopenharmony_ci */ 308060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest004, TestSize.Level0) 309060ff233Sopenharmony_ci{ 310060ff233Sopenharmony_ci void *ret = SoftBusCalloc(MAX_MALLOC_SIZE + 1); 311060ff233Sopenharmony_ci EXPECT_EQ(NULL, ret); 312060ff233Sopenharmony_ci} 313060ff233Sopenharmony_ci 314060ff233Sopenharmony_ci} 315