Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2134)

Unified Diff: chrome/installer/util/product_state_unittest.cc

Issue 2618583005: Remove support for non-browser products from InstallationState and ProductState. (Closed)
Patch Set: sync to position 442664 Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/installer/util/installation_state.cc ('k') | chrome/installer/util/product_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/util/product_state_unittest.cc
diff --git a/chrome/installer/util/product_state_unittest.cc b/chrome/installer/util/product_state_unittest.cc
index 1b710e0f2d787e4c52542764d782bf522862e3c7..37fbc5dc1d54e216a6e09388dff1046f75d179f3 100644
--- a/chrome/installer/util/product_state_unittest.cc
+++ b/chrome/installer/util/product_state_unittest.cc
@@ -4,7 +4,6 @@
#include <windows.h>
-#include "base/strings/utf_string_conversions.h"
#include "base/test/test_reg_util_win.h"
#include "base/version.h"
#include "base/win/registry.h"
@@ -14,76 +13,34 @@
#include "chrome/installer/util/util_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
-using base::win::RegKey;
-using installer::ProductState;
-using registry_util::RegistryOverrideManager;
+namespace installer {
-class ProductStateTest : public testing::Test {
+class ProductStateTest : public testing::TestWithParam<bool> {
protected:
- static void SetUpTestCase();
- static void TearDownTestCase();
-
- void SetUp() override;
- void TearDown() override;
+ ProductStateTest();
void ApplyUninstallCommand(const wchar_t* exe_path, const wchar_t* args);
void MinimallyInstallProduct(const wchar_t* version);
- static BrowserDistribution* dist_;
- bool system_install_;
- HKEY overridden_;
+ const bool system_install_;
+ const HKEY overridden_;
registry_util::RegistryOverrideManager registry_override_manager_;
- RegKey clients_;
- RegKey client_state_;
+ base::win::RegKey clients_;
+ base::win::RegKey client_state_;
};
-BrowserDistribution* ProductStateTest::dist_;
-
-// static
-void ProductStateTest::SetUpTestCase() {
- testing::Test::SetUpTestCase();
-
- // We'll use Chrome as our test subject.
- dist_ = BrowserDistribution::GetSpecificDistribution(
- BrowserDistribution::CHROME_BROWSER);
-}
-
-// static
-void ProductStateTest::TearDownTestCase() {
- dist_ = NULL;
-
- testing::Test::TearDownTestCase();
-}
-
-void ProductStateTest::SetUp() {
- testing::Test::SetUp();
-
- // Create/open the keys for the product we'll test.
- system_install_ = true;
- overridden_ = (system_install_ ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER);
-
- // Override for test purposes. We don't use ScopedRegistryKeyOverride
- // directly because it doesn't suit itself to our use here.
- RegKey temp_key;
-
+ProductStateTest::ProductStateTest()
+ : system_install_(GetParam()),
+ overridden_(system_install_ ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER) {
registry_override_manager_.OverrideRegistry(overridden_);
+ BrowserDistribution* dist = BrowserDistribution::GetDistribution();
EXPECT_EQ(ERROR_SUCCESS,
- clients_.Create(overridden_, dist_->GetVersionKey().c_str(),
- KEY_ALL_ACCESS));
+ clients_.Create(overridden_, dist->GetVersionKey().c_str(),
+ KEY_ALL_ACCESS | KEY_WOW64_32KEY));
EXPECT_EQ(ERROR_SUCCESS,
- client_state_.Create(overridden_, dist_->GetStateKey().c_str(),
- KEY_ALL_ACCESS));
-}
-
-void ProductStateTest::TearDown() {
- // Done with the keys.
- client_state_.Close();
- clients_.Close();
- overridden_ = NULL;
- system_install_ = false;
-
- testing::Test::TearDown();
+ client_state_.Create(overridden_, dist->GetStateKey().c_str(),
+ KEY_ALL_ACCESS | KEY_WOW64_32KEY));
}
void ProductStateTest::MinimallyInstallProduct(const wchar_t* version) {
@@ -94,32 +51,29 @@ void ProductStateTest::MinimallyInstallProduct(const wchar_t* version) {
void ProductStateTest::ApplyUninstallCommand(const wchar_t* exe_path,
const wchar_t* args) {
if (exe_path == NULL) {
- LONG result = client_state_.DeleteValue(installer::kUninstallStringField);
+ LONG result = client_state_.DeleteValue(kUninstallStringField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
} else {
EXPECT_EQ(ERROR_SUCCESS,
- client_state_.WriteValue(installer::kUninstallStringField,
- exe_path));
+ client_state_.WriteValue(kUninstallStringField, exe_path));
}
if (args == NULL) {
- LONG result =
- client_state_.DeleteValue(installer::kUninstallArgumentsField);
+ LONG result = client_state_.DeleteValue(kUninstallArgumentsField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
} else {
EXPECT_EQ(ERROR_SUCCESS,
- client_state_.WriteValue(installer::kUninstallArgumentsField,
- args));
+ client_state_.WriteValue(kUninstallArgumentsField, args));
}
}
-TEST_F(ProductStateTest, InitializeInstalled) {
+TEST_P(ProductStateTest, InitializeInstalled) {
// Not installed.
{
ProductState state;
LONG result = clients_.DeleteValue(google_update::kRegVersionField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_FALSE(state.Initialize(system_install_, dist_));
+ EXPECT_FALSE(state.Initialize(system_install_));
}
// Empty version.
@@ -127,7 +81,7 @@ TEST_F(ProductStateTest, InitializeInstalled) {
ProductState state;
LONG result = clients_.WriteValue(google_update::kRegVersionField, L"");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_FALSE(state.Initialize(system_install_, dist_));
+ EXPECT_FALSE(state.Initialize(system_install_));
}
// Bogus version.
@@ -136,7 +90,7 @@ TEST_F(ProductStateTest, InitializeInstalled) {
LONG result = clients_.WriteValue(google_update::kRegVersionField,
L"goofy");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_FALSE(state.Initialize(system_install_, dist_));
+ EXPECT_FALSE(state.Initialize(system_install_));
}
// Valid "pv" value.
@@ -145,13 +99,13 @@ TEST_F(ProductStateTest, InitializeInstalled) {
LONG result = clients_.WriteValue(google_update::kRegVersionField,
L"10.0.47.0");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ("10.0.47.0", state.version().GetString());
}
}
// Test extraction of the "opv" value from the Clients key.
-TEST_F(ProductStateTest, InitializeOldVersion) {
+TEST_P(ProductStateTest, InitializeOldVersion) {
MinimallyInstallProduct(L"10.0.1.1");
// No "opv" value.
@@ -159,7 +113,7 @@ TEST_F(ProductStateTest, InitializeOldVersion) {
ProductState state;
LONG result = clients_.DeleteValue(google_update::kRegOldVersionField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.old_version() == NULL);
}
@@ -168,7 +122,7 @@ TEST_F(ProductStateTest, InitializeOldVersion) {
ProductState state;
LONG result = clients_.WriteValue(google_update::kRegOldVersionField, L"");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.old_version() == NULL);
}
@@ -178,7 +132,7 @@ TEST_F(ProductStateTest, InitializeOldVersion) {
LONG result = clients_.WriteValue(google_update::kRegOldVersionField,
L"coming home");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.old_version() == NULL);
}
@@ -188,14 +142,14 @@ TEST_F(ProductStateTest, InitializeOldVersion) {
LONG result = clients_.WriteValue(google_update::kRegOldVersionField,
L"10.0.47.0");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.old_version() != NULL);
EXPECT_EQ("10.0.47.0", state.old_version()->GetString());
}
}
// Test extraction of the "cmd" value from the Clients key.
-TEST_F(ProductStateTest, InitializeRenameCmd) {
+TEST_P(ProductStateTest, InitializeRenameCmd) {
MinimallyInstallProduct(L"10.0.1.1");
// No "cmd" value.
@@ -203,7 +157,7 @@ TEST_F(ProductStateTest, InitializeRenameCmd) {
ProductState state;
LONG result = clients_.DeleteValue(google_update::kRegRenameCmdField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.rename_cmd().empty());
}
@@ -212,7 +166,7 @@ TEST_F(ProductStateTest, InitializeRenameCmd) {
ProductState state;
LONG result = clients_.WriteValue(google_update::kRegRenameCmdField, L"");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.rename_cmd().empty());
}
@@ -222,13 +176,13 @@ TEST_F(ProductStateTest, InitializeRenameCmd) {
LONG result = clients_.WriteValue(google_update::kRegRenameCmdField,
L"spam.exe --spamalot");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ(L"spam.exe --spamalot", state.rename_cmd());
}
}
// Test extraction of the "ap" value from the ClientState key.
-TEST_F(ProductStateTest, InitializeChannelInfo) {
+TEST_P(ProductStateTest, InitializeChannelInfo) {
MinimallyInstallProduct(L"10.0.1.1");
// No "ap" value.
@@ -236,7 +190,7 @@ TEST_F(ProductStateTest, InitializeChannelInfo) {
ProductState state;
LONG result = client_state_.DeleteValue(google_update::kRegApField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.channel().value().empty());
}
@@ -245,7 +199,7 @@ TEST_F(ProductStateTest, InitializeChannelInfo) {
ProductState state;
LONG result = client_state_.WriteValue(google_update::kRegApField, L"");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.channel().value().empty());
}
@@ -254,21 +208,21 @@ TEST_F(ProductStateTest, InitializeChannelInfo) {
ProductState state;
LONG result = client_state_.WriteValue(google_update::kRegApField, L"spam");
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ(L"spam", state.channel().value());
}
}
// Test extraction of the uninstall command and arguments from the ClientState
// key.
-TEST_F(ProductStateTest, InitializeUninstallCommand) {
+TEST_P(ProductStateTest, InitializeUninstallCommand) {
MinimallyInstallProduct(L"10.0.1.1");
// No uninstall command.
{
ProductState state;
ApplyUninstallCommand(NULL, NULL);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.GetSetupPath().empty());
EXPECT_TRUE(state.uninstall_command().GetCommandLineString().empty());
EXPECT_TRUE(state.uninstall_command().GetSwitches().empty());
@@ -278,7 +232,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
{
ProductState state;
ApplyUninstallCommand(L"", L"");
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.GetSetupPath().empty());
EXPECT_TRUE(state.uninstall_command().GetCommandLineString().empty());
EXPECT_TRUE(state.uninstall_command().GetSwitches().empty());
@@ -288,7 +242,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
{
ProductState state;
ApplyUninstallCommand(NULL, L"--uninstall");
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.GetSetupPath().empty());
EXPECT_EQ(L" --uninstall",
state.uninstall_command().GetCommandLineString());
@@ -299,7 +253,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
{
ProductState state;
ApplyUninstallCommand(L"setup.exe", NULL);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ(L"setup.exe", state.GetSetupPath().value());
EXPECT_EQ(L"setup.exe", state.uninstall_command().GetCommandLineString());
EXPECT_TRUE(state.uninstall_command().GetSwitches().empty());
@@ -309,7 +263,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
{
ProductState state;
ApplyUninstallCommand(L"set up.exe", NULL);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ(L"set up.exe", state.GetSetupPath().value());
EXPECT_EQ(L"\"set up.exe\"",
state.uninstall_command().GetCommandLineString());
@@ -320,7 +274,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
{
ProductState state;
ApplyUninstallCommand(L"setup.exe", L"--uninstall");
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_EQ(L"setup.exe", state.GetSetupPath().value());
EXPECT_EQ(L"setup.exe --uninstall",
state.uninstall_command().GetCommandLineString());
@@ -329,7 +283,7 @@ TEST_F(ProductStateTest, InitializeUninstallCommand) {
}
// Test extraction of the msi marker from the ClientState key.
-TEST_F(ProductStateTest, InitializeMsi) {
+TEST_P(ProductStateTest, InitializeMsi) {
MinimallyInstallProduct(L"10.0.1.1");
// No msi marker.
@@ -337,7 +291,7 @@ TEST_F(ProductStateTest, InitializeMsi) {
ProductState state;
LONG result = client_state_.DeleteValue(google_update::kRegMSIField);
EXPECT_TRUE(result == ERROR_SUCCESS || result == ERROR_FILE_NOT_FOUND);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_FALSE(state.is_msi());
}
@@ -347,7 +301,7 @@ TEST_F(ProductStateTest, InitializeMsi) {
EXPECT_EQ(ERROR_SUCCESS,
client_state_.WriteValue(google_update::kRegMSIField,
static_cast<DWORD>(0)));
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_FALSE(state.is_msi());
}
@@ -357,7 +311,7 @@ TEST_F(ProductStateTest, InitializeMsi) {
EXPECT_EQ(ERROR_SUCCESS,
client_state_.WriteValue(google_update::kRegMSIField,
static_cast<DWORD>(1)));
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.is_msi());
}
@@ -367,7 +321,7 @@ TEST_F(ProductStateTest, InitializeMsi) {
EXPECT_EQ(ERROR_SUCCESS,
client_state_.WriteValue(google_update::kRegMSIField,
static_cast<DWORD>(47)));
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.is_msi());
}
@@ -377,20 +331,20 @@ TEST_F(ProductStateTest, InitializeMsi) {
EXPECT_EQ(ERROR_SUCCESS,
client_state_.WriteValue(google_update::kRegMSIField,
L"bogus!"));
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_FALSE(state.is_msi());
}
}
// Test detection of multi-install.
-TEST_F(ProductStateTest, InitializeMultiInstall) {
+TEST_P(ProductStateTest, InitializeMultiInstall) {
MinimallyInstallProduct(L"10.0.1.1");
// No uninstall command means single install.
{
ProductState state;
ApplyUninstallCommand(NULL, NULL);
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_FALSE(state.is_multi_install());
}
@@ -398,7 +352,7 @@ TEST_F(ProductStateTest, InitializeMultiInstall) {
{
ProductState state;
ApplyUninstallCommand(L"setup.exe", L"--uninstall");
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_FALSE(state.is_multi_install());
}
@@ -407,7 +361,12 @@ TEST_F(ProductStateTest, InitializeMultiInstall) {
ProductState state;
ApplyUninstallCommand(L"setup.exe",
L"--uninstall --chrome --multi-install");
- EXPECT_TRUE(state.Initialize(system_install_, dist_));
+ EXPECT_TRUE(state.Initialize(system_install_));
EXPECT_TRUE(state.is_multi_install());
}
}
+
+INSTANTIATE_TEST_CASE_P(UserLevel, ProductStateTest, ::testing::Values(false));
+INSTANTIATE_TEST_CASE_P(SystemLevel, ProductStateTest, ::testing::Values(true));
+
+} // namespace installer
« no previous file with comments | « chrome/installer/util/installation_state.cc ('k') | chrome/installer/util/product_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698