summaryrefslogtreecommitdiff
path: root/chromium/base/system/sys_info_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/system/sys_info_unittest.cc')
-rw-r--r--chromium/base/system/sys_info_unittest.cc29
1 files changed, 29 insertions, 0 deletions
diff --git a/chromium/base/system/sys_info_unittest.cc b/chromium/base/system/sys_info_unittest.cc
index 68add20e022..6c9c226a92e 100644
--- a/chromium/base/system/sys_info_unittest.cc
+++ b/chromium/base/system/sys_info_unittest.cc
@@ -21,6 +21,7 @@
#include "base/threading/platform_thread.h"
#include "base/time/time.h"
#include "build/build_config.h"
+#include "testing/gtest/include/gtest/gtest-death-test.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
@@ -268,6 +269,34 @@ TEST_F(SysInfoTest, IsRunningOnChromeOS) {
EXPECT_TRUE(SysInfo::IsRunningOnChromeOS());
}
+TEST_F(SysInfoTest, CrashOnBaseImage) {
+ const char kLsbRelease2[] =
+ "CHROMEOS_RELEASE_NAME=Chrome OS\n"
+ "CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
+ "CHROMEOS_RELEASE_TRACK=stable-channel\n";
+ SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease2, Time());
+ EXPECT_TRUE(SysInfo::IsRunningOnChromeOS());
+ EXPECT_DEATH_IF_SUPPORTED({ SysInfo::CrashIfChromeOSNonTestImage(); }, "");
+}
+
+TEST_F(SysInfoTest, NoCrashOnTestImage) {
+ const char kLsbRelease2[] =
+ "CHROMEOS_RELEASE_NAME=Chrome OS\n"
+ "CHROMEOS_RELEASE_VERSION=1.2.3.4\n"
+ "CHROMEOS_RELEASE_TRACK=testimage-channel\n";
+ SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease2, Time());
+ EXPECT_TRUE(SysInfo::IsRunningOnChromeOS());
+ // Should not crash.
+ SysInfo::CrashIfChromeOSNonTestImage();
+}
+
+TEST_F(SysInfoTest, NoCrashOnLinuxBuild) {
+ SysInfo::SetChromeOSVersionInfoForTest("", Time());
+ EXPECT_FALSE(SysInfo::IsRunningOnChromeOS());
+ // Should not crash.
+ SysInfo::CrashIfChromeOSNonTestImage();
+}
+
#endif // OS_CHROMEOS
} // namespace base