Index: chrome/app/delay_load_hook_unittest_win.cc |
diff --git a/chrome/app/delay_load_hook_unittest_win.cc b/chrome/app/delay_load_hook_unittest_win.cc |
deleted file mode 100644 |
index 665e8815ed60d8801d69f4506f2749975154529c..0000000000000000000000000000000000000000 |
--- a/chrome/app/delay_load_hook_unittest_win.cc |
+++ /dev/null |
@@ -1,84 +0,0 @@ |
-// Copyright (c) 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 <DelayIMP.h> |
- |
-#include "base/compiler_specific.h" |
-#include "base/scoped_native_library.h" |
-#include "chrome/app/delay_load_hook_win.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace { |
- |
-class ChromeDelayLoadHookTest : public testing::Test { |
- public: |
- ChromeDelayLoadHookTest() : proc_ptr_(NULL) { |
- } |
- |
- void SetUp() override { |
- SetupInfo("kernel32.dll"); |
- } |
- |
- void SetupInfo(const char* dll_name) { |
- info_.cb = sizeof(info_); |
- info_.pidd = NULL; |
- info_.ppfn = &proc_ptr_; |
- info_.szDll = dll_name; |
- info_.dlp.fImportByName = TRUE; |
- info_.dlp.szProcName = "CreateFileA"; |
- info_.hmodCur = NULL; |
- info_.pfnCur = NULL; |
- info_.dwLastError = 0; |
- } |
- |
- FARPROC proc_ptr_; |
- DelayLoadInfo info_; |
-}; |
- |
-} // namespace |
- |
-TEST_F(ChromeDelayLoadHookTest, HooksAreSetAtLinkTime) { |
- // This test verifies that referencing the ChromeDelayLoadHook at link |
- // time results in overriding the delay loader's hook instances in the CRT |
- // ropriately. |
- EXPECT_TRUE(__pfnDliNotifyHook2 == ChromeDelayLoadHook); |
- EXPECT_TRUE(__pfnDliFailureHook2 == ChromeDelayLoadHook); |
-} |
- |
-TEST_F(ChromeDelayLoadHookTest, NonSuffixedDllsAreNotHandled) { |
- // The hook should ignore non-suffixed DLLs. |
- SetupInfo("kernel32.dll"); |
- |
- HMODULE none = reinterpret_cast<HMODULE>( |
- ChromeDelayLoadHook(dliNotePreLoadLibrary, &info_)); |
- // Make sure the library is released on exit. |
- base::ScopedNativeLibrary lib_holder(none); |
- |
- ASSERT_TRUE(none == NULL); |
-} |
- |
-TEST_F(ChromeDelayLoadHookTest, SuffixedDllsAreRedirected) { |
- // Check that a DLL name of the form "foo-delay.dll" gets redirected to |
- // the "foo.dll". |
- SetupInfo("kernel32-delay.dll"); |
- HMODULE kernel32 = reinterpret_cast<HMODULE>( |
- ChromeDelayLoadHook(dliNotePreLoadLibrary, &info_)); |
- |
- // Make sure the library is released on exit. |
- base::ScopedNativeLibrary lib_holder(kernel32); |
- |
- ASSERT_TRUE(kernel32 == ::GetModuleHandle(L"kernel32.dll")); |
-} |
- |
-TEST_F(ChromeDelayLoadHookTest, IgnoresUnhandledNotifications) { |
- SetupInfo("kernel32-delay.dll"); |
- |
- // The hook should ignore all notifications but the preload notifications. |
- EXPECT_TRUE(ChromeDelayLoadHook(dliNoteStartProcessing, &info_) == NULL); |
- EXPECT_TRUE(ChromeDelayLoadHook(dliNotePreGetProcAddress, &info_) == NULL); |
- EXPECT_TRUE(ChromeDelayLoadHook(dliNoteEndProcessing, &info_) == NULL); |
- EXPECT_TRUE(ChromeDelayLoadHook(dliFailLoadLib, &info_) == NULL); |
- EXPECT_TRUE(ChromeDelayLoadHook(dliFailGetProc, &info_) == NULL); |
-} |