diff options
Diffstat (limited to 'chrome_elf/ntdll_cache_unittest.cc')
-rw-r--r-- | chrome_elf/ntdll_cache_unittest.cc | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/chrome_elf/ntdll_cache_unittest.cc b/chrome_elf/ntdll_cache_unittest.cc new file mode 100644 index 0000000..3ecc086 --- /dev/null +++ b/chrome_elf/ntdll_cache_unittest.cc @@ -0,0 +1,32 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <windows.h> + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "chrome_elf/ntdll_cache.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +class NTDLLCacheTest : public testing::Test { + protected: + virtual void SetUp() OVERRIDE { + InitCache(); + } + +}; + +TEST_F(NTDLLCacheTest, NtDLLCacheSanityCheck) { + HMODULE ntdll_handle = ::GetModuleHandle(L"ntdll.dll"); + // Grab a couple random entries from the cache and make sure they match the + // addresses exported by ntdll. + EXPECT_EQ(::GetProcAddress(ntdll_handle, "A_SHAFinal"), + g_ntdll_lookup["A_SHAFinal"]); + EXPECT_EQ(::GetProcAddress(ntdll_handle, "ZwTraceControl"), + g_ntdll_lookup["ZwTraceControl"]); +} + +} // namespace |