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

Unified Diff: Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py

Issue 1201873002: Move LayoutTest Linux distribution detection to PlatformInfo (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Remove crusty comment Created 5 years, 6 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
Index: Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
diff --git a/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py b/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
index c892f25826fec3a55d3d92902e232dd4224b0ba0..cd69a02f72c607679fd6ad9fdf2d37608f4bd005 100644
--- a/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
+++ b/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
@@ -32,6 +32,8 @@ import unittest
from webkitpy.common.system.executive import Executive
from webkitpy.common.system.executive_mock import MockExecutive, MockExecutive2
+from webkitpy.common.system.filesystem import FileSystem
+from webkitpy.common.system.filesystem_mock import MockFileSystem
from webkitpy.common.system.platforminfo import PlatformInfo
@@ -67,18 +69,21 @@ def fake_executive(output=None):
class TestPlatformInfo(unittest.TestCase):
- def make_info(self, sys_module=None, platform_module=None, executive=None):
- return PlatformInfo(sys_module or fake_sys(), platform_module or fake_platform(), executive or fake_executive())
+ def make_info(self, sys_module=None, platform_module=None, filesystem_module=None, executive=None):
+ return PlatformInfo(sys_module or fake_sys(), platform_module or fake_platform(), filesystem_module or MockFileSystem(), executive or fake_executive())
def test_real_code(self):
# This test makes sure the real (unmocked) code actually works.
- info = PlatformInfo(sys, platform, Executive())
+ info = PlatformInfo(sys, platform, FileSystem(), Executive())
self.assertNotEquals(info.os_name, '')
self.assertNotEquals(info.os_version, '')
self.assertNotEquals(info.display_name(), '')
self.assertTrue(info.is_mac() or info.is_win() or info.is_linux() or info.is_freebsd())
self.assertIsNotNone(info.terminal_width())
+ if info.is_linux():
+ self.assertIsNotNone(info.linux_distribution())
+
if info.is_mac():
self.assertTrue(info.total_bytes_memory() > 0)
else:
@@ -154,6 +159,19 @@ class TestPlatformInfo(unittest.TestCase):
self.assertEqual(self.make_info(fake_sys('cygwin'), executive=fake_executive('6.0.1234')).os_version, 'vista')
self.assertEqual(self.make_info(fake_sys('cygwin'), executive=fake_executive('5.1.1234')).os_version, 'xp')
+ def _assert_file_implies_linux_distribution(self, file, distribution):
+ info = self.make_info(sys_module=fake_sys('linux2'), filesystem_module=MockFileSystem({file: ''}))
+ self.assertEqual(info.linux_distribution(), distribution)
+
+ def test_linux_distro_detection(self):
+ self._assert_file_implies_linux_distribution('/etc/arch-release', 'arch')
+ self._assert_file_implies_linux_distribution('/etc/debian_version', 'debian')
+ self._assert_file_implies_linux_distribution('/etc/redhat-release', 'redhat')
+ self._assert_file_implies_linux_distribution('/etc/mock-release', 'unknown')
+
+ info = self.make_info(fake_sys('cygwin'), executive=fake_executive('6.1.7600'))
+ self.assertIsNone(info.linux_distribution())
+
def test_display_name(self):
info = self.make_info(fake_sys('darwin'))
self.assertNotEquals(info.display_name(), '')
@@ -168,7 +186,7 @@ class TestPlatformInfo(unittest.TestCase):
self.assertNotEquals(info.display_name(), '')
def test_total_bytes_memory(self):
- info = self.make_info(fake_sys('darwin'), fake_platform('10.6.3'), fake_executive('1234'))
+ info = self.make_info(fake_sys('darwin'), fake_platform('10.6.3'), executive=fake_executive('1234'))
self.assertEqual(info.total_bytes_memory(), 1234)
info = self.make_info(fake_sys('win32', tuple([6, 1, 7600])))
« no previous file with comments | « Tools/Scripts/webkitpy/common/system/platforminfo_mock.py ('k') | Tools/Scripts/webkitpy/common/system/systemhost.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698