Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 | 2 |
| 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Unittests for cbuildbot. Needs to be run inside of chroot for mox.""" | 7 """Unittests for cbuildbot. Needs to be run inside of chroot for mox.""" |
| 8 | 8 |
| 9 import __builtin__ | 9 import __builtin__ |
| 10 import mox | 10 import mox |
| 11 import os | 11 import os |
| 12 import posix | 12 import posix |
| 13 import shutil | 13 import shutil |
| 14 import unittest | 14 import unittest |
| 15 | 15 |
| 16 # Fixes circular dependency error. | 16 # Fixes circular dependency error. |
| 17 import cbuildbot_comm | 17 import cbuildbot_comm |
| 18 import cbuildbot | 18 import cbuildbot |
| 19 from cros_build_lib import ReinterpretPathForChroot | |
| 19 | 20 |
| 20 class CBuildBotTest(mox.MoxTestBase): | 21 class CBuildBotTest(mox.MoxTestBase): |
| 21 | 22 |
| 22 def setUp(self): | 23 def setUp(self): |
| 23 mox.MoxTestBase.setUp(self) | 24 mox.MoxTestBase.setUp(self) |
| 24 # Always stub RunCommmand out as we use it in every method. | 25 # Always stub RunCommmand out as we use it in every method. |
| 25 self.mox.StubOutWithMock(cbuildbot, 'RunCommand') | 26 self.mox.StubOutWithMock(cbuildbot, 'RunCommand') |
| 26 self.tracking_branch = 'cros/master' | 27 self.tracking_branch = 'cros/master' |
| 27 self._test_repos = [['kernel', 'third_party/kernel/files'], | 28 self._test_repos = [['kernel', 'third_party/kernel/files'], |
| 28 ['login_manager', 'platform/login_manager'] | 29 ['login_manager', 'platform/login_manager'] |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 def testUprevPackages(self): | 160 def testUprevPackages(self): |
| 160 """Test if we get actual revisions in revisions.pfq.""" | 161 """Test if we get actual revisions in revisions.pfq.""" |
| 161 self.mox.StubOutWithMock(__builtin__, 'open') | 162 self.mox.StubOutWithMock(__builtin__, 'open') |
| 162 | 163 |
| 163 # Mock out file interaction. | 164 # Mock out file interaction. |
| 164 m_file = self.mox.CreateMock(file) | 165 m_file = self.mox.CreateMock(file) |
| 165 __builtin__.open(self._revision_file).AndReturn(m_file) | 166 __builtin__.open(self._revision_file).AndReturn(m_file) |
| 166 m_file.read().AndReturn(self._test_string) | 167 m_file.read().AndReturn(self._test_string) |
| 167 m_file.close() | 168 m_file.close() |
| 168 | 169 |
| 170 overlays = [ '%s/src/third_party/chromiumos-overlay' % self._buildroot ] | |
|
sosa
2010/11/12 21:28:40
Save yourself a few lines and add to Setup ... sel
davidjames
2010/11/12 21:37:50
Done.
| |
| 171 chroot_overlays = [ ReinterpretPathForChroot(overlays[0]) ] | |
| 169 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', | 172 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', |
| 170 '--board=%s' % self._test_board, | 173 '--board=%s' % self._test_board, |
| 171 '--tracking_branch="cros/master"', 'commit'], | 174 '--overlays=%s' % ':'.join(chroot_overlays), |
| 175 '--tracking_branch=cros/master', 'commit'], | |
| 172 cwd='%s/src/scripts' % self._buildroot, | 176 cwd='%s/src/scripts' % self._buildroot, |
| 173 enter_chroot=True) | 177 enter_chroot=True) |
| 174 | 178 |
| 175 self.mox.ReplayAll() | 179 self.mox.ReplayAll() |
| 176 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, | 180 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, |
| 177 self._revision_file, self._test_board) | 181 self._revision_file, self._test_board, overlays) |
| 178 self.mox.VerifyAll() | 182 self.mox.VerifyAll() |
| 179 | 183 |
| 180 def testUprevAllPackages(self): | 184 def testUprevAllPackages(self): |
| 181 """Test if we get None in revisions.pfq indicating Full Builds.""" | 185 """Test if we get None in revisions.pfq indicating Full Builds.""" |
| 182 self.mox.StubOutWithMock(__builtin__, 'open') | 186 self.mox.StubOutWithMock(__builtin__, 'open') |
| 183 | 187 |
| 184 # Mock out file interaction. | 188 # Mock out file interaction. |
| 185 m_file = self.mox.CreateMock(file) | 189 m_file = self.mox.CreateMock(file) |
| 186 __builtin__.open(self._revision_file).AndReturn(m_file) | 190 __builtin__.open(self._revision_file).AndReturn(m_file) |
| 187 m_file.read().AndReturn('None') | 191 m_file.read().AndReturn('None') |
| 188 m_file.close() | 192 m_file.close() |
| 189 | 193 |
| 194 overlays = [ '%s/src/third_party/chromiumos-overlay' % self._buildroot ] | |
| 195 chroot_overlays = [ ReinterpretPathForChroot(overlays[0]) ] | |
| 190 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', | 196 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', |
| 191 '--board=%s' % self._test_board, | 197 '--board=%s' % self._test_board, |
| 192 '--tracking_branch="cros/master"', 'commit'], | 198 '--overlays=%s' % ':'.join(chroot_overlays), |
| 199 '--tracking_branch=cros/master', 'commit'], | |
| 193 cwd='%s/src/scripts' % self._buildroot, | 200 cwd='%s/src/scripts' % self._buildroot, |
| 194 enter_chroot=True) | 201 enter_chroot=True) |
| 195 | 202 |
| 196 self.mox.ReplayAll() | 203 self.mox.ReplayAll() |
| 204 overlays = [ '%s/src/third_party/chromiumos-overlay' % self._buildroot ] | |
| 197 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, | 205 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, |
| 198 self._revision_file, self._test_board) | 206 self._revision_file, self._test_board, overlays) |
| 199 self.mox.VerifyAll() | 207 self.mox.VerifyAll() |
| 200 | 208 |
| 201 | 209 |
| 202 if __name__ == '__main__': | 210 if __name__ == '__main__': |
| 203 unittest.main() | 211 unittest.main() |
| OLD | NEW |