1 #include <arpa/inet.h> 2 #include <endian.h> 3 #include <gtest/gtest.h> 4 using namespace testing::ext; 5 6 class FortifyTest : public testing::Test { SetUp()7 void SetUp() override {} TearDown()8 void TearDown() override {} 9 }; 10 11 /** 12 * @tc.name: __send_chk_001 13 * @tc.desc: Testing that the __send_chk function can be able to transmit data correctly 14 * @tc.type: FUNC 15 **/ 16 HWTEST_F(FortifyTest, __send_chk_001, TestSize.Level1) 17 { 18 struct sockaddr_in addr; 19 int sockfd = socket(AF_INET, SOCK_DGRAM, 0); 20 EXPECT_NE(-1, sockfd); 21 addr.sin_family = AF_INET; 22 addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); 23 addr.sin_port = htons(1234); 24 EXPECT_NE(-1, connect(sockfd, reinterpret_cast<struct sockaddr*>(&addr), sizeof(addr))); 25 const void* buf[BUFSIZ]; 26 27 int retval = __send_chk(sockfd, buf, 0, sizeof(addr), 0); 28 EXPECT_NE(-1, retval); 29 close(sockfd); 30 } 31 32 /** 33 * @tc.name: __send_chk_002 34 * @tc.desc: Return -1 when testing for incorrect parameters passed in 35 * @tc.type: FUNC 36 **/ 37 HWTEST_F(FortifyTest, __send_chk_002, TestSize.Level1) 38 { 39 int result = __send_chk(-1, nullptr, 0, 0, 0); 40 EXPECT_EQ(-1, result); 41 }