1 #include <gtest/gtest.h> 2 #include <sys/mman.h> 3 4 using namespace testing::ext; 5 6 class HookMunmapTest : public testing::Test { SetUp()7 void SetUp() override {} TearDown()8 void TearDown() override {} 9 }; 10 11 #define MMAP_SIZE 2048 12 13 /** 14 * @tc.name: munmap_001 15 * @tc.desc: Verify the use of the munmap function to release memory, and expect a return value of 0 to indicate 16 * successful release of the specified memory block. 17 * @tc.type: FUNC 18 */ 19 HWTEST_F(HookMunmapTest, munmap_001, TestSize.Level1) 20 { 21 void* ptr = mmap(nullptr, MMAP_SIZE, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); 22 ASSERT_NE(MAP_FAILED, ptr); 23 EXPECT_TRUE(munmap(ptr, MMAP_SIZE) == 0); 24 } 25 26 /** 27 * @tc.name: munmap_002 28 * @tc.desc: Verify the use of the munmap function to release memory, and expect a return value of 0 to indicate 29 * successful release of the specified memory block. 30 * @tc.type: FUNC 31 */ 32 HWTEST_F(HookMunmapTest, munmap_002, TestSize.Level1) 33 { 34 void* ptr = mmap64(nullptr, MMAP_SIZE, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0); 35 ASSERT_NE(MAP_FAILED, ptr); 36 EXPECT_TRUE(munmap(ptr, MMAP_SIZE) == 0); 37 }