| Index: bin/cbuildbot_unittest.py
|
| diff --git a/bin/cbuildbot_unittest.py b/bin/cbuildbot_unittest.py
|
| index b3a4009a90a96feb899f53765cbaa57ffd63c2d9..edacbe55d9f4e49c58493b7287c2c362631e202f 100755
|
| --- a/bin/cbuildbot_unittest.py
|
| +++ b/bin/cbuildbot_unittest.py
|
| @@ -11,6 +11,7 @@ import mox
|
| import os
|
| import posix
|
| import shutil
|
| +import tempfile
|
| import unittest
|
|
|
| # Fixes circular dependency error.
|
| @@ -18,6 +19,7 @@ import cbuildbot_comm
|
| import cbuildbot
|
| from cros_build_lib import ReinterpretPathForChroot
|
|
|
| +
|
| class CBuildBotTest(mox.MoxTestBase):
|
|
|
| def setUp(self):
|
| @@ -117,7 +119,7 @@ class CBuildBotTest(mox.MoxTestBase):
|
| buildroot = '/fake_dir'
|
| board = 'fake-board'
|
| test_results_dir = 'fake_results_dir'
|
| - gsutil_path='/fake/gsutil/path'
|
| + gsutil_path = '/fake/gsutil/path'
|
| archive_dir = 1234
|
| acl = 'fake_acl'
|
| num_retries = 5
|
| @@ -230,6 +232,68 @@ class CBuildBotTest(mox.MoxTestBase):
|
| binhosts)
|
| self.mox.VerifyAll()
|
|
|
| + def testGetChromeOSVersion(self):
|
| + """Tests that we can parse the correct chromeos version using method."""
|
| + fake_data = '\n'.join(['ChromeOS version information:',
|
| + ' SOME_OTHER_DATA=blah',
|
| + ' CHROMEOS_VERSION_STRING=9.0.232.1',
|
| + ' CHROMEOS_VERSION_CODENAME=test-bot',
|
| + ])
|
| + cbuildbot.RunCommand('./chromeos_version.sh',
|
| + cwd='src/scripts',
|
| + redirect_stderr=True,
|
| + redirect_stdout=True).AndReturn(fake_data)
|
| + self.mox.ReplayAll()
|
| + return_tuple = cbuildbot._GetChromeOSVersion('')
|
| + self.assertEquals('.'.join(return_tuple), '9.0.232.1')
|
| + self.mox.VerifyAll()
|
| +
|
| + def testGetManifestPath(self):
|
| + """Tests whether our logic to get the manifest path is correct."""
|
| + self.mox.StubOutWithMock(cbuildbot, '_GetChromeOSVersion')
|
| + return_tuple = cbuildbot._GetChromeOSVersion('').AndReturn(
|
| + ('9', '0', '232', '1'))
|
| + self.mox.ReplayAll()
|
| + relative_path = cbuildbot._GetManifestPath('')
|
| + self.assertEquals(relative_path, '9.0/9.0.232.1.xml')
|
| + self.mox.VerifyAll()
|
| +
|
| + def _CommonManifestTest(self, url, overlay_no_buildroot):
|
| + """Common method for dump manifest tests."""
|
| + self.mox.StubOutWithMock(cbuildbot, '_GetManifestPath')
|
| + self.mox.StubOutWithMock(shutil, 'copy')
|
| + self.mox.StubOutWithMock(os, 'symlink')
|
| + temp_root = tempfile.mkdtemp('_unittest')
|
| +
|
| + overlay = overlay_no_buildroot % {'buildroot': temp_root}
|
| + relative_path = 'fake/manifest/path.xml'
|
| + full_path = os.path.join(overlay, 'manifests', relative_path)
|
| +
|
| + cbuildbot._GetManifestPath(temp_root).AndReturn(relative_path)
|
| + cbuildbot.RunCommand(['repo', 'manifest', '-r', '-o', full_path],
|
| + cwd=temp_root)
|
| + os.symlink(relative_path, os.path.join(overlay, 'manifests', 'LATEST'))
|
| + cbuildbot.RunCommand(['git', 'add', 'manifests/' + relative_path],
|
| + cwd=overlay)
|
| + cbuildbot.RunCommand(['git', 'add', 'manifests/LATEST'], cwd=overlay)
|
| + shutil.copy(full_path, '/dev/stderr')
|
| +
|
| + self.mox.ReplayAll()
|
| + cbuildbot._DumpManifest(temp_root, url)
|
| + self.mox.VerifyAll()
|
| +
|
| + shutil.rmtree(temp_root)
|
| +
|
| + def testDumpManifestPublic(self):
|
| + """Tests whether we push the manifest to the public overlay correctly."""
|
| + self._CommonManifestTest('http://some_url/manifest',
|
| + cbuildbot.PUBLIC_OVERLAY)
|
| +
|
| + def testDumpManifestPrivate(self):
|
| + """Tests whether we push the manifest to the private overlay correctly."""
|
| + self._CommonManifestTest('http://some_url/manifest-internal',
|
| + cbuildbot.PRIVATE_OVERLAY)
|
| +
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|