| Index: chrome/browser/chromeos/login/hwid_checker_unittest.cc
|
| diff --git a/chrome/browser/chromeos/login/hwid_checker_unittest.cc b/chrome/browser/chromeos/login/hwid_checker_unittest.cc
|
| index 6badad83bc89429acd35b4758db576c6e0cdae63..582665e3c609233ff8e40d6c81e4da140ee02566 100644
|
| --- a/chrome/browser/chromeos/login/hwid_checker_unittest.cc
|
| +++ b/chrome/browser/chromeos/login/hwid_checker_unittest.cc
|
| @@ -128,14 +128,24 @@ TEST(HWIDCheckerTest, KnownHWIDs) {
|
| }
|
|
|
| #if defined(GOOGLE_CHROME_BUILD)
|
| +const char kLsbRelease[] =
|
| + "CHROMEOS_RELEASE_NAME=Chrome OS\n"
|
| + "CHROMEOS_RELEASE_VERSION=1.2.3.4\n";
|
|
|
| // Sets a valid Chrome OS version info so IsRunningOnChromeOS() returns true.
|
| -void SetRunningOnChromeOS() {
|
| - const char kLsbRelease[] =
|
| - "CHROMEOS_RELEASE_NAME=Chrome OS\n"
|
| - "CHROMEOS_RELEASE_VERSION=1.2.3.4\n";
|
| - base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
|
| -}
|
| +class ScopedSetRunningOnChromeOS {
|
| + public:
|
| + ScopedSetRunningOnChromeOS(const std::string& lsb_release,
|
| + const base::Time& lsb_release_time) {
|
| + base::SysInfo::SetChromeOSVersionInfoForTest(lsb_release, lsb_release_time);
|
| + }
|
| + ~ScopedSetRunningOnChromeOS() {
|
| + base::SysInfo::SetChromeOSVersionInfoForTest("", base::Time());
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(ScopedSetRunningOnChromeOS);
|
| +};
|
|
|
| // Test logic for command line "test-type" switch.
|
| TEST(MachineHWIDCheckerTest, TestSwitch) {
|
| @@ -146,7 +156,7 @@ TEST(MachineHWIDCheckerTest, TestSwitch) {
|
|
|
| // THEN IsMachineHWIDCorrect() is always true.
|
| EXPECT_TRUE(IsMachineHWIDCorrect());
|
| - SetRunningOnChromeOS();
|
| + ScopedSetRunningOnChromeOS fake_release(kLsbRelease, base::Time());
|
| EXPECT_TRUE(IsMachineHWIDCorrect());
|
|
|
| system::ScopedFakeStatisticsProvider fake_statistics_provider;
|
| @@ -160,7 +170,7 @@ TEST(MachineHWIDCheckerTest, TestSwitch) {
|
| // Test logic when not running on Chrome OS.
|
| TEST(MachineHWIDCheckerTest, NotOnChromeOS) {
|
| // GIVEN the OS is not Chrome OS.
|
| - base::SysInfo::SetChromeOSVersionInfoForTest("", base::Time());
|
| + ScopedSetRunningOnChromeOS fake_release("", base::Time());
|
|
|
| // THEN IsMachineHWIDCorrect() is always true.
|
| EXPECT_TRUE(IsMachineHWIDCorrect());
|
| @@ -176,7 +186,7 @@ TEST(MachineHWIDCheckerTest, NotOnChromeOS) {
|
| // Test logic when running on Chrome OS but the HWID is not present.
|
| TEST(MachineHWIDCheckerTest, OnCrosNoHWID) {
|
| // GIVEN the OS is Chrome OS.
|
| - SetRunningOnChromeOS();
|
| + ScopedSetRunningOnChromeOS fake_release(kLsbRelease, base::Time());
|
|
|
| // GIVEN the HWID is not present.
|
| system::ScopedFakeStatisticsProvider fake_statistics_provider;
|
| @@ -204,7 +214,7 @@ TEST(MachineHWIDCheckerTest, ValidHWID) {
|
| "DELL HORIZON MAGENTA DVT 4770");
|
|
|
| // THEN IsMachineHWIDCorrect() is always true.
|
| - SetRunningOnChromeOS();
|
| + ScopedSetRunningOnChromeOS fake_release(kLsbRelease, base::Time());
|
| EXPECT_TRUE(IsMachineHWIDCorrect());
|
| fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
|
| system::kIsVmValueFalse);
|
| @@ -222,7 +232,7 @@ TEST(MachineHWIDCheckerTest, InVM) {
|
| system::kIsVmValueTrue);
|
|
|
| // GIVEN the OS is Chrome OS.
|
| - SetRunningOnChromeOS();
|
| + ScopedSetRunningOnChromeOS fake_release(kLsbRelease, base::Time());
|
| // THEN IsMachineHWIDCorrect() is always true.
|
| fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
|
| "INVALID_HWID");
|
| @@ -239,7 +249,7 @@ TEST(MachineHWIDCheckerTest, InVM) {
|
| // Test logic when HWID is invalid and we're not in a VM.
|
| TEST(MachineHWIDCheckerTest, InvalidHWIDInVMNotTrue) {
|
| // GIVEN the OS is Chrome OS.
|
| - SetRunningOnChromeOS();
|
| + ScopedSetRunningOnChromeOS fake_release(kLsbRelease, base::Time());
|
|
|
| // GIVEN the HWID is invalid.
|
| system::ScopedFakeStatisticsProvider fake_statistics_provider;
|
|
|