diff options
Diffstat (limited to 'absl/base/internal/malloc_extension_test.cc')
-rw-r--r-- | absl/base/internal/malloc_extension_test.cc | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/absl/base/internal/malloc_extension_test.cc b/absl/base/internal/malloc_extension_test.cc deleted file mode 100644 index 76605eb1..00000000 --- a/absl/base/internal/malloc_extension_test.cc +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2017 The Abseil Authors. - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <algorithm> -#include <cstdlib> - -#include "gtest/gtest.h" -#include "absl/base/internal/malloc_extension.h" - -namespace absl { -namespace base_internal { -namespace { - -TEST(MallocExtension, MallocExtension) { - void* a = malloc(1000); - - size_t cxx_bytes_used, c_bytes_used; - if (!MallocExtension::instance()->GetNumericProperty( - "generic.current_allocated_bytes", &cxx_bytes_used)) { - EXPECT_TRUE(ABSL_MALLOC_EXTENSION_TEST_ALLOW_MISSING_EXTENSION); - } else { - ASSERT_TRUE(MallocExtension::instance()->GetNumericProperty( - "generic.current_allocated_bytes", &cxx_bytes_used)); -#ifndef MEMORY_SANITIZER - EXPECT_GT(cxx_bytes_used, 1000); - EXPECT_GT(c_bytes_used, 1000); -#endif - - EXPECT_TRUE(MallocExtension::instance()->VerifyAllMemory()); - - EXPECT_EQ(MallocExtension::kOwned, - MallocExtension::instance()->GetOwnership(a)); - // TODO(csilvers): this relies on undocumented behavior that - // GetOwnership works on stack-allocated variables. Use a better test. - EXPECT_EQ(MallocExtension::kNotOwned, - MallocExtension::instance()->GetOwnership(&cxx_bytes_used)); - EXPECT_EQ(MallocExtension::kNotOwned, - MallocExtension::instance()->GetOwnership(nullptr)); - EXPECT_GE(MallocExtension::instance()->GetAllocatedSize(a), 1000); - // This is just a sanity check. If we allocated too much, tcmalloc is - // broken - EXPECT_LE(MallocExtension::instance()->GetAllocatedSize(a), 5000); - EXPECT_GE(MallocExtension::instance()->GetEstimatedAllocatedSize(1000), - 1000); - for (int i = 0; i < 10; ++i) { - void* p = malloc(i); - EXPECT_GE(MallocExtension::instance()->GetAllocatedSize(p), - MallocExtension::instance()->GetEstimatedAllocatedSize(i)); - free(p); - } - } - - free(a); -} - -TEST(nallocx, SaneBehavior) { - for (size_t size = 0; size < 64 * 1024; ++size) { - size_t alloc_size = nallocx(size, 0); - EXPECT_LE(size, alloc_size) << "size is " << size; - EXPECT_LE(alloc_size, std::max(size + 100, 2 * size)) << "size is " << size; - } -} - -} // namespace -} // namespace base_internal -} // namespace absl |