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

Side by Side Diff: tests/download_from_google_storage_unittests.py

Issue 42273002: Add a platform filtering and executable setting abilities to download_from_google_storage. (Closed) Base URL: http://src.chromium.org/svn/trunk/tools/depot_tools/
Patch Set: Created 7 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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium 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 # pylint: disable=W0212 5 # pylint: disable=W0212
6 6
7 """Unit tests for download_from_google_storage.py.""" 7 """Unit tests for download_from_google_storage.py."""
8 8
9 import optparse 9 import optparse
10 import os 10 import os
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 self.assertEqual(queue_size, 3) 165 self.assertEqual(queue_size, 3)
166 166
167 def test_download_worker_single_file(self): 167 def test_download_worker_single_file(self):
168 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f' 168 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f'
169 input_filename = '%s/%s' % (self.base_url, sha1_hash) 169 input_filename = '%s/%s' % (self.base_url, sha1_hash)
170 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt') 170 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt')
171 self.queue.put((sha1_hash, output_filename)) 171 self.queue.put((sha1_hash, output_filename))
172 self.queue.put((None, None)) 172 self.queue.put((None, None))
173 stdout_queue = Queue.Queue() 173 stdout_queue = Queue.Queue()
174 download_from_google_storage._downloader_worker_thread( 174 download_from_google_storage._downloader_worker_thread(
175 0, self.queue, False, self.base_url, self.gsutil, 175 0, self.queue, False, self.base_url, self.gsutil, False,
176 stdout_queue, self.ret_codes) 176 stdout_queue, self.ret_codes)
177 expected_calls = [ 177 expected_calls = [
178 ('check_call', 178 ('check_call',
179 ('ls', input_filename)), 179 ('ls', input_filename)),
180 ('check_call', 180 ('check_call',
181 ('cp', '-q', input_filename, output_filename))] 181 ('cp', '-q', input_filename, output_filename))]
182 expected_output = [ 182 expected_output = [
183 '0> Downloading %s...' % output_filename] 183 '0> Downloading %s...' % output_filename]
184 expected_ret_codes = [] 184 expected_ret_codes = []
185 self.assertEqual(list(stdout_queue.queue), expected_output) 185 self.assertEqual(list(stdout_queue.queue), expected_output)
186 self.assertEqual(self.gsutil.history, expected_calls) 186 self.assertEqual(self.gsutil.history, expected_calls)
187 self.assertEqual(list(self.ret_codes.queue), expected_ret_codes) 187 self.assertEqual(list(self.ret_codes.queue), expected_ret_codes)
188 188
189 def test_download_worker_skips_file(self): 189 def test_download_worker_skips_file(self):
190 sha1_hash = 'e6c4fbd4fe7607f3e6ebf68b2ea4ef694da7b4fe' 190 sha1_hash = 'e6c4fbd4fe7607f3e6ebf68b2ea4ef694da7b4fe'
191 output_filename = os.path.join(self.base_path, 'rootfolder_text.txt') 191 output_filename = os.path.join(self.base_path, 'rootfolder_text.txt')
192 self.queue.put((sha1_hash, output_filename)) 192 self.queue.put((sha1_hash, output_filename))
193 self.queue.put((None, None)) 193 self.queue.put((None, None))
194 stdout_queue = Queue.Queue() 194 stdout_queue = Queue.Queue()
195 download_from_google_storage._downloader_worker_thread( 195 download_from_google_storage._downloader_worker_thread(
196 0, self.queue, False, self.base_url, self.gsutil, 196 0, self.queue, False, self.base_url, self.gsutil, False,
197 stdout_queue, self.ret_codes) 197 stdout_queue, self.ret_codes)
198 expected_output = [ 198 expected_output = [
199 '0> File %s exists and SHA1 matches. Skipping.' % output_filename 199 '0> File %s exists and SHA1 matches. Skipping.' % output_filename
200 ] 200 ]
201 self.assertEqual(list(stdout_queue.queue), expected_output) 201 self.assertEqual(list(stdout_queue.queue), expected_output)
202 self.assertEqual(self.gsutil.history, []) 202 self.assertEqual(self.gsutil.history, [])
203 203
204 def test_download_worker_skips_not_found_file(self): 204 def test_download_worker_skips_not_found_file(self):
205 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f' 205 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f'
206 input_filename = '%s/%s' % (self.base_url, sha1_hash) 206 input_filename = '%s/%s' % (self.base_url, sha1_hash)
207 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt') 207 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt')
208 self.queue.put((sha1_hash, output_filename)) 208 self.queue.put((sha1_hash, output_filename))
209 self.queue.put((None, None)) 209 self.queue.put((None, None))
210 stdout_queue = Queue.Queue() 210 stdout_queue = Queue.Queue()
211 self.gsutil.add_expected(1, '', '') # Return error when 'ls' is called. 211 self.gsutil.add_expected(1, '', '') # Return error when 'ls' is called.
212 download_from_google_storage._downloader_worker_thread( 212 download_from_google_storage._downloader_worker_thread(
213 0, self.queue, False, self.base_url, self.gsutil, 213 0, self.queue, False, self.base_url, self.gsutil, False,
214 stdout_queue, self.ret_codes) 214 stdout_queue, self.ret_codes)
215 expected_output = [ 215 expected_output = [
216 '0> File %s for %s does not exist, skipping.' % ( 216 '0> File %s for %s does not exist, skipping.' % (
217 input_filename, output_filename), 217 input_filename, output_filename),
218 ] 218 ]
219 expected_calls = [ 219 expected_calls = [
220 ('check_call', 220 ('check_call',
221 ('ls', input_filename)) 221 ('ls', input_filename))
222 ] 222 ]
223 expected_ret_codes = [ 223 expected_ret_codes = [
224 (1, 'File %s for %s does not exist.' % ( 224 (1, 'File %s for %s does not exist.' % (
225 input_filename, output_filename)) 225 input_filename, output_filename))
226 ] 226 ]
227 self.assertEqual(list(stdout_queue.queue), expected_output) 227 self.assertEqual(list(stdout_queue.queue), expected_output)
228 self.assertEqual(self.gsutil.history, expected_calls) 228 self.assertEqual(self.gsutil.history, expected_calls)
229 self.assertEqual(list(self.ret_codes.queue), expected_ret_codes) 229 self.assertEqual(list(self.ret_codes.queue), expected_ret_codes)
230 230
231 def test_download_cp_fails(self): 231 def test_download_cp_fails(self):
232 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f' 232 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f'
233 input_filename = '%s/%s' % (self.base_url, sha1_hash) 233 input_filename = '%s/%s' % (self.base_url, sha1_hash)
234 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt') 234 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt')
235 self.gsutil.add_expected(0, '', '') 235 self.gsutil.add_expected(0, '', '')
236 self.gsutil.add_expected(101, '', 'Test error message.') 236 self.gsutil.add_expected(101, '', 'Test error message.')
237 code = download_from_google_storage.download_from_google_storage( 237 code = download_from_google_storage.download_from_google_storage(
238 input_filename=sha1_hash, 238 input_filename=sha1_hash,
239 base_url=self.base_url, 239 base_url=self.base_url,
240 gsutil=self.gsutil, 240 gsutil=self.gsutil,
241 make_executable=False,
241 num_threads=1, 242 num_threads=1,
242 directory=False, 243 directory=False,
243 recursive=False, 244 recursive=False,
244 force=True, 245 force=True,
245 output=output_filename, 246 output=output_filename,
246 ignore_errors=False, 247 ignore_errors=False,
247 sha1_file=False) 248 sha1_file=False)
248 expected_calls = [ 249 expected_calls = [
249 ('check_call', 250 ('check_call',
250 ('ls', input_filename)), 251 ('ls', input_filename)),
251 ('check_call', 252 ('check_call',
252 ('cp', '-q', input_filename, output_filename)) 253 ('cp', '-q', input_filename, output_filename))
253 ] 254 ]
254 self.assertEqual(self.gsutil.history, expected_calls) 255 self.assertEqual(self.gsutil.history, expected_calls)
255 self.assertEqual(code, 101) 256 self.assertEqual(code, 101)
256 257
257 def test_download_directory_no_recursive_non_force(self): 258 def test_download_directory_no_recursive_non_force(self):
258 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f' 259 sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f'
259 input_filename = '%s/%s' % (self.base_url, sha1_hash) 260 input_filename = '%s/%s' % (self.base_url, sha1_hash)
260 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt') 261 output_filename = os.path.join(self.base_path, 'uploaded_lorem_ipsum.txt')
261 code = download_from_google_storage.download_from_google_storage( 262 code = download_from_google_storage.download_from_google_storage(
262 input_filename=self.base_path, 263 input_filename=self.base_path,
263 base_url=self.base_url, 264 base_url=self.base_url,
264 gsutil=self.gsutil, 265 gsutil=self.gsutil,
266 make_executable=False,
265 num_threads=1, 267 num_threads=1,
266 directory=True, 268 directory=True,
267 recursive=False, 269 recursive=False,
268 force=False, 270 force=False,
269 output=None, 271 output=None,
270 ignore_errors=False, 272 ignore_errors=False,
271 sha1_file=False) 273 sha1_file=False)
272 expected_calls = [ 274 expected_calls = [
273 ('check_call', 275 ('check_call',
274 ('ls', input_filename)), 276 ('ls', input_filename)),
275 ('check_call', 277 ('check_call',
276 ('cp', '-q', input_filename, output_filename))] 278 ('cp', '-q', input_filename, output_filename))]
277 self.assertEqual(self.gsutil.history, expected_calls) 279 self.assertEqual(self.gsutil.history, expected_calls)
278 self.assertEqual(code, 0) 280 self.assertEqual(code, 0)
279 281
280 282
281 if __name__ == '__main__': 283 if __name__ == '__main__':
282 unittest.main() 284 unittest.main()
OLDNEW
« download_from_google_storage.py ('K') | « download_from_google_storage.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698