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

Side by Side Diff: appengine/findit/waterfall/test/buildbot_test.py

Issue 2563383002: [Findit] Flake Checker: Extract commit position and git hash and display to UI for each analyzed bu… (Closed)
Patch Set: Fixing nit Created 4 years 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from datetime import datetime 5 from datetime import datetime
6 import mock 6 import mock
7 import os 7 import os
8 import unittest 8 import unittest
9 9
10 from libs.http.retry_http_client import RetryHttpClient 10 from libs.http.retry_http_client import RetryHttpClient
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 build_file = os.path.join( 282 build_file = os.path.join(
283 os.path.dirname(__file__), 'data', 'running_build.json') 283 os.path.dirname(__file__), 'data', 'running_build.json')
284 with open(build_file, 'r') as f: 284 with open(build_file, 'r') as f:
285 build_data = f.read() 285 build_data = f.read()
286 286
287 master_name = 'a' 287 master_name = 'a'
288 builder_name = 'b' 288 builder_name = 'b'
289 build_number = 632 289 build_number = 632
290 expected_build_start_time = datetime.utcfromtimestamp(1417470720.763887) 290 expected_build_start_time = datetime.utcfromtimestamp(1417470720.763887)
291 expected_chromium_revision = '449cdbd05616de91fcf7e8b4282e300336d6d7c5' 291 expected_chromium_revision = '449cdbd05616de91fcf7e8b4282e300336d6d7c5'
292 expected_commit_position = 306253
292 expected_completed = False 293 expected_completed = False
293 expected_result = None 294 expected_result = None
294 expected_blame_list = [ 295 expected_blame_list = [
295 'f1e24ae21c95228522c24697dae474db5f26854b', 296 'f1e24ae21c95228522c24697dae474db5f26854b',
296 'fae4955b2ae9cf68aa2a391a7640b1c3276656e8', 297 'fae4955b2ae9cf68aa2a391a7640b1c3276656e8',
297 '4ef763a9bb3dc53c7afccbcab9a1b0327b83681c', 298 '4ef763a9bb3dc53c7afccbcab9a1b0327b83681c',
298 '89ef2ae2a6e2d21813c14471eb444c8651b46651', 299 '89ef2ae2a6e2d21813c14471eb444c8651b46651',
299 '58becfc708670659119ca72472d1d0882797f706', 300 '58becfc708670659119ca72472d1d0882797f706',
300 '1cc47034de564d0fd33a89c7d785a539b6c3a5a0', 301 '1cc47034de564d0fd33a89c7d785a539b6c3a5a0',
301 '87be98a1f687d430c4e1e1a5da04065067a4c1cc', 302 '87be98a1f687d430c4e1e1a5da04065067a4c1cc',
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 ] 379 ]
379 380
380 build_info = buildbot.ExtractBuildInfo( 381 build_info = buildbot.ExtractBuildInfo(
381 master_name, builder_name, build_number, build_data) 382 master_name, builder_name, build_number, build_data)
382 383
383 self.assertEqual(master_name, build_info.master_name) 384 self.assertEqual(master_name, build_info.master_name)
384 self.assertEqual(builder_name, build_info.builder_name) 385 self.assertEqual(builder_name, build_info.builder_name)
385 self.assertEqual(build_number, build_info.build_number) 386 self.assertEqual(build_number, build_info.build_number)
386 self.assertEqual(expected_build_start_time, build_info.build_start_time) 387 self.assertEqual(expected_build_start_time, build_info.build_start_time)
387 self.assertEqual(expected_chromium_revision, build_info.chromium_revision) 388 self.assertEqual(expected_chromium_revision, build_info.chromium_revision)
389 self.assertEqual(expected_commit_position, build_info.commit_position)
388 self.assertEqual(expected_completed, build_info.completed) 390 self.assertEqual(expected_completed, build_info.completed)
389 self.assertEqual(expected_result, build_info.result) 391 self.assertEqual(expected_result, build_info.result)
390 self.assertEqual(expected_blame_list, build_info.blame_list) 392 self.assertEqual(expected_blame_list, build_info.blame_list)
391 self.assertEqual(expected_failed_steps, build_info.failed_steps) 393 self.assertEqual(expected_failed_steps, build_info.failed_steps)
392 self.assertEqual(expected_passed_steps, build_info.passed_steps) 394 self.assertEqual(expected_passed_steps, build_info.passed_steps)
393 self.assertEqual(expected_not_passed_steps, build_info.not_passed_steps) 395 self.assertEqual(expected_not_passed_steps, build_info.not_passed_steps)
394 396
395 def testExtractBuildInfoOfCompletedBuild(self): 397 def testExtractBuildInfoOfCompletedBuild(self):
396 build_file = os.path.join( 398 build_file = os.path.join(
397 os.path.dirname(__file__), 'data', 'completed_build.json') 399 os.path.dirname(__file__), 'data', 'completed_build.json')
398 with open(build_file, 'r') as f: 400 with open(build_file, 'r') as f:
399 build_data = f.read() 401 build_data = f.read()
400 402
401 master_name = 'a' 403 master_name = 'a'
402 builder_name = 'b' 404 builder_name = 'b'
403 build_number = 632 405 build_number = 632
404 expected_build_start_time = datetime.utcfromtimestamp(1417470720.763887) 406 expected_build_start_time = datetime.utcfromtimestamp(1417470720.763887)
405 expected_chromium_revision = '449cdbd05616de91fcf7e8b4282e300336d6d7c5' 407 expected_chromium_revision = '449cdbd05616de91fcf7e8b4282e300336d6d7c5'
408 expected_commit_position = 306253
406 expected_completed = True 409 expected_completed = True
407 expected_result = None 410 expected_result = None
408 expected_blame_list = [ 411 expected_blame_list = [
409 '449cdbd05616de91fcf7e8b4282e300336d6d7c5' 412 '449cdbd05616de91fcf7e8b4282e300336d6d7c5'
410 ] 413 ]
411 expected_failed_steps = [ 414 expected_failed_steps = [
412 'net_unittests on Windows-XP-SP3' 415 'net_unittests on Windows-XP-SP3'
413 ] 416 ]
414 expected_passed_steps = [ 417 expected_passed_steps = [
415 'browser_tests on Windows-XP-SP3' 418 'browser_tests on Windows-XP-SP3'
416 ] 419 ]
417 expected_not_passed_steps = [ 420 expected_not_passed_steps = [
418 'steps', 421 'steps',
419 'net_unittests on Windows-XP-SP3', 422 'net_unittests on Windows-XP-SP3',
420 ] 423 ]
421 424
422 build_info = buildbot.ExtractBuildInfo( 425 build_info = buildbot.ExtractBuildInfo(
423 master_name, builder_name, build_number, build_data) 426 master_name, builder_name, build_number, build_data)
424 427
425 self.assertEqual(master_name, build_info.master_name) 428 self.assertEqual(master_name, build_info.master_name)
426 self.assertEqual(builder_name, build_info.builder_name) 429 self.assertEqual(builder_name, build_info.builder_name)
427 self.assertEqual(build_number, build_info.build_number) 430 self.assertEqual(build_number, build_info.build_number)
428 self.assertEqual(expected_build_start_time, build_info.build_start_time) 431 self.assertEqual(expected_build_start_time, build_info.build_start_time)
429 self.assertEqual(expected_chromium_revision, build_info.chromium_revision) 432 self.assertEqual(expected_chromium_revision, build_info.chromium_revision)
433 self.assertEqual(expected_commit_position, build_info.commit_position)
430 self.assertEqual(expected_completed, build_info.completed) 434 self.assertEqual(expected_completed, build_info.completed)
431 self.assertEqual(expected_result, build_info.result) 435 self.assertEqual(expected_result, build_info.result)
432 self.assertEqual(expected_blame_list, build_info.blame_list) 436 self.assertEqual(expected_blame_list, build_info.blame_list)
433 self.assertEqual(expected_failed_steps, build_info.failed_steps) 437 self.assertEqual(expected_failed_steps, build_info.failed_steps)
434 self.assertEqual(expected_passed_steps, build_info.passed_steps) 438 self.assertEqual(expected_passed_steps, build_info.passed_steps)
435 self.assertEqual(expected_not_passed_steps, build_info.not_passed_steps) 439 self.assertEqual(expected_not_passed_steps, build_info.not_passed_steps)
436 440
437 def testExtractBuildInfoBlameList(self): 441 def testExtractBuildInfoBlameList(self):
438 build_file = os.path.join( 442 build_file = os.path.join(
439 os.path.dirname(__file__), 'data', 'blame_list_test.json') 443 os.path.dirname(__file__), 'data', 'blame_list_test.json')
440 with open(build_file, 'r') as f: 444 with open(build_file, 'r') as f:
441 build_data = f.read() 445 build_data = f.read()
442 446
443 master_name = 'a' 447 master_name = 'a'
444 builder_name = 'b' 448 builder_name = 'b'
445 build_number = 632 449 build_number = 632
446 450
447 expected_blame_list = [ 451 expected_blame_list = [
448 '449cdbd05616de91fcf7e8b4282e300336d6d7c5', 452 '449cdbd05616de91fcf7e8b4282e300336d6d7c5',
449 '6addffac2601ab1083a55d085847d9bf8e66da02' 453 '6addffac2601ab1083a55d085847d9bf8e66da02'
450 ] 454 ]
451 455
452 build_info = buildbot.ExtractBuildInfo( 456 build_info = buildbot.ExtractBuildInfo(
453 master_name, builder_name, build_number, build_data) 457 master_name, builder_name, build_number, build_data)
454 458
455 self.assertEqual(expected_blame_list, build_info.blame_list) 459 self.assertEqual(expected_blame_list, build_info.blame_list)
460
461 def testGetCommitPosition(self):
462 self.assertIsNone(buildbot._GetCommitPosition(None))
463 self.assertIsNone(buildbot._GetCommitPosition(''))
464 self.assertIsNone(buildbot._GetCommitPosition('not a commit position'))
465 self.assertEqual(
466 438538, buildbot._GetCommitPosition('refs/heads/master@{#438538}'))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698