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

Side by Side Diff: scripts/master/factory/chromium_commands.py

Issue 26184003: Move memory waterfall build directory computation to the slave. (Closed) Base URL: http://src.chromium.org/chrome/trunk/tools/build/
Patch Set: Created 7 years, 2 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 | « no previous file | scripts/slave/runtest.py » ('j') | scripts/slave/runtest.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 """Set of utilities to add commands to a buildbot factory. 5 """Set of utilities to add commands to a buildbot factory.
6 6
7 This is based on commands.py and adds chromium-specific commands.""" 7 This is based on commands.py and adds chromium-specific commands."""
8 8
9 import logging 9 import logging
10 import os 10 import os
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 def AddMemoryTest(self, test_name, tool_name, timeout=1200, 772 def AddMemoryTest(self, test_name, tool_name, timeout=1200,
773 factory_properties=None, 773 factory_properties=None,
774 wrapper_args=None): 774 wrapper_args=None):
775 factory_properties = factory_properties or {} 775 factory_properties = factory_properties or {}
776 factory_properties['full_test_name'] = True 776 factory_properties['full_test_name'] = True
777 if not wrapper_args: 777 if not wrapper_args:
778 wrapper_args = [] 778 wrapper_args = []
779 wrapper_args.extend([ 779 wrapper_args.extend([
780 '--annotate=gtest', 780 '--annotate=gtest',
781 '--test-type', 'memory test: %s' % test_name 781 '--test-type', 'memory test: %s' % test_name
782 '--pass-build-dir',
783 '--pass-target',
782 ]) 784 ])
783 command_class = chromium_step.AnnotatedCommand 785 command_class = chromium_step.AnnotatedCommand
784 786
785 # TODO(timurrrr): merge this with Heapcheck runner. http://crbug.com/45482 787 # TODO(timurrrr): merge this with Heapcheck runner. http://crbug.com/45482
786 build_dir, _ = chromium_utils.ConvertBuildDirToLegacy(self._build_dir,
787 self._target_platform)
788 build_dir = os.path.join(build_dir, self._target)
789
790 do_step_if = self.TestStepFilter 788 do_step_if = self.TestStepFilter
791 matched = re.search(r'_([0-9]*)_of_([0-9]*)$', test_name) 789 matched = re.search(r'_([0-9]*)_of_([0-9]*)$', test_name)
792 if matched: 790 if matched:
793 test_name = test_name[0:matched.start()] 791 test_name = test_name[0:matched.start()]
794 shard = int(matched.group(1)) 792 shard = int(matched.group(1))
795 numshards = int(matched.group(2)) 793 numshards = int(matched.group(2))
796 wrapper_args.extend(['--shard-index', str(shard), 794 wrapper_args.extend(['--shard-index', str(shard),
797 '--total-shards', str(numshards)]) 795 '--total-shards', str(numshards)])
798 if test_name in factory_properties.get('sharded_tests', []): 796 if test_name in factory_properties.get('sharded_tests', []):
799 wrapper_args.append('--parallel') 797 wrapper_args.append('--parallel')
800 sharding_args = factory_properties.get('sharding_args') 798 sharding_args = factory_properties.get('sharding_args')
801 if sharding_args: 799 if sharding_args:
802 wrapper_args.extend(['--sharding-args', sharding_args]) 800 wrapper_args.extend(['--sharding-args', sharding_args])
803 elif test_name.endswith('_gtest_filter_required'): 801 elif test_name.endswith('_gtest_filter_required'):
804 test_name = test_name[0:-len('_gtest_filter_required')] 802 test_name = test_name[0:-len('_gtest_filter_required')]
805 # This is only to be run on the Try Server. 803 # This is only to be run on the Try Server.
806 # TODO(maruel): This code should use GetTestStepFilter() instead! 804 # TODO(maruel): This code should use GetTestStepFilter() instead!
807 do_step_if = self.TestStepFilterGTestFilterRequired 805 do_step_if = self.TestStepFilterGTestFilterRequired
808 806
809 # Memory tests runner script path is relative to build_dir. 807 # Memory tests runner script path is relative to build dir.
810 if self._target_platform != 'win32': 808 if self._target_platform != 'win32':
811 runner = os.path.join('..', '..', '..', self._posix_memory_tests_runner) 809 runner = os.path.join('..', '..', '..', self._posix_memory_tests_runner)
812 else: 810 else:
813 runner = os.path.join('..', '..', '..', self._win_memory_tests_runner) 811 runner = os.path.join('..', '..', '..', self._win_memory_tests_runner)
814 812
815 cmd = self.GetShellTestCommand(runner, arg_list=[ 813 cmd = self.GetShellTestCommand(runner, arg_list=[
816 '--build_dir', build_dir,
817 '--test', test_name, 814 '--test', test_name,
818 '--tool', tool_name, 815 '--tool', tool_name,
819 WithProperties('%(gtest_filter)s')], 816 WithProperties('%(gtest_filter)s')],
820 wrapper_args=wrapper_args, 817 wrapper_args=wrapper_args,
821 factory_properties=factory_properties) 818 factory_properties=factory_properties)
822 819
823 test_name = 'memory test: %s' % test_name 820 test_name = 'memory test: %s' % test_name
824 self.AddTestStep(command_class, test_name, cmd, 821 self.AddTestStep(command_class, test_name, cmd,
825 timeout=timeout, 822 timeout=timeout,
826 do_step_if=do_step_if) 823 do_step_if=do_step_if)
827 824
828 def AddHeapcheckTest(self, test_name, timeout, factory_properties, 825 def AddHeapcheckTest(self, test_name, timeout, factory_properties,
829 wrapper_args=None): 826 wrapper_args=None):
830 827
831 factory_properties = factory_properties or {} 828 factory_properties = factory_properties or {}
832 factory_properties['full_test_name'] = True 829 factory_properties['full_test_name'] = True
833 if not wrapper_args: 830 if not wrapper_args:
834 wrapper_args = [] 831 wrapper_args = []
835 wrapper_args.extend([ 832 wrapper_args.extend([
836 '--annotate=gtest', 833 '--annotate=gtest',
837 '--test-type', 'heapcheck test: %s' % test_name 834 '--test-type', 'heapcheck test: %s' % test_name
835 '--pass-build-dir',
836 '--pass-target',
838 ]) 837 ])
839 command_class = chromium_step.AnnotatedCommand 838 command_class = chromium_step.AnnotatedCommand
840 839
841 build_dir, _ = chromium_utils.ConvertBuildDirToLegacy(self._build_dir,
842 self._target_platform)
843 build_dir = os.path.join(build_dir, self._target)
844
845 matched = re.search(r'_([0-9]*)_of_([0-9]*)$', test_name) 840 matched = re.search(r'_([0-9]*)_of_([0-9]*)$', test_name)
846 if matched: 841 if matched:
847 test_name = test_name[0:matched.start()] 842 test_name = test_name[0:matched.start()]
848 shard = int(matched.group(1)) 843 shard = int(matched.group(1))
849 numshards = int(matched.group(2)) 844 numshards = int(matched.group(2))
850 wrapper_args.extend(['--shard-index', str(shard), 845 wrapper_args.extend(['--shard-index', str(shard),
851 '--total-shards', str(numshards)]) 846 '--total-shards', str(numshards)])
852 847
853 heapcheck_tool = os.path.join('..', '..', '..', self._heapcheck_tool) 848 heapcheck_tool = os.path.join('..', '..', '..', self._heapcheck_tool)
854 849
855 cmd = self.GetShellTestCommand(heapcheck_tool, arg_list=[ 850 cmd = self.GetShellTestCommand(heapcheck_tool, arg_list=[
856 '--build_dir', build_dir,
857 '--test', test_name], 851 '--test', test_name],
858 wrapper_args=wrapper_args, 852 wrapper_args=wrapper_args,
859 factory_properties=factory_properties) 853 factory_properties=factory_properties)
860 854
861 test_name = 'heapcheck test: %s' % test_name 855 test_name = 'heapcheck test: %s' % test_name
862 self.AddTestStep(command_class, test_name, cmd, 856 self.AddTestStep(command_class, test_name, cmd,
863 timeout=timeout, 857 timeout=timeout,
864 do_step_if=self.TestStepFilter) 858 do_step_if=self.TestStepFilter)
865 859
866 def _AddBasicPythonTest(self, test_name, script, args=None, timeout=1200): 860 def _AddBasicPythonTest(self, test_name, script, args=None, timeout=1200):
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after
1832 return '%s/%s/%s' % (config.Master.archive_url, archive_type, builder_name) 1826 return '%s/%s/%s' % (config.Master.archive_url, archive_type, builder_name)
1833 1827
1834 1828
1835 def _GetSnapshotUrl(factory_properties=None, builder_name='%(build_name)s'): 1829 def _GetSnapshotUrl(factory_properties=None, builder_name='%(build_name)s'):
1836 if not factory_properties or 'gs_bucket' not in factory_properties: 1830 if not factory_properties or 'gs_bucket' not in factory_properties:
1837 return (_GetArchiveUrl('snapshots', builder_name), None) 1831 return (_GetArchiveUrl('snapshots', builder_name), None)
1838 gs_bucket = factory_properties['gs_bucket'] 1832 gs_bucket = factory_properties['gs_bucket']
1839 gs_bucket = re.sub(r'^gs://', 'http://commondatastorage.googleapis.com/', 1833 gs_bucket = re.sub(r'^gs://', 'http://commondatastorage.googleapis.com/',
1840 gs_bucket) 1834 gs_bucket)
1841 return ('%s/index.html?path=%s' % (gs_bucket, builder_name), '/') 1835 return ('%s/index.html?path=%s' % (gs_bucket, builder_name), '/')
OLDNEW
« no previous file with comments | « no previous file | scripts/slave/runtest.py » ('j') | scripts/slave/runtest.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698