| Index: base/app_util_unittest.cc
|
| diff --git a/base/app_util_unittest.cc b/base/app_util_unittest.cc
|
| deleted file mode 100644
|
| index ca938f08269bf74e97f68cc7107d26c797ff9fd7..0000000000000000000000000000000000000000
|
| --- a/base/app_util_unittest.cc
|
| +++ /dev/null
|
| @@ -1,147 +0,0 @@
|
| -// Copyright 2004-2010 Google Inc.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -// ========================================================================
|
| -
|
| -#include <atlpath.h>
|
| -#include "omaha/base/app_util.h"
|
| -#include "omaha/base/constants.h"
|
| -#include "omaha/base/file.h"
|
| -#include "omaha/base/string.h"
|
| -#include "omaha/base/utils.h"
|
| -#include "omaha/base/vistautil.h"
|
| -#include "omaha/testing/unit_test.h"
|
| -
|
| -const TCHAR* const kKernel32Name = L"kernel32.dll";
|
| -const TCHAR* const kShell32Name = L"shell32.dll";
|
| -const TCHAR* const kComCtl32Name = L"comctl32.dll";
|
| -
|
| -namespace omaha {
|
| -
|
| -namespace app_util {
|
| -
|
| -TEST(AppUtilTest, AppUtil) {
|
| - HMODULE module = NULL;
|
| - CString name;
|
| - struct Local {
|
| - static void Func() {}
|
| - };
|
| -
|
| - // First test the functionality for EXE applications.
|
| -
|
| - // Test the app name.
|
| - name = GetAppName();
|
| - EXPECT_STREQ(kUnittestName, name);
|
| -
|
| - // Test the module name.
|
| - name = GetCurrentModuleName();
|
| - EXPECT_STREQ(kUnittestName, name);
|
| -
|
| - // Test the app name w/o extension.
|
| - name = GetAppNameWithoutExtension() + L".exe";
|
| - EXPECT_STREQ(kUnittestName, name);
|
| -
|
| - // Test the module name w/o extension.
|
| - name = GetCurrentModulePath();
|
| - EXPECT_STREQ(GetCurrentModuleDirectory() + L"\\" + kUnittestName, name);
|
| -
|
| - // Test the module path and directory.
|
| - name = GetCurrentModuleName();
|
| - EXPECT_STREQ(kUnittestName, name);
|
| -
|
| - // Test an address.
|
| - module = GetCurrentModuleHandle();
|
| - EXPECT_TRUE(IsAddressInCurrentModule(module + 0x1));
|
| - EXPECT_TRUE(IsAddressInCurrentModule(&Local::Func));
|
| - EXPECT_FALSE(IsAddressInCurrentModule(reinterpret_cast<void*>(0x1)));
|
| -
|
| - // Test the functionality for DLL modules.
|
| - // Use kernel32.dll
|
| -
|
| - // Get the loading address of kernel32.
|
| - HMODULE kernel32Module = ::LoadLibrary(kKernel32Name);
|
| - EXPECT_TRUE(kernel32Module != NULL);
|
| -
|
| - // Test the dll module handle using an address.
|
| - module = GetModuleHandleFromAddress(::ReadFile);
|
| - EXPECT_EQ(kernel32Module, module);
|
| -
|
| - CString system_path;
|
| - EXPECT_SUCCEEDED(GetFolderPath(CSIDL_SYSTEMX86, &system_path));
|
| -
|
| - // Test the dll module directory.
|
| - name = GetModuleDirectory(module);
|
| - EXPECT_EQ(0, name.CompareNoCase(system_path));
|
| -
|
| - // Test the dll module path.
|
| - name = GetModulePath(module);
|
| - EXPECT_EQ(0, name.CompareNoCase(system_path + L"\\" + kKernel32Name));
|
| -
|
| - // Test the dll module name.
|
| - name = GetModuleName(module);
|
| - EXPECT_EQ(0, name.CompareNoCase(kKernel32Name));
|
| -
|
| - // Other checks.
|
| - EXPECT_FALSE(GetWindowsDir().IsEmpty());
|
| - EXPECT_FALSE(GetHostName().IsEmpty());
|
| - EXPECT_FALSE(GetTempDir().IsEmpty());
|
| - EXPECT_TRUE(String_EndsWith(GetTempDir(), _T("\\"), false));
|
| -
|
| - // DLL versioning.
|
| - // For the tests to succeed, shell32.dll must be loaded in memory.
|
| - HMODULE shell32Module = ::LoadLibrary(kShell32Name);
|
| - EXPECT_NE(0, DllGetVersion(GetSystemDir() + L"\\" + kShell32Name));
|
| - EXPECT_NE(0, DllGetVersion(kShell32Name));
|
| - EXPECT_NE(0, SystemDllGetVersion(kShell32Name));
|
| -
|
| - // For the tests to succeed, comctl32.dll must be loaded in memory.
|
| - // ComCtl32 may be loaded from a side-by-side (WinSxS) directory, so it is not
|
| - // practical to do a full-path or SystemDllGetVersion test with it.
|
| - HMODULE comctl32_module = ::LoadLibrary(kComCtl32Name);
|
| - EXPECT_NE(0, DllGetVersion(kComCtl32Name));
|
| -
|
| - // kernel32 does not export DllGetVersion.
|
| - EXPECT_EQ(0, SystemDllGetVersion(kKernel32Name));
|
| -
|
| - // Module clean-up.
|
| - EXPECT_TRUE(::FreeLibrary(comctl32_module));
|
| - EXPECT_TRUE(::FreeLibrary(shell32Module));
|
| - EXPECT_TRUE(::FreeLibrary(kernel32Module));
|
| -}
|
| -
|
| -TEST(AppUtilTest, GetVersionFromModule) {
|
| - EXPECT_EQ(OMAHA_BUILD_VERSION, GetVersionFromModule(NULL));
|
| -}
|
| -
|
| -TEST(AppUtilTest, GetVersionFromFile) {
|
| - CPath goopdate_path(GetCurrentModuleDirectory());
|
| - ASSERT_TRUE(goopdate_path.Append(kUnittestName));
|
| - ASSERT_TRUE(File::Exists(goopdate_path));
|
| -
|
| - EXPECT_EQ(OMAHA_BUILD_VERSION, GetVersionFromFile(goopdate_path));
|
| -}
|
| -
|
| -TEST(AppUtilTest, GetTempDirForImpersonatedOrCurrentUser) {
|
| - // The behavior should be the same when the code is not running impersonated.
|
| - EXPECT_STREQ(GetTempDir(), GetTempDirForImpersonatedOrCurrentUser());
|
| -
|
| - // The behavior should be the same when the code impersonates as self.
|
| - EXPECT_TRUE(::ImpersonateSelf(SecurityImpersonation));
|
| - EXPECT_STREQ(GetTempDir(), GetTempDirForImpersonatedOrCurrentUser());
|
| -
|
| - EXPECT_TRUE(::RevertToSelf());
|
| -}
|
| -
|
| -} // namespace app_util
|
| -
|
| -} // namespace omaha
|
|
|