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); |
+}; |
stevenjb
2017/05/25 21:20:24
Can we go ahead and move this to a separate file s
Alexander Alekseev
2017/05/26 02:18:01
Done.
|
// 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; |