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 12namespace { 13 14class NTDLLCacheTest : public testing::Test { 15 protected: 16 virtual void SetUp() OVERRIDE { 17 InitCache(); 18 } 19 20}; 21 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