aboutsummaryrefslogtreecommitdiff
path: root/deprecated/automation/clients/helper/chromeos.py
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/automation/clients/helper/chromeos.py')
-rw-r--r--deprecated/automation/clients/helper/chromeos.py180
1 files changed, 0 insertions, 180 deletions
diff --git a/deprecated/automation/clients/helper/chromeos.py b/deprecated/automation/clients/helper/chromeos.py
deleted file mode 100644
index e7157451..00000000
--- a/deprecated/automation/clients/helper/chromeos.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# Copyright 2011 Google Inc. All Rights Reserved.
-
-__author__ = 'asharif@google.com (Ahmad Sharif)'
-
-import os.path
-import re
-
-from automation.clients.helper import jobs
-from automation.clients.helper import perforce
-from automation.common import command as cmd
-from automation.common import machine
-
-
-class ScriptsFactory(object):
-
- def __init__(self, chromeos_root, scripts_path):
- self._chromeos_root = chromeos_root
- self._scripts_path = scripts_path
-
- def SummarizeResults(self, logs_path):
- return cmd.Shell('summarize_results.py', logs_path, path=self._scripts_path)
-
- def Buildbot(self, config_name):
- buildbot = os.path.join(self._chromeos_root,
- 'chromite/cbuildbot/cbuildbot.py')
-
- return cmd.Shell(buildbot, '--buildroot=%s' % self._chromeos_root,
- '--resume', '--noarchive', '--noprebuilts', '--nosync',
- '--nouprev', '--notests', '--noclean', config_name)
-
- def RunBenchmarks(self, board, tests):
- image_path = os.path.join(self._chromeos_root, 'src/build/images', board,
- 'latest/chromiumos_image.bin')
-
- return cmd.Shell('cros_run_benchmarks.py',
- '--remote=$SECONDARY_MACHINES[0]',
- '--board=%s' % board,
- '--tests=%s' % tests,
- '--full_table',
- image_path,
- path='/home/mobiletc-prebuild')
-
- def SetupChromeOS(self, version='latest', use_minilayout=False):
- setup_chromeos = cmd.Shell('setup_chromeos.py',
- '--public',
- '--dir=%s' % self._chromeos_root,
- '--version=%s' % version,
- path=self._scripts_path)
-
- if use_minilayout:
- setup_chromeos.AddOption('--minilayout')
- return setup_chromeos
-
-
-class CommandsFactory(object):
- DEPOT2_DIR = '//depot2/'
- P4_CHECKOUT_DIR = 'perforce2/'
- P4_VERSION_DIR = os.path.join(P4_CHECKOUT_DIR, 'gcctools/chromeos/v14')
-
- CHROMEOS_ROOT = 'chromeos'
- CHROMEOS_SCRIPTS_DIR = os.path.join(CHROMEOS_ROOT, 'src/scripts')
- CHROMEOS_BUILDS_DIR = '/home/mobiletc-prebuild/www/chromeos_builds'
-
- def __init__(self, chromeos_version, board, toolchain, p4_snapshot):
- self.chromeos_version = chromeos_version
- self.board = board
- self.toolchain = toolchain
- self.p4_snapshot = p4_snapshot
-
- self.scripts = ScriptsFactory(self.CHROMEOS_ROOT, self.P4_VERSION_DIR)
-
- def AddBuildbotConfig(self, config_name, config_list):
- config_header = 'add_config(%r, [%s])' % (config_name,
- ', '.join(config_list))
- config_file = os.path.join(self.CHROMEOS_ROOT,
- 'chromite/cbuildbot/cbuildbot_config.py')
- quoted_config_header = '%r' % config_header
- quoted_config_header = re.sub("'", "\\\"", quoted_config_header)
-
- return cmd.Pipe(
- cmd.Shell('echo', quoted_config_header),
- cmd.Shell('tee', '--append', config_file))
-
- def RunBuildbot(self):
- config_dict = {'board': self.board,
- 'build_tests': True,
- 'chrome_tests': True,
- 'unittests': False,
- 'vm_tests': False,
- 'prebuilts': False,
- 'latest_toolchain': True,
- 'useflags': ['chrome_internal'],
- 'usepkg_chroot': True,
- self.toolchain: True}
- config_name = '%s-toolchain-test' % self.board
- if 'arm' in self.board:
- config_list = ['arm']
- else:
- config_list = []
- config_list.extend(['internal', 'full', 'official', str(config_dict)])
-
- add_config_shell = self.AddBuildbotConfig(config_name, config_list)
- return cmd.Chain(add_config_shell, self.scripts.Buildbot(config_name))
-
- def BuildAndBenchmark(self):
- return cmd.Chain(
- self.CheckoutV14Dir(),
- self.SetupChromeOSCheckout(self.chromeos_version, True),
- self.RunBuildbot(),
- self.scripts.RunBenchmarks(self.board, 'BootPerfServer,10:Page,3'))
-
- def GetP4Snapshot(self, p4view):
- p4client = perforce.CommandsFactory(self.P4_CHECKOUT_DIR, p4view)
-
- if self.p4_snapshot:
- return p4client.CheckoutFromSnapshot(self.p4_snapshot)
- else:
- return p4client.SetupAndDo(p4client.Sync(), p4client.Remove())
-
- def CheckoutV14Dir(self):
- p4view = perforce.View(self.DEPOT2_DIR, [
- perforce.PathMapping('gcctools/chromeos/v14/...')
- ])
- return self.GetP4Snapshot(p4view)
-
- def SetupChromeOSCheckout(self, version, use_minilayout=False):
- version_re = '^\d+\.\d+\.\d+\.[a-zA-Z0-9]+$'
-
- location = os.path.join(self.CHROMEOS_BUILDS_DIR, version)
-
- if version in ['weekly', 'quarterly']:
- assert os.path.islink(location), 'Symlink %s does not exist.' % location
-
- location_expanded = os.path.abspath(os.path.realpath(location))
- version = os.path.basename(location_expanded)
-
- if version in ['top', 'latest'] or re.match(version_re, version):
- return self.scripts.SetupChromeOS(version, use_minilayout)
-
- elif version.endswith('bz2') or version.endswith('gz'):
- return cmd.UnTar(location_expanded, self.CHROMEOS_ROOT)
-
- else:
- signature_file_location = os.path.join(location,
- 'src/scripts/enter_chroot.sh')
- assert os.path.exists(signature_file_location), (
- 'Signature file %s does not exist.' % signature_file_location)
-
- return cmd.Copy(location, to_dir=self.CHROMEOS_ROOT, recursive=True)
-
-
-class JobsFactory(object):
-
- def __init__(self,
- chromeos_version='top',
- board='x86-mario',
- toolchain='trunk',
- p4_snapshot=''):
- self.chromeos_version = chromeos_version
- self.board = board
- self.toolchain = toolchain
-
- self.commands = CommandsFactory(chromeos_version, board, toolchain,
- p4_snapshot)
-
- def BuildAndBenchmark(self):
- command = self.commands.BuildAndBenchmark()
-
- label = 'BuildAndBenchmark(%s,%s,%s)' % (self.toolchain, self.board,
- self.chromeos_version)
-
- machine_label = 'chromeos-%s' % self.board
-
- job = jobs.CreateLinuxJob(label, command)
- job.DependsOnMachine(
- machine.MachineSpecification(label=machine_label,
- lock_required=True),
- False)
-
- return job