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

Side by Side Diff: bin/cbuildbot_unittest.py

Issue 3163030: CBuildbot - Adds ability to only packages given by the sourcestamp. (Closed) Base URL: http://src.chromium.org/git/crosutils.git
Patch Set: Fix 80 char Created 10 years, 4 months 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
« no previous file with comments | « bin/cbuildbot.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/python
2
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
5 # found in the LICENSE file.
6
7 import __builtin__
8 import mox
9 import unittest
10
11 import cbuildbot
12
13 class CBuildBotTest(mox.MoxTestBase):
14
15 def setUp(self):
16 mox.MoxTestBase.setUp(self)
17 # Always stub RunCommmand out as we use it in every method.
18 self.mox.StubOutWithMock(cbuildbot, 'RunCommand')
19 self._test_repos = [['kernel', 'third_party/kernel/files'],
20 ['login_manager', 'platform/login_manager']
21 ]
22 self._test_cros_workon_packages = \
23 'chromeos-base/kernel\nchromeos-base/chromeos-login\n'
24 self._test_board = 'test-board'
25 self._buildroot = '.'
26 self._test_dict = {'kernel' : ['chromos-base/kernel', 'dev-util/perf'],
27 'cros' : ['chromos-base/libcros']
28 }
29 self._test_string = "kernel.git@12345test cros.git@12333test"
30 self._revision_file = 'test-revisions.pfq'
31 self._test_parsed_string_array = [
32 ['chromeos-base/kernel', '12345test'],
33 ['dev-util/perf', '12345test'],
34 ['chromos-base/libcros', '12345test']
35 ]
36
37 def testParseRevisionString(self):
38 """Test whether _ParseRevisionString parses string correctly."""
39 return_array = cbuildbot._ParseRevisionString(self._test_string,
40 self._test_dict)
41 self.assertEqual(len(return_array), 3)
42 self.assertTrue(
43 'chromeos-base/kernel', '12345test' in return_array)
44 self.assertTrue(
45 'dev-util/perf', '12345test' in return_array)
46 self.assertTrue(
47 'chromos-base/libcros', '12345test' in return_array)
48
49 def testCreateDictionary(self):
50 self.mox.StubOutWithMock(cbuildbot, '_GetAllGitRepos')
51 self.mox.StubOutWithMock(cbuildbot, '_GetCrosWorkOnSrcPath')
52 cbuildbot._GetAllGitRepos(mox.IgnoreArg()).AndReturn(self._test_repos)
53 cbuildbot.RunCommand(mox.IgnoreArg(),
54 cwd='%s/src/scripts' % self._buildroot,
55 redirect_stdout=True,
56 redirect_stderr=True,
57 enter_chroot=True,
58 print_cmd=False).AndReturn(
59 self._test_cros_workon_packages)
60 cbuildbot._GetCrosWorkOnSrcPath(self._buildroot, self._test_board,
61 'chromeos-base/kernel').AndReturn(
62 '/home/test/third_party/kernel/files')
63 cbuildbot._GetCrosWorkOnSrcPath(self._buildroot, self._test_board,
64 'chromeos-base/chromeos-login').AndReturn(
65 '/home/test/platform/login_manager')
66 self.mox.ReplayAll()
67 repo_dict = cbuildbot._CreateRepoDictionary(self._buildroot,
68 self._test_board)
69 self.assertEqual(repo_dict['kernel'], ['chromeos-base/kernel'])
70 self.assertEqual(repo_dict['login_manager'],
71 ['chromeos-base/chromeos-login'])
72 self.mox.VerifyAll()
73
74 def testUprevPackages(self):
75 self.mox.StubOutWithMock(cbuildbot, '_CreateRepoDictionary')
76 self.mox.StubOutWithMock(cbuildbot, '_ParseRevisionString')
77 self.mox.StubOutWithMock(cbuildbot, '_UprevFromRevisionList')
78 self.mox.StubOutWithMock(__builtin__, 'open')
79
80 # Mock out file interaction.
81 m_file = self.mox.CreateMock(file)
82 __builtin__.open(self._revision_file).AndReturn(m_file)
83 m_file.read().AndReturn(self._test_string)
84 m_file.close()
85
86 cbuildbot._CreateRepoDictionary(self._buildroot,
87 self._test_board).AndReturn(self._test_dict)
88 cbuildbot._ParseRevisionString(self._test_string,
89 self._test_dict).AndReturn(
90 self._test_parsed_string_array)
91 cbuildbot._UprevFromRevisionList(self._buildroot,
92 self._test_parsed_string_array)
93 self.mox.ReplayAll()
94 cbuildbot._UprevPackages(self._buildroot, self._revision_file,
95 self._test_board)
96 self.mox.VerifyAll()
97
98
99 if __name__ == '__main__':
100 unittest.main()
OLDNEW
« no previous file with comments | « bin/cbuildbot.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698