patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -19,7 +19,7 @@ using namespace oceanbase;
using namespace oceanbase::lib;
using namespace oceanbase::common;
int main(int argc, char* argv[])
int main(int argc, char *argv[])
{
oceanbase::common::ObLogger::get_logger().set_log_level("INFO");
OB_LOGGER.set_log_level("INFO");
@ -27,15 +27,21 @@ int main(int argc, char* argv[])
return RUN_ALL_TESTS();
}
class TestMallocHook : public ::testing::Test {
class TestMallocHook
: public ::testing::Test
{
public:
virtual void SetUp()
{}
{
}
virtual void TearDown()
{}
{
}
};
#if 0
TEST_F(TestMallocHook, Basic)
{
const static size_t size = 100;
@ -48,15 +54,15 @@ TEST_F(TestMallocHook, Basic)
lib::glibc_hook_opt = GHO_NONULL;
}
bool from_glibc = 0 == i;
void* ptr = nullptr;
void *ptr = nullptr;
// calloc
char zero_buf[100];
memset(zero_buf, 0, 100);
memset(zero_buf, 0 , 100);
ptr = calloc(10, 10);
ASSERT_NE(ptr, nullptr);
memset(ptr, 0, size);
HookHeader* header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
HookHeader *header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
ASSERT_TRUE(header->from_glibc_ == from_glibc);
ASSERT_EQ(header->data_size_, 10 * 10);
// check 0
@ -74,7 +80,7 @@ TEST_F(TestMallocHook, Basic)
memcpy(ptr, buf, size);
// realloc
void* new_ptr = realloc(ptr, size * 2);
void *new_ptr = realloc(ptr, size * 2);
ASSERT_NE(new_ptr, nullptr);
header = reinterpret_cast<HookHeader*>((char*)new_ptr - HOOK_HEADER_SIZE);
ASSERT_TRUE(header->from_glibc_ == from_glibc);
@ -140,34 +146,35 @@ TEST_F(TestMallocHook, Basic)
for (int i = 0; i < 2; i++) {
lib::glibc_hook_opt = 0 == i ? GHO_NOHOOK : GHO_HOOK;
bool from_glibc = 0 == i;
void* ptr = malloc(size);
void *ptr = malloc(size);
ASSERT_NE(ptr, nullptr);
HookHeader* header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
HookHeader *header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
ASSERT_TRUE(header->from_glibc_ == from_glibc);
char buf[size];
memset(buf, 'a', size);
memcpy(ptr, buf, size);
lib::glibc_hook_opt = 0 == i ? GHO_HOOK : GHO_NOHOOK;
void* new_ptr = realloc(ptr, size * 2);
void *new_ptr = realloc(ptr, size * 2);
ASSERT_NE(new_ptr, nullptr);
header = reinterpret_cast<HookHeader*>((char*)new_ptr - HOOK_HEADER_SIZE);
ASSERT_TRUE(header->from_glibc_ == !from_glibc);
ASSERT_EQ(header->data_size_, size * 2);
ASSERT_EQ(0, memcmp(new_ptr, buf, size));
lib::glibc_hook_opt = 0 == i ? GHO_NOHOOK : GHO_HOOK;
void* ret = realloc(new_ptr, 0);
void *ret = realloc(new_ptr, 0);
ASSERT_EQ(ret, nullptr);
}
// strdup
char* str = strdup("test");
HookHeader* header = reinterpret_cast<HookHeader*>((char*)str - HOOK_HEADER_SIZE);
char *str = strdup("test");
HookHeader *header = reinterpret_cast<HookHeader*>((char*)str - HOOK_HEADER_SIZE);
ASSERT_EQ(0, strcmp(str, "test"));
ASSERT_EQ(header->MAGIC_CODE_, HOOK_MAGIC_CODE);
#ifdef NDEBUG
memset(header, 0, sizeof(HookHeader));
memset(header, 0 , sizeof(HookHeader));
// Avoid order rearrangement
std::cout << str << std::endl;
#endif
free(str);
}
#endif