| 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 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 def testUprevPackages(self): | 144 def testUprevPackages(self): |
| 145 """Test if we get actual revisions in revisions.pfq.""" | 145 """Test if we get actual revisions in revisions.pfq.""" |
| 146 self.mox.StubOutWithMock(__builtin__, 'open') | 146 self.mox.StubOutWithMock(__builtin__, 'open') |
| 147 | 147 |
| 148 # Mock out file interaction. | 148 # Mock out file interaction. |
| 149 m_file = self.mox.CreateMock(file) | 149 m_file = self.mox.CreateMock(file) |
| 150 __builtin__.open(self._revision_file).AndReturn(m_file) | 150 __builtin__.open(self._revision_file).AndReturn(m_file) |
| 151 m_file.read().AndReturn(self._test_string) | 151 m_file.read().AndReturn(self._test_string) |
| 152 m_file.close() | 152 m_file.close() |
| 153 | 153 |
| 154 drop_file = cbuildbot._PACKAGE_FILE % {'buildroot': self._buildroot} |
| 154 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', | 155 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', |
| 155 '--board=%s' % self._test_board, | 156 '--board=%s' % self._test_board, |
| 156 '--overlays=%s' % ':'.join(self._chroot_overlays), | 157 '--overlays=%s' % ':'.join(self._chroot_overlays), |
| 157 '--tracking_branch=cros/master', 'commit'], | 158 '--tracking_branch=cros/master', |
| 159 '--drop_file=%s' % ReinterpretPathForChroot(drop_file), |
| 160 'commit'], |
| 158 cwd='%s/src/scripts' % self._buildroot, | 161 cwd='%s/src/scripts' % self._buildroot, |
| 159 enter_chroot=True) | 162 enter_chroot=True) |
| 160 | 163 |
| 161 self.mox.ReplayAll() | 164 self.mox.ReplayAll() |
| 162 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, | 165 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, |
| 163 self._revision_file, self._test_board, | 166 self._revision_file, self._test_board, |
| 164 self._overlays) | 167 self._overlays) |
| 165 self.mox.VerifyAll() | 168 self.mox.VerifyAll() |
| 166 | 169 |
| 167 def testUprevAllPackages(self): | 170 def testUprevAllPackages(self): |
| 168 """Test if we get None in revisions.pfq indicating Full Builds.""" | 171 """Test if we get None in revisions.pfq indicating Full Builds.""" |
| 169 self.mox.StubOutWithMock(__builtin__, 'open') | 172 self.mox.StubOutWithMock(__builtin__, 'open') |
| 170 | 173 |
| 171 # Mock out file interaction. | 174 # Mock out file interaction. |
| 172 m_file = self.mox.CreateMock(file) | 175 m_file = self.mox.CreateMock(file) |
| 173 __builtin__.open(self._revision_file).AndReturn(m_file) | 176 __builtin__.open(self._revision_file).AndReturn(m_file) |
| 174 m_file.read().AndReturn('None') | 177 m_file.read().AndReturn('None') |
| 175 m_file.close() | 178 m_file.close() |
| 176 | 179 |
| 180 drop_file = cbuildbot._PACKAGE_FILE % {'buildroot': self._buildroot} |
| 177 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', | 181 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', |
| 178 '--board=%s' % self._test_board, | 182 '--board=%s' % self._test_board, |
| 179 '--overlays=%s' % ':'.join(self._chroot_overlays), | 183 '--overlays=%s' % ':'.join(self._chroot_overlays), |
| 180 '--tracking_branch=cros/master', 'commit'], | 184 '--tracking_branch=cros/master', |
| 185 '--drop_file=%s' % ReinterpretPathForChroot(drop_file), |
| 186 'commit'], |
| 181 cwd='%s/src/scripts' % self._buildroot, | 187 cwd='%s/src/scripts' % self._buildroot, |
| 182 enter_chroot=True) | 188 enter_chroot=True) |
| 183 | 189 |
| 184 self.mox.ReplayAll() | 190 self.mox.ReplayAll() |
| 185 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, | 191 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, |
| 186 self._revision_file, self._test_board, | 192 self._revision_file, self._test_board, |
| 187 self._overlays) | 193 self._overlays) |
| 188 self.mox.VerifyAll() | 194 self.mox.VerifyAll() |
| 189 | 195 |
| 196 def testGetPortageEnvVar(self): |
| 197 """Basic test case for _GetPortageEnvVar function.""" |
| 198 envvar = 'EXAMPLE' |
| 199 cbuildbot.RunCommand(mox.And(mox.IsA(list), mox.In(envvar)), |
| 200 cwd='%s/src/scripts' % self._buildroot, |
| 201 redirect_stdout=True, enter_chroot=True, |
| 202 error_ok=True).AndReturn('RESULT\n') |
| 203 self.mox.ReplayAll() |
| 204 result = cbuildbot._GetPortageEnvVar(self._buildroot, self._test_board, |
| 205 envvar) |
| 206 self.mox.VerifyAll() |
| 207 self.assertEqual(result, 'RESULT') |
| 208 |
| 209 def testUploadPublicPrebuilts(self): |
| 210 """Test _UploadPrebuilts with a public location.""" |
| 211 check = mox.And(mox.IsA(list), mox.In('gs://chromeos-prebuilt')) |
| 212 cbuildbot.RunCommand(check, cwd='%s/src/scripts' % self._buildroot) |
| 213 self.mox.ReplayAll() |
| 214 cbuildbot._UploadPrebuilts(self._buildroot, self._test_board, 'public') |
| 215 self.mox.VerifyAll() |
| 216 |
| 217 def testUploadPrivatePrebuilts(self): |
| 218 """Test _UploadPrebuilts with a private location.""" |
| 219 check = mox.And(mox.IsA(list), mox.In('chromeos-images:/var/www/prebuilt/')) |
| 220 cbuildbot.RunCommand(check, cwd='%s/src/scripts' % self._buildroot) |
| 221 self.mox.ReplayAll() |
| 222 cbuildbot._UploadPrebuilts(self._buildroot, self._test_board, 'private') |
| 223 self.mox.VerifyAll() |
| 224 |
| 190 | 225 |
| 191 if __name__ == '__main__': | 226 if __name__ == '__main__': |
| 192 unittest.main() | 227 unittest.main() |
| OLD | NEW |