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

Side by Side Diff: prebuilt_unittest.py

Issue 4102001: Add support for prebuilt uploading using rsync. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/crosutils.git
Patch Set: Fix nits 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 | « prebuilt.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
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import mox 6 import mox
7 import os 7 import os
8 import prebuilt 8 import prebuilt
9 import shutil 9 import shutil
10 import tempfile 10 import tempfile
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 tmp = open(full_path, 'w') 102 tmp = open(full_path, 'w')
103 tmp.close() 103 tmp.close()
104 104
105 def _LoadPrivateMockFilters(self): 105 def _LoadPrivateMockFilters(self):
106 """Load mock filters as defined in the setUp function.""" 106 """Load mock filters as defined in the setUp function."""
107 dir_structure = [os.path.join(self.private_structure_base, entry) 107 dir_structure = [os.path.join(self.private_structure_base, entry)
108 for entry in self.private_pkgs] 108 for entry in self.private_pkgs]
109 109
110 self._CreateNestedDir(self.private_dir, dir_structure) 110 self._CreateNestedDir(self.private_dir, dir_structure)
111 prebuilt.LoadPrivateFilters(self.tmp_dir) 111 prebuilt.LoadPrivateFilters(self.tmp_dir)
112 112
113 def testFilterPattern(self): 113 def testFilterPattern(self):
114 """Check that particular packages are filtered properly.""" 114 """Check that particular packages are filtered properly."""
115 self._LoadPrivateMockFilters() 115 self._LoadPrivateMockFilters()
116 packages = ['/some/dir/area/j-t-r-0.1.r3.tbz', 116 packages = ['/some/dir/area/j-t-r-0.1.r3.tbz',
117 '/var/pkgs/new/alpha_beta-0.2.3.4.tbz', 117 '/var/pkgs/new/alpha_beta-0.2.3.4.tbz',
118 '/usr/local/cache/good-0.1.3.tbz', 118 '/usr/local/cache/good-0.1.3.tbz',
119 '/usr-blah/b_d/salt-flavor-0.0.3.tbz'] 119 '/usr-blah/b_d/salt-flavor-0.0.3.tbz']
120 expected_list = ['/usr/local/cache/good-0.1.3.tbz'] 120 expected_list = ['/usr/local/cache/good-0.1.3.tbz']
121 filtered_list = [file for file in packages if not 121 filtered_list = [file for file in packages if not
122 prebuilt.ShouldFilterPackage(file)] 122 prebuilt.ShouldFilterPackage(file)]
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 """ 157 """
158 results = {} 158 results = {}
159 for entry in self.files_to_sync: 159 for entry in self.files_to_sync:
160 results[entry] = os.path.join( 160 results[entry] = os.path.join(
161 gs_bucket_path, entry.replace(self.fake_path, '').lstrip('/')) 161 gs_bucket_path, entry.replace(self.fake_path, '').lstrip('/'))
162 return results 162 return results
163 163
164 def testGenerateUploadDict(self): 164 def testGenerateUploadDict(self):
165 gs_bucket_path = 'gs://chromeos-prebuilt/host/version' 165 gs_bucket_path = 'gs://chromeos-prebuilt/host/version'
166 self.mox.StubOutWithMock(cros_build_lib, 'ListFiles') 166 self.mox.StubOutWithMock(cros_build_lib, 'ListFiles')
167 cros_build_lib.ListFiles(' ').AndReturn(self.files_to_sync) 167 cros_build_lib.ListFiles(self.fake_path).AndReturn(self.files_to_sync)
168 self.mox.ReplayAll() 168 self.mox.ReplayAll()
169 result = prebuilt.GenerateUploadDict(' ', gs_bucket_path, self.fake_path) 169 result = prebuilt.GenerateUploadDict(self.fake_path, gs_bucket_path)
170 self.assertEqual(result, self._generate_dict_results(gs_bucket_path)) 170 self.assertEqual(result, self._generate_dict_results(gs_bucket_path))
171 171
172 def testFailonUploadFail(self): 172 def testFailonUploadFail(self):
173 """Make sure we fail if one of the upload processes fail.""" 173 """Make sure we fail if one of the upload processes fail."""
174 files = {'test': '/uasd'} 174 files = {'test': '/uasd'}
175 self.assertEqual(prebuilt.RemoteUpload(files), set([('test', '/uasd')])) 175 self.assertEqual(prebuilt.RemoteUpload(files), set([('test', '/uasd')]))
176 176
177 def testDetermineMakeConf(self): 177 def testDetermineMakeConf(self):
178 """Test the different known variants of boards for proper path discovery.""" 178 """Test the different known variants of boards for proper path discovery."""
179 targets = {'amd64': os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64']), 179 targets = {'amd64': os.path.join(prebuilt._PREBUILT_MAKE_CONF['amd64']),
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 temp_packages_file.flush() 222 temp_packages_file.flush()
223 new_packages_file = prebuilt.FilterPackagesFile(temp_packages_file.name) 223 new_packages_file = prebuilt.FilterPackagesFile(temp_packages_file.name)
224 new_contents = open(new_packages_file.name).read() 224 new_contents = open(new_packages_file.name).read()
225 self.assertEqual("".join(private_packages_file), new_contents) 225 self.assertEqual("".join(private_packages_file), new_contents)
226 self.assertEqual("".join(private_packages_file), new_packages_file.read()) 226 self.assertEqual("".join(private_packages_file), new_packages_file.read())
227 new_packages_file.close() 227 new_packages_file.close()
228 228
229 229
230 if __name__ == '__main__': 230 if __name__ == '__main__':
231 unittest.main() 231 unittest.main()
OLDNEW
« no previous file with comments | « prebuilt.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698