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

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: s/os.path.exists/os.path.isdir/g 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
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 ]
diandersAtChromium 2010/11/12 22:09:35 NIT: line too long
davidjames 2010/11/12 22:31:25 Done.
47 self._chroot_overlays = [ ReinterpretPathForChroot(self._overlays[0]) ]
diandersAtChromium 2010/11/12 22:09:35 NIT: [ ReinterpretPathForChroot(p) for p in self._
davidjames 2010/11/12 22:31:25 Done.
45 48
46 def testParseRevisionString(self): 49 def testParseRevisionString(self):
47 """Test whether _ParseRevisionString parses string correctly.""" 50 """Test whether _ParseRevisionString parses string correctly."""
48 return_array = cbuildbot._ParseRevisionString(self._test_string, 51 return_array = cbuildbot._ParseRevisionString(self._test_string,
49 self._test_dict) 52 self._test_dict)
50 self.assertEqual(len(return_array), 3) 53 self.assertEqual(len(return_array), 3)
51 self.assertTrue( 54 self.assertTrue(
52 'chromeos-base/kernel', '12345test' in return_array) 55 'chromeos-base/kernel', '12345test' in return_array)
53 self.assertTrue( 56 self.assertTrue(
54 'dev-util/perf', '12345test' in return_array) 57 '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') 164 self.mox.StubOutWithMock(__builtin__, 'open')
162 165
163 # Mock out file interaction. 166 # Mock out file interaction.
164 m_file = self.mox.CreateMock(file) 167 m_file = self.mox.CreateMock(file)
165 __builtin__.open(self._revision_file).AndReturn(m_file) 168 __builtin__.open(self._revision_file).AndReturn(m_file)
166 m_file.read().AndReturn(self._test_string) 169 m_file.read().AndReturn(self._test_string)
167 m_file.close() 170 m_file.close()
168 171
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(self._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, self._overla ys)
diandersAtChromium 2010/11/12 22:09:35 NIT: > 80 characters
davidjames 2010/11/12 22:31:25 Done.
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
190 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all', 194 cbuildbot.RunCommand(['./cros_mark_as_stable', '--all',
191 '--board=%s' % self._test_board, 195 '--board=%s' % self._test_board,
192 '--tracking_branch="cros/master"', 'commit'], 196 '--overlays=%s' % ':'.join(self._chroot_overlays),
197 '--tracking_branch=cros/master', 'commit'],
193 cwd='%s/src/scripts' % self._buildroot, 198 cwd='%s/src/scripts' % self._buildroot,
194 enter_chroot=True) 199 enter_chroot=True)
195 200
196 self.mox.ReplayAll() 201 self.mox.ReplayAll()
197 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch, 202 cbuildbot._UprevPackages(self._buildroot, self.tracking_branch,
198 self._revision_file, self._test_board) 203 self._revision_file, self._test_board, self._overla ys)
diandersAtChromium 2010/11/12 22:09:35 NIT: > 80 characters
davidjames 2010/11/12 22:31:25 Done.
199 self.mox.VerifyAll() 204 self.mox.VerifyAll()
200 205
201 206
202 if __name__ == '__main__': 207 if __name__ == '__main__':
203 unittest.main() 208 unittest.main()
OLDNEW
« no previous file with comments | « bin/cbuildbot_config.py ('k') | cros_mark_as_stable.py » ('j') | cros_mark_as_stable.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698