aboutsummaryrefslogtreecommitdiff
path: root/absl/base/internal/malloc_extension_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2018-04-18 05:56:39 -0700
committerJon Cohen <cohenjon@google.com>2018-04-19 10:19:32 -0400
commit5b535401665cc6aa96d54a5c9b0901153d97210f (patch)
tree8d45863656540c8ec81eb7d2742c9191c33ca935 /absl/base/internal/malloc_extension_test.cc
parenta7e522daf1ec9cda69b356472f662142dd0c1215 (diff)
downloadabseil-5b535401665cc6aa96d54a5c9b0901153d97210f.tar.gz
abseil-5b535401665cc6aa96d54a5c9b0901153d97210f.tar.bz2
abseil-5b535401665cc6aa96d54a5c9b0901153d97210f.zip
- ed0ba496fe01eb8edfa86beade8a37768e7c12ef Updates the API for Exception Safety testing to use build... by Abseil Team <absl-team@google.com>
- c4b7a4e517c9404932c45f2f9f92eb7dc694e45d Internal change by Abseil Team <absl-team@google.com> - 76c78ed9385f65d881511645446e0bb8ababf6ec Add missing ABSL_PREDICT_FALSE to one of FixedArray::at()... by Abseil Team <absl-team@google.com> - 1204fb1c46f007dd9dfb7d9abf3e96c58835d193 Internal change. by Greg Falcon <gfalcon@google.com> - f1f47c98a026bc5e425ae83ff4a2eb391bbd3d9b Add internal-only functionality to examine the stack, to ... by Derek Mauro <dmauro@google.com> - 30d63097cd268d912f917526f6511005580465c4 fix typo by Abseil Team <absl-team@google.com> - 942d7efa6cf54cd248ca57dcaf3c245188b52a76 Remove unnecessary semicolons from comment examples. by Abseil Team <absl-team@google.com> - 7db0669cf23a06d934d3ed8c76aee4e4e23b7e04 Remove malloc_hook and malloc_extension from our internal... by Greg Falcon <gfalcon@google.com> - 0190f1063d101b1ded355019df2e1d325931f6c7 Make the maximum length of a string view equal difference... by Abseil Team <absl-team@google.com> - c8ae37cbce29449b02115a0ebd435ddc3d7ab062 Add namespace qualification. by Shaindel Schwartz <shaindel@google.com> - ff70afe2e6e3dd39f51ce9829e3e1f18231bf4d7 Fix internal/direct_mmap.h for non-linux builds. by Greg Falcon <gfalcon@google.com> GitOrigin-RevId: ed0ba496fe01eb8edfa86beade8a37768e7c12ef Change-Id: I7595ee3480d1d6724fd3797c15ba9d9be0d17e62
Diffstat (limited to 'absl/base/internal/malloc_extension_test.cc')
-rw-r--r--absl/base/internal/malloc_extension_test.cc79
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