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

Side by Side Diff: tools/auto_bisect/bisect_perf_regression_test.py

Issue 994183002: Make android-chrome bisect work with archives. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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 | « tools/auto_bisect/bisect_perf_regression.py ('k') | tools/auto_bisect/fetch_build.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import os 5 import os
6 import re 6 import re
7 import shutil 7 import shutil
8 import sys 8 import sys
9 import unittest 9 import unittest
10 10
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 423
424 def testGetCommitPositionForWebKit(self): 424 def testGetCommitPositionForWebKit(self):
425 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) 425 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS)
426 wk_rev = 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61' 426 wk_rev = 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61'
427 depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'WebKit') 427 depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'WebKit')
428 self.assertEqual( 428 self.assertEqual(
429 181660, source_control.GetCommitPosition(wk_rev, depot_path)) 429 181660, source_control.GetCommitPosition(wk_rev, depot_path))
430 430
431 def testGetCommitPositionForSkia(self): 431 def testGetCommitPositionForSkia(self):
432 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) 432 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS)
433 skia_rev = 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61' 433 skia_rev = 'a94d028eCheckAbortsEarly0f2c77f159b3dac95eb90c3b4cf48c61'
434 depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'skia') 434 depot_path = os.path.join(bisect_instance.src_cwd, 'third_party', 'skia')
435 # Skia doesn't use commit positions, and GetCommitPosition should 435 # Skia doesn't use commit positions, and GetCommitPosition should
436 # return None for repos that don't use commit positions. 436 # return None for repos that don't use commit positions.
437 self.assertIsNone(source_control.GetCommitPosition(skia_rev, depot_path)) 437 self.assertIsNone(source_control.GetCommitPosition(skia_rev, depot_path))
438 438
439 def testUpdateDepsContent(self): 439 def testUpdateDepsContent(self):
440 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) 440 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS)
441 deps_file = 'DEPS' 441 deps_file = 'DEPS'
442 # We are intentionally reading DEPS file contents instead of string literal 442 # We are intentionally reading DEPS file contents instead of string literal
443 # with few lines from DEPS because to check if the format we are expecting 443 # with few lines from DEPS because to check if the format we are expecting
(...skipping 30 matching lines...) Expand all
474 474
475 @mock.patch('bisect_utils.RunGit') 475 @mock.patch('bisect_utils.RunGit')
476 def testSyncToRevisionForWebKit(self, mock_RunGit): 476 def testSyncToRevisionForWebKit(self, mock_RunGit):
477 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS) 477 bisect_instance = _GetBisectPerformanceMetricsInstance(DEFAULT_OPTIONS)
478 mock_RunGit.return_value = None, None 478 mock_RunGit.return_value = None, None
479 bisect_instance._SyncRevision( 479 bisect_instance._SyncRevision(
480 'webkit', 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61' , None) 480 'webkit', 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61' , None)
481 expected_params = ['checkout', 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61'] 481 expected_params = ['checkout', 'a94d028e0f2c77f159b3dac95eb90c3b4cf48c61']
482 mock_RunGit.assert_called_with(expected_params) 482 mock_RunGit.assert_called_with(expected_params)
483 483
484 def testTryJobSvnRepo_PerfBuilderType_ReturnsRepoUrl(self):
485 self.assertEqual(bisect_perf_regression.PERF_SVN_REPO_URL,
486 bisect_perf_regression._TryJobSvnRepo(fetch_build.PERF_BUILDER))
487
488 def testTryJobSvnRepo_FullBuilderType_ReturnsRepoUrl(self):
489 self.assertEqual(bisect_perf_regression.FULL_SVN_REPO_URL,
490 bisect_perf_regression._TryJobSvnRepo(fetch_build.FULL_BUILDER))
491
492 def testTryJobSvnRepo_WithUnknownBuilderType_ThrowsError(self):
493 with self.assertRaises(NotImplementedError):
494 bisect_perf_regression._TryJobSvnRepo('foo')
495
496 def _CheckIsDownloadable(self, depot, target_platform='chromium',
497 builder_type='perf'):
498 opts = dict(DEFAULT_OPTIONS)
499 opts.update({'target_platform': target_platform,
500 'builder_type': builder_type})
501 bisect_instance = _GetBisectPerformanceMetricsInstance(opts)
502 return bisect_instance.IsDownloadable(depot)
503
504 def testIsDownloadable_ChromiumDepot_ReturnsTrue(self):
505 self.assertTrue(self._CheckIsDownloadable(depot='chromium'))
506
507 def testIsDownloadable_DEPSDepot_ReturnsTrue(self):
508 self.assertTrue(self._CheckIsDownloadable(depot='v8'))
509
510 def testIsDownloadable_AndroidChromeDepot_ReturnsTrue(self):
511 self.assertTrue(self._CheckIsDownloadable(
512 depot='android-chrome', target_platform='android-chrome'))
513
514 def testIsDownloadable_AndroidChromeWithDEPSChromium_ReturnsFalse(self):
515 self.assertFalse(self._CheckIsDownloadable(
516 depot='chromium', target_platform='android-chrome'))
517
518 def testIsDownloadable_AndroidChromeWithDEPSV8_ReturnsFalse(self):
519 self.assertFalse(self._CheckIsDownloadable(
520 depot='v8', target_platform='android-chrome'))
521
522 def testIsDownloadable_NoBuilderType_ReturnsFalse(self):
523 self.assertFalse(
524 self._CheckIsDownloadable(depot='chromium', builder_type=''))
525
484 526
485 class DepotDirectoryRegistryTest(unittest.TestCase): 527 class DepotDirectoryRegistryTest(unittest.TestCase):
486 528
487 def setUp(self): 529 def setUp(self):
488 self.old_chdir = os.chdir 530 self.old_chdir = os.chdir
489 os.chdir = self.mockChdir 531 os.chdir = self.mockChdir
490 self.old_depot_names = bisect_utils.DEPOT_NAMES 532 self.old_depot_names = bisect_utils.DEPOT_NAMES
491 bisect_utils.DEPOT_NAMES = ['mock_depot'] 533 bisect_utils.DEPOT_NAMES = ['mock_depot']
492 self.old_depot_deps_name = bisect_utils.DEPOT_DEPS_NAME 534 self.old_depot_deps_name = bisect_utils.DEPOT_DEPS_NAME
493 bisect_utils.DEPOT_DEPS_NAME = {'mock_depot': {'src': 'src/foo'}} 535 bisect_utils.DEPOT_DEPS_NAME = {'mock_depot': {'src': 'src/foo'}}
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 ], (None, 0)), 706 ], (None, 0)),
665 ] 707 ]
666 self._SetupRunGitMock(try_cmd) 708 self._SetupRunGitMock(try_cmd)
667 bisect_perf_regression._StartBuilderTryJob( 709 bisect_perf_regression._StartBuilderTryJob(
668 fetch_build.PERF_BUILDER, git_revision, bot_name, bisect_job_name, 710 fetch_build.PERF_BUILDER, git_revision, bot_name, bisect_job_name,
669 patch) 711 patch)
670 712
671 713
672 if __name__ == '__main__': 714 if __name__ == '__main__':
673 unittest.main() 715 unittest.main()
OLDNEW
« no previous file with comments | « tools/auto_bisect/bisect_perf_regression.py ('k') | tools/auto_bisect/fetch_build.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698