aboutsummaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sanitizer_common/tests/sanitizer_procmaps_test.cc')
-rw-r--r--lib/sanitizer_common/tests/sanitizer_procmaps_test.cc79
1 files changed, 0 insertions, 79 deletions
diff --git a/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc b/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
deleted file mode 100644
index 22052d9a4f59..000000000000
--- a/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-//===-- sanitizer_procmaps_test.cc ----------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file is a part of ThreadSanitizer/AddressSanitizer runtime.
-//
-//===----------------------------------------------------------------------===//
-#if !defined(_WIN32) // There are no /proc/maps on Windows.
-
-#include "sanitizer_common/sanitizer_procmaps.h"
-#include "gtest/gtest.h"
-
-#include <stdlib.h>
-
-static void noop() {}
-extern const char *argv0;
-
-namespace __sanitizer {
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-TEST(MemoryMappingLayout, CodeRange) {
- uptr start, end;
- bool res = GetCodeRangeForFile("[vdso]", &start, &end);
- EXPECT_EQ(res, true);
- EXPECT_GT(start, 0U);
- EXPECT_LT(start, end);
-}
-#endif
-
-TEST(MemoryMappingLayout, DumpListOfModules) {
- const char *last_slash = strrchr(argv0, '/');
- const char *binary_name = last_slash ? last_slash + 1 : argv0;
- MemoryMappingLayout memory_mapping(false);
- const uptr kMaxModules = 100;
- InternalMmapVector<LoadedModule> modules;
- modules.reserve(kMaxModules);
- memory_mapping.DumpListOfModules(&modules);
- EXPECT_GT(modules.size(), 0U);
- bool found = false;
- for (uptr i = 0; i < modules.size(); ++i) {
- if (modules[i].containsAddress((uptr)&noop)) {
- // Verify that the module name is sane.
- if (strstr(modules[i].full_name(), binary_name) != 0)
- found = true;
- }
- modules[i].clear();
- }
- EXPECT_TRUE(found);
-}
-
-TEST(MemoryMapping, LoadedModuleArchAndUUID) {
- if (SANITIZER_MAC) {
- MemoryMappingLayout memory_mapping(false);
- const uptr kMaxModules = 100;
- InternalMmapVector<LoadedModule> modules;
- modules.reserve(kMaxModules);
- memory_mapping.DumpListOfModules(&modules);
- for (uptr i = 0; i < modules.size(); ++i) {
- ModuleArch arch = modules[i].arch();
- // Darwin unit tests are only run on i386/x86_64/x86_64h.
- if (SANITIZER_WORDSIZE == 32) {
- EXPECT_EQ(arch, kModuleArchI386);
- } else if (SANITIZER_WORDSIZE == 64) {
- EXPECT_TRUE(arch == kModuleArchX86_64 || arch == kModuleArchX86_64H);
- }
- const u8 *uuid = modules[i].uuid();
- u8 null_uuid[kModuleUUIDSize] = {0};
- EXPECT_NE(memcmp(null_uuid, uuid, kModuleUUIDSize), 0);
- }
- }
-}
-
-} // namespace __sanitizer
-#endif // !defined(_WIN32)