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

Side by Side Diff: bin/cbuildbot_unittest.py

Issue 4442001: Add more error checking to preflight queue. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Fix bug in FindRepoDir Created 10 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « bin/cbuildbot_config.py ('k') | cros_mark_as_stable.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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']
29 ] 30 ]
30 self._test_cros_workon_packages = \ 31 self._test_cros_workon_packages = \
31 'chromeos-base/kernel\nchromeos-base/chromeos-login\n' 32 'chromeos-base/kernel\nchromeos-base/chromeos-login\n'
32 self._test_board = 'test-board' 33 self._test_board = 'test-board'
33 self._buildroot = '.' 34 self._buildroot = '.'
34 self._test_dict = {'kernel' : ['chromos-base/kernel', 'dev-util/perf'], 35 self._test_dict = {'kernel' : ['chromos-base/kernel', 'dev-util/perf'],
35 'cros' : ['chromos-base/libcros'] 36 'cros' : ['chromos-base/libcros']
36 } 37 }
37 self._test_string = "kernel.git@12345test cros.git@12333test" 38 self._test_string = "kernel.git@12345test cros.git@12333test"
38 self._test_string += " crosutils.git@blahblah" 39 self._test_string += " crosutils.git@blahblah"
39 self._revision_file = 'test-revisions.pfq' 40 self._revision_file = 'test-revisions.pfq'
40 self._test_parsed_string_array = [ 41 self._test_parsed_string_array = [
41 ['chromeos-base/kernel', '12345test'], 42 ['chromeos-base/kernel', '12345test'],
42 ['dev-util/perf', '12345test'], 43 ['dev-util/perf', '12345test'],
43 ['chromos-base/libcros', '12345test'] 44 ['chromos-base/libcros', '12345test']
44 ] 45 ]
46 self._overlays = ['%s/src/third_party/chromiumos-overlay' % self._buildroot]
47 self._chroot_overlays = [
48 ReinterpretPathForChroot(p) for p in self._overlays
49 ]
45 50
46 def testParseRevisionString(self): 51 def testParseRevisionString(self):
47 """Test whether _ParseRevisionString parses string correctly.""" 52 """Test whether _ParseRevisionString parses string correctly."""
48 return_array = cbuildbot._ParseRevisionString(self._test_string, 53 return_array = cbuildbot._ParseRevisionString(self._test_string,
49 self._test_dict) 54 self._test_dict)
50 self.assertEqual(len(return_array), 3) 55 self.assertEqual(len(return_array), 3)
51 self.assertTrue( 56 self.assertTrue(
52 'chromeos-base/kernel', '12345test' in return_array) 57 'chromeos-base/kernel', '12345test' in return_array)
53 self.assertTrue( 58 self.assertTrue(
54 'dev-util/perf', '12345test' in return_array) 59 'dev-util/perf', '12345test' in return_array)
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 self.mox.StubOutWithMock(__builtin__, 'open') 166 self.mox.StubOutWithMock(__builtin__, 'open')
162 167
163 # Mock out file interaction. 168 # Mock out file interaction.
164 m_file = self.mox.CreateMock(file) 169 m_file = self.mox.CreateMock(file)
165 __builtin__.open(self._revision_file).AndReturn(m_file) 170 __builtin__.open(self._revision_file).AndReturn(m_file)
166 m_file.read().AndReturn(self._test_string) 171 m_file.read().AndReturn(self._test_string)
167 m_file.close() 172 m_file.close()
168 173
169 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', 174 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all',
170 '--board=%s' % self._test_board, 175 '--board=%s' % self._test_board,
171 '--tracking_branch="cros/master"', 'commit'], 176 '--overlays=%s' % ':'.join(self._chroot_overlays),
177 '--tracking_branch=cros/master', 'commit'],
172 cwd='%s/src/scripts' % self._buildroot, 178 cwd='%s/src/scripts' % self._buildroot,
173 enter_chroot=True) 179 enter_chroot=True)
174 180
175 self.mox.ReplayAll() 181 self.mox.ReplayAll()
176 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, 182 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch,
177 self._revision_file, self._test_board) 183 self._revision_file, self._test_board,
184 self._overlays)
178 self.mox.VerifyAll() 185 self.mox.VerifyAll()
179 186
180 def testUprevAllPackages(self): 187 def testUprevAllPackages(self):
181 """Test if we get None in revisions.pfq indicating Full Builds.""" 188 """Test if we get None in revisions.pfq indicating Full Builds."""
182 self.mox.StubOutWithMock(__builtin__, 'open') 189 self.mox.StubOutWithMock(__builtin__, 'open')
183 190
184 # Mock out file interaction. 191 # Mock out file interaction.
185 m_file = self.mox.CreateMock(file) 192 m_file = self.mox.CreateMock(file)
186 __builtin__.open(self._revision_file).AndReturn(m_file) 193 __builtin__.open(self._revision_file).AndReturn(m_file)
187 m_file.read().AndReturn('None') 194 m_file.read().AndReturn('None')
188 m_file.close() 195 m_file.close()
189 196
190 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', 197 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all',
191 '--board=%s' % self._test_board, 198 '--board=%s' % self._test_board,
192 '--tracking_branch="cros/master"', 'commit'], 199 '--overlays=%s' % ':'.join(self._chroot_overlays),
200 '--tracking_branch=cros/master', 'commit'],
193 cwd='%s/src/scripts' % self._buildroot, 201 cwd='%s/src/scripts' % self._buildroot,
194 enter_chroot=True) 202 enter_chroot=True)
195 203
196 self.mox.ReplayAll() 204 self.mox.ReplayAll()
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,
207 self._overlays)
199 self.mox.VerifyAll() 208 self.mox.VerifyAll()
200 209
201 210
202 if __name__ == '__main__': 211 if __name__ == '__main__':
203 unittest.main() 212 unittest.main()
OLDNEW
« no previous file with comments | « bin/cbuildbot_config.py ('k') | cros_mark_as_stable.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698