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

Unified Diff: prebuilt_unittest.py

Issue 6348010: Update prebuilt to use cros_overlay_list as the definitive answer for which overlay to modify. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils@master
Patch Set: Created 9 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
« prebuilt.py ('K') | « prebuilt.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: prebuilt_unittest.py
diff --git a/prebuilt_unittest.py b/prebuilt_unittest.py
index d3291333f083b4d4e50d9c82f07a64413d6a7b52..ef5943da6bc102ae0b61fc0f64b9f968475d6dbf 100755
--- a/prebuilt_unittest.py
+++ b/prebuilt_unittest.py
@@ -195,42 +195,67 @@ class TestPrebuilt(unittest.TestCase):
files = {'test': '/uasd'}
self.assertEqual(prebuilt.RemoteUpload(files), set([('test', '/uasd')]))
+ def testDeterminePrebuiltConfHost(self):
+ """Test that the host prebuilt path comes back properly."""
+ expected_path = os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64'])
+ self.assertEqual(prebuilt.DeterminePrebuiltConfFile('fake_path', 'amd64'),
+ expected_path)
+
def testDeterminePrebuiltConf(self):
"""Test the different known variants of boards for proper path discovery."""
- targets = {'amd64': os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64']),
- 'x86-generic': os.path.join(prebuilt._BINHOST_BASE_DIR,
- 'overlay-x86-generic', 'prebuilt.conf'),
- 'arm-tegra2_vogue': os.path.join(
- prebuilt._BINHOST_BASE_DIR,
- 'overlay-variant-arm-tegra2-vogue', 'prebuilt.conf'),}
- for target in targets:
- self.assertEqual(prebuilt.DeterminePrebuiltConfFile(target),
- targets[target])
-
- def testPrivatePrebuiltConf(self):
- """Test that we get a different path for private prebuilts"""
- targets = {'amd64': os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64']),
- 'x86-generic': os.path.join(
- prebuilt._PRIVATE_OVERLAY_DIR, 'overlay-x86-generic',
- 'prebuilt.conf'),
- 'arm-tegra2_vogue': os.path.join(
- prebuilt._PRIVATE_OVERLAY_DIR,
- 'overlay-variant-arm-tegra2-vogue', 'prebuilt.conf'),}
-
- self.mox.StubOutWithMock(prebuilt.os.path, 'exists')
- # Add mocks for every target we check
- for mock_count in range(len(targets)):
- prebuilt.os.path.exists(prebuilt._PRIVATE_OVERLAY_DIR).AndReturn(True)
+ fake_path = '/b/cbuild'
+ script_path = os.path.join(fake_path, 'src/scripts/bin')
+ _BINHOST_BASE_DIR = 'src/overlays'
+ # format for targets
+ # board target key in dictionar
+ # Tuple containing cmd run, expected results as cmd obj, and expected output
+
+ # Mock output from cros_overlay_list
+ x86_out = ('%(fake_path)s/private-overlays/chromeos-overlay\n'
+ '%(fake_path)s/src/overlays/overlay-x86-generic\n'
sosa 2011/01/19 21:51:15 You shouldn't need to indent here
scottz 2011/01/19 22:11:06 I renamed the variable and forgot to re-align :) t
+ % {'fake_path': fake_path})
+ x86_cmd = './cros_overlay_list --board x86-generic'
+ x86_expected_path = os.path.join(fake_path, _BINHOST_BASE_DIR,
sosa 2011/01/19 21:51:15 Could have better reuse of paths from before here
scottz 2011/01/19 22:11:06 I knew that was coming :) Done.
+ 'overlay-x86-generic', 'prebuilt.conf')
+ # Mock output from cros_overlay_list
+ tegra2_out = ('%(fake_path)s/src/private-overlays/chromeos-overlay\n'
+ '%(fake_path)s/src/overlays/overlay-tegra2\n'
+ '%(fake_path)s/src/overlays/overlay-variant-tegra2-seaboard\n'
+ '%(fake_path)s/src/private-overlays/overlay-tegra2-private\n'
+ '%(fake_path)s/src/private-overlays/'
+ 'overlay-variant-tegra2-seaboard-private\n'
+ % {'fake_path': fake_path})
+ tegra2_cmd = './cros_overlay_list --board tegra2 --variant seaboard'
+ tegra2_expected_path = os.path.join(
+ fake_path, prebuilt._PRIVATE_OVERLAY_DIR,
+ 'overlay-variant-tegra2-seaboard-private', 'prebuilt.conf')
+
+
+ targets = {'x86-generic': (x86_cmd, x86_out, x86_expected_path),
sosa 2011/01/19 21:51:15 May wanna consider using a dict of dicts to make i
scottz 2011/01/19 22:11:06 I like it
+ 'tegra2_seaboard': (tegra2_cmd, tegra2_out, tegra2_expected_path)
+ }
+
+ self.mox.StubOutWithMock(prebuilt.cros_build_lib, 'RunCommand')
+ for target, expected_results in targets.iteritems():
+ # create command object for output
+ cmd_result_obj = cros_build_lib.CommandResult()
+ cmd_result_obj.output = expected_results[1]
+ prebuilt.cros_build_lib.RunCommand(expected_results[0].split(),
+ redirect_stdout=True,
+ cwd=script_path).AndReturn(
sosa 2011/01/19 21:51:15 fix indentation
scottz 2011/01/19 22:11:06 Done.
+ cmd_result_obj)
+
self.mox.ReplayAll()
-
for target in targets:
- self.assertEqual(prebuilt.DeterminePrebuiltConfFile(target),
- targets[target])
+ self.assertEqual(
+ prebuilt.DeterminePrebuiltConfFile(fake_path, target),
+ targets[target][2])
def testDeterminePrebuiltConfGarbage(self):
"""Ensure an exception is raised on bad input."""
self.assertRaises(prebuilt.UnknownBoardFormat,
- prebuilt.DeterminePrebuiltConfFile, 'asdfasdf')
+ prebuilt.DeterminePrebuiltConfFile,
+ 'fake_path', 'asdfasdf')
class TestPackagesFileFiltering(unittest.TestCase):
« prebuilt.py ('K') | « prebuilt.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698