Index: testing/unit_test.h |
diff --git a/testing/unit_test.h b/testing/unit_test.h |
deleted file mode 100644 |
index b861f6cde592ec04574b90fc7550abbc0cee4224..0000000000000000000000000000000000000000 |
--- a/testing/unit_test.h |
+++ /dev/null |
@@ -1,247 +0,0 @@ |
-// Copyright 2007-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. |
-// ======================================================================== |
-// |
-// Common include file for unit testing. |
- |
-#ifndef OMAHA_TESTING_UNIT_TEST_H_ |
-#define OMAHA_TESTING_UNIT_TEST_H_ |
- |
-#include <windows.h> |
-#include <atlstr.h> |
-#include "base/scoped_ptr.h" |
-#include "omaha/testing/unittest_debug_helper.h" |
-#pragma warning(push) |
-// C4628: digraphs not supported with -Ze. |
-#pragma warning(disable : 4628) |
-// C4826: Conversion from 'TYPE *' to 'testing::internal::UInt64' is |
-// sign-extended. This may cause unexpected runtime behavior. |
-// Caused by a hack in DefaultPrintTo. |
-#pragma warning(disable : 4826) |
-#include "omaha/third_party/gmock/include/gmock/gmock.h" |
-#pragma warning(pop) |
-#include "omaha/third_party/gtest/include/gtest/gtest.h" |
- |
-namespace omaha { |
- |
-const TCHAR* const kUnittestName = _T("omaha_unittest.exe"); |
- |
-// Predicates needed by ASSERT_PRED1 for function returning an HRESULT. |
-inline testing::AssertionResult Succeeded(const char* s, HRESULT hr) { |
- if (SUCCEEDED(hr)) { |
- return testing::AssertionSuccess(); |
- } else { |
- CStringA text; |
- text.AppendFormat("%s failed with error 0x%08x", s, hr); |
- testing::Message msg; |
- msg << text; |
- return testing::AssertionFailure(msg); |
- } |
-} |
- |
-inline testing::AssertionResult Failed(const char* s, HRESULT hr) { |
- if (FAILED(hr)) { |
- return testing::AssertionSuccess(); |
- } else { |
- CStringA text; |
- text.AppendFormat("%s failed with error 0x%08x", s, hr); |
- testing::Message msg; |
- msg << text; |
- return testing::AssertionFailure(msg); |
- } |
-} |
- |
-// Returns true if the variable exists in the environment, even if it is "0". |
-bool IsEnvironmentVariableSet(const TCHAR* name); |
- |
-// Returns true if current unit test process owner is LOCALSYSTEM. |
-bool IsTestRunByLocalSystem(); |
- |
-// Returns the path to the base local app data directory for the user on the |
-// current OS. |
-CString GetLocalAppDataPath(); |
- |
-// Returns the path to the base Google directory for the user on the current OS. |
-CString GetGoogleUserPath(); |
- |
-// Returns the path to the base Google Update directory for the user on the |
-// current OS. |
-CString GetGoogleUpdateUserPath(); |
- |
-// Returns the path to the base Google Update directory for the per-machine |
-// install on the current OS. |
-CString GetGoogleUpdateMachinePath(); |
- |
-// Returns a DWORD registry value from the registry. Assumes the value exists. |
-// Useful for inline comparisons in EXPECT_EQ. |
-DWORD GetDwordValue(const CString& full_key_name, const CString& value_name); |
- |
-// Returns a SZ registry value from the registry. Assumes the value exists. |
-// Useful for inline comparisons in EXPECT_STREQ. |
-CString GetSzValue(const CString& full_key_name, const CString& value_name); |
- |
-// Converts string to GUID. Assumes the string is a valid GUID. |
-GUID StringToGuid(const CString& str); |
- |
-const TCHAR* const kRegistryHiveOverrideRoot = |
- _T("HKCU\\Software\\") _T(SHORT_COMPANY_NAME_ANSI) |
- _T("\\") _T(PRODUCT_NAME_ANSI) |
- _T("\\UnitTest\\"); |
-const TCHAR* const kCsidlSystemIdsRegKey = |
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion"); |
-const TCHAR* const kCsidlProgramFilesRegValue = |
- _T("ProgramFilesDir"); |
- |
-// TODO(omaha): consider renaming hive_override_key_name to new_key. |
-// TODO(omaha): consider making these utility functions, maybe extend the |
-// RegKey class. |
-// |
-// Overrides the HKLM and HKCU registry hives so that accesses go to the |
-// specified registry key instead. The function creates the |
-// hive_override_key_name. In other words, overriding HKCU with |
-// "HKCU\\Software\\Google\\Update\\UnitTest\\" and accessing HKCU\\Foo results |
-// in an access at "HKCU\\Software\\Google\\Update\\UnitTest\\Foo". |
-// This method is most often used in SetUp(). |
-void OverrideRegistryHives(const CString& hive_override_key_name); |
- |
-// Overrides only the specified hives. |
-// This is useful when modifying registry settings in one hive while using |
-// code (e.g. WinHttp) that relies on valid registry entries that are difficult |
-// to reproduce. |
-// |
-// TODO(omaha): Consider renaming to: |
-// void OverrideRegistryHive(HKEY hive, const CString& new_key); |
-void OverrideSpecifiedRegistryHives(const CString& hive_override_key_name, |
- bool override_hklm, |
- bool override_hkcu); |
- |
-// Overrides the HKLM and HKCU registry hives so that accesses go to the |
-// specified registry key instead. Provides permissions to execute local files. |
-void OverrideRegistryHivesWithExecutionPermissions( |
- const CString& hive_override_key_name); |
- |
-// Restores HKLM and HKCU registry accesses to the real hives. |
-// This method is most often used in TearDown(). It does not cleanup the |
-// registry key that is created by OverrideRegistryHives. |
-void RestoreRegistryHives(); |
- |
-// Specifies the location of psexec.exe. Only call during initialization. |
-void SetPsexecDir(const CString& dir); |
- |
-// Returns the location of psexec.exe. |
-CString GetPsexecDir(); |
- |
-// Accepts the psexec.exe EULA. Only use for automated testing when you have |
-// already read and agreed to the EULA terms. |
-// Returns true if the process was successfully started. |
-bool AcceptPsexecEula(); |
- |
-// Specifies that the tests are running on or on behalf of the build system. |
-void SetIsBuildSystem(); |
- |
-// Returns whether tests are running on or on behalf of the build system. |
-bool IsBuildSystem(); |
- |
-// Sets TestSource=buildsystem. |
-void SetBuildSystemTestSource(); |
- |
-// Returns whether large tests should be run. Large tests are always run on the |
-// build system and if the "OMAHA_TEST_RUN_LARGE" or "OMAHA_TEST_RUN_ALL" |
-// environment variable is set. |
-bool ShouldRunLargeTest(); |
- |
-// Returns whether enourmous tests should be run. Enormous tests are always run |
-// on the build system and if the "OMAHA_TEST_RUN_ALL" environment variable is |
-// set. This method should be used sparingly and only by tests that take a |
-// really long time to complete. |
-bool ShouldRunEnormousTest(); |
- |
-// Terminates all processes named GoogleUpdate.exe or GoogleCrashHandler.exe. |
-void TerminateAllGoogleUpdateProcesses(); |
- |
-// Launches a process and returns its handle. |
-void LaunchProcess(const CString& exe_path, |
- const CString& args, |
- bool as_system, |
- HANDLE* process); |
- |
-// Launches a process as system and returns its handle. The function uses |
-// psexec to run the process. |
-void LaunchProcessAsSystem(const CString& launch_cmd, HANDLE* process); |
- |
-// Copies Omaha installation files under omaha_path. |
-void CopyGoopdateFiles(const CString& omaha_path, const CString& version); |
- |
-// A generic test fixture that overrides the HKLM and HKCU hives. |
-class RegistryProtectedTest : public testing::Test { |
- protected: |
- RegistryProtectedTest() |
- : hive_override_key_name_(kRegistryHiveOverrideRoot) { |
- } |
- |
- virtual void SetUp(); |
- virtual void TearDown(); |
- |
- const CString hive_override_key_name_; |
-}; |
- |
-// Returns the full path of a unique directory under the user temp directory. |
-CString GetUniqueTempDirectoryName(); |
- |
-// Runs the command as an administrator. |
-void RunAsAdmin(const CString& exe_path, const CString& cmd_line); |
- |
-void RegisterOrUnregisterGoopdateLocalServer(bool reg); |
- |
-void RegisterOrUnregisterGoopdateService(bool reg); |
- |
-} // namespace omaha |
- |
-// TODO(omaha): Replace custom predicates with EXPECT_HRESULT_SUCCEEDED/FAILED. |
-#define ASSERT_SUCCEEDED(x) ASSERT_PRED_FORMAT1(omaha::Succeeded, x) |
-#define EXPECT_SUCCEEDED(x) EXPECT_PRED_FORMAT1(omaha::Succeeded, x) |
-#define ASSERT_FAILED(x) ASSERT_PRED_FORMAT1(omaha::Failed, x) |
-#define EXPECT_FAILED(x) EXPECT_PRED_FORMAT1(omaha::Failed, x) |
- |
-// As of Google Test 1.4.0, expressions get converted to 'bool', resulting in |
-// "warning C4800: 'BOOL' : forcing value to bool 'true' or 'false' (performance |
-// warning)" in some uses. |
-// These must be kept in sync with gtest.h. |
-// TODO(omaha): Try to get this fixed in Google Test. |
-#undef EXPECT_TRUE |
-#define EXPECT_TRUE(condition) \ |
- GTEST_TEST_BOOLEAN_(!!(condition), #condition, false, true, \ |
- GTEST_NONFATAL_FAILURE_) |
-#undef ASSERT_TRUE |
-#define ASSERT_TRUE(condition) \ |
- GTEST_TEST_BOOLEAN_(!!(condition), #condition, false, true, \ |
- GTEST_FATAL_FAILURE_) |
- |
-// GMock's ACTION* macros have 10 parameters, most of which go unused. |
-// This macro can be used inside ACTION* definitions to suppress warning |
-// C4100: unreferenced formal parameter. |
-#define UNREFERENCED_ACTION_PARAMETERS \ |
- UNREFERENCED_PARAMETER(args); \ |
- UNREFERENCED_PARAMETER(arg0); \ |
- UNREFERENCED_PARAMETER(arg1); \ |
- UNREFERENCED_PARAMETER(arg2); \ |
- UNREFERENCED_PARAMETER(arg3); \ |
- UNREFERENCED_PARAMETER(arg4); \ |
- UNREFERENCED_PARAMETER(arg5); \ |
- UNREFERENCED_PARAMETER(arg6); \ |
- UNREFERENCED_PARAMETER(arg7); \ |
- UNREFERENCED_PARAMETER(arg8); \ |
- UNREFERENCED_PARAMETER(arg9) |
- |
-#endif // OMAHA_TESTING_UNIT_TEST_H_ |