1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include <windows.h> 6 7 #include "base/basictypes.h" 8 #include "base/compiler_specific.h" 9 #include "chrome_elf/ntdll_cache.h" 10 #include "testing/gtest/include/gtest/gtest.h" 11 12 namespace { 13 14 class NTDLLCacheTest : public testing::Test { 15 protected: SetUp()16 virtual void SetUp() OVERRIDE { 17 InitCache(); 18 } 19 20 }; 21 TEST_F(NTDLLCacheTest,NtDLLCacheSanityCheck)22TEST_F(NTDLLCacheTest, NtDLLCacheSanityCheck) { 23 HMODULE ntdll_handle = ::GetModuleHandle(L"ntdll.dll"); 24 // Grab a couple random entries from the cache and make sure they match the 25 // addresses exported by ntdll. 26 EXPECT_EQ(::GetProcAddress(ntdll_handle, "A_SHAFinal"), 27 g_ntdll_lookup["A_SHAFinal"]); 28 EXPECT_EQ(::GetProcAddress(ntdll_handle, "ZwTraceControl"), 29 g_ntdll_lookup["ZwTraceControl"]); 30 } 31 32 } // namespace 33