Chromium Code Reviews| Index: prebuilt_unittest.py |
| diff --git a/prebuilt_unittest.py b/prebuilt_unittest.py |
| index d3291333f083b4d4e50d9c82f07a64413d6a7b52..d41ba5693eff338b1dcf9e6176f2559b6198e2a8 100755 |
| --- a/prebuilt_unittest.py |
| +++ b/prebuilt_unittest.py |
| @@ -195,42 +195,73 @@ 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') |
| + public_overlay_path = os.path.join(fake_path, 'src/overlays') |
| + private_overlay_path = os.path.join(fake_path, |
| + prebuilt._PRIVATE_OVERLAY_DIR) |
| + path_dict = {'private_overlay_path': private_overlay_path, |
| + 'public_overlay_path': public_overlay_path} |
| + # 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 = ('%(private_overlay_path)s//chromeos-overlay\n' |
|
sosa
2011/01/19 22:16:52
Dbl slash?
scottz
2011/01/19 22:21:24
Oh snap :) thanks
On 2011/01/19 22:16:52, sosa wr
|
| + '%(public_overlay_path)s/overlay-x86-generic\n' % path_dict) |
| + |
| + x86_cmd = './cros_overlay_list --board x86-generic' |
| + x86_expected_path = os.path.join(public_overlay_path, 'overlay-x86-generic', |
| + 'prebuilt.conf') |
| + # Mock output from cros_overlay_list |
| + tegra2_out = ('%(private_overlay_path)s/chromeos-overlay\n' |
| + '%(public_overlay_path)s/overlay-tegra2\n' |
| + '%(public_overlay_path)s/overlay-variant-tegra2-seaboard\n' |
| + '%(private_overlay_path)s/overlay-tegra2-private\n' |
| + '%(private_overlay_path)s/' |
| + 'overlay-variant-tegra2-seaboard-private\n' % path_dict) |
| + tegra2_cmd = './cros_overlay_list --board tegra2 --variant seaboard' |
| + tegra2_expected_path = os.path.join( |
| + private_overlay_path, 'overlay-variant-tegra2-seaboard-private', |
| + 'prebuilt.conf') |
| + |
| + |
| + targets = {'x86-generic': {'cmd': x86_cmd, |
| + 'output': x86_out, |
| + 'result': x86_expected_path}, |
| + 'tegra2_seaboard': {'cmd': tegra2_cmd, |
| + 'output': tegra2_out, |
| + 'result': 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['output'] |
| + prebuilt.cros_build_lib.RunCommand( |
| + expected_results['cmd'].split(), redirect_stdout=True, |
| + cwd=script_path).AndReturn(cmd_result_obj) |
| + |
| self.mox.ReplayAll() |
| - |
| - for target in targets: |
| - self.assertEqual(prebuilt.DeterminePrebuiltConfFile(target), |
| - targets[target]) |
| + for target, expected_results in targets.iteritems(): |
| + self.assertEqual( |
| + prebuilt.DeterminePrebuiltConfFile(fake_path, target), |
| + expected_results['result']) |
| 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): |