| // 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 |