aboutsummaryrefslogtreecommitdiff
path: root/deprecated/automation/clients/crosstool.py
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/automation/clients/crosstool.py')
-rwxr-xr-xdeprecated/automation/clients/crosstool.py102
1 files changed, 0 insertions, 102 deletions
diff --git a/deprecated/automation/clients/crosstool.py b/deprecated/automation/clients/crosstool.py
deleted file mode 100755
index 9ba83807..00000000
--- a/deprecated/automation/clients/crosstool.py
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2011 Google Inc. All Rights Reserved.
-
-__author__ = 'kbaclawski@google.com (Krystian Baclawski)'
-
-import logging
-import optparse
-import pickle
-import sys
-import xmlrpclib
-
-from automation.clients.helper import crosstool
-from automation.common import job_group
-from automation.common import logger
-
-
-class CrosstoolNightlyClient(object):
- VALID_TARGETS = ['gcc-4.6.x-ubuntu_lucid-arm',
- 'gcc-4.6.x-ubuntu_lucid-x86_64',
- 'gcc-4.6.x-grtev2-armv7a-vfpv3.d16-hard',
- 'gcc-4.6.x-glibc-2.11.1-grte',
- 'gcc-4.6.x-glibc-2.11.1-powerpc']
- VALID_BOARDS = ['qemu', 'pandaboard', 'unix']
-
- def __init__(self, target, boards):
- assert target in self.VALID_TARGETS
- assert all(board in self.VALID_BOARDS for board in boards)
-
- self._target = target
- self._boards = boards
-
- def Run(self):
- server = xmlrpclib.Server('http://localhost:8000')
- server.ExecuteJobGroup(pickle.dumps(self.CreateJobGroup()))
-
- def CreateJobGroup(self):
- factory = crosstool.JobsFactory()
-
- checkout_crosstool_job, checkout_dir, manifests_dir = \
- factory.CheckoutCrosstool(self._target)
-
- all_jobs = [checkout_crosstool_job]
-
- # Build crosstool target
- build_release_job, build_tree_dir = factory.BuildRelease(checkout_dir,
- self._target)
- all_jobs.append(build_release_job)
-
- testruns = []
-
- # Perform crosstool tests
- for board in self._boards:
- for component in ('gcc', 'binutils'):
- test_job, testrun_dir = factory.RunTests(checkout_dir, build_tree_dir,
- self._target, board, component)
- all_jobs.append(test_job)
- testruns.append(testrun_dir)
-
- if testruns:
- all_jobs.append(factory.GenerateReport(testruns, manifests_dir,
- self._target, self._boards))
-
- return job_group.JobGroup('Crosstool Nightly Build (%s)' % self._target,
- all_jobs, True, False)
-
-
-@logger.HandleUncaughtExceptions
-def Main(argv):
- valid_boards_string = ', '.join(CrosstoolNightlyClient.VALID_BOARDS)
-
- parser = optparse.OptionParser()
- parser.add_option(
- '-b',
- '--board',
- dest='boards',
- action='append',
- choices=CrosstoolNightlyClient.VALID_BOARDS,
- default=[],
- help=('Run DejaGNU tests on selected boards: %s.' % valid_boards_string))
- options, args = parser.parse_args(argv)
-
- if len(args) == 2:
- target = args[1]
- else:
- logging.error('Exactly one target required as a command line argument!')
- logging.info('List of valid targets:')
- for pair in enumerate(CrosstoolNightlyClient.VALID_TARGETS, start=1):
- logging.info('%d) %s', pair)
- sys.exit(1)
-
- option_list = [opt.dest for opt in parser.option_list if opt.dest]
-
- kwargs = dict((option, getattr(options, option)) for option in option_list)
-
- client = CrosstoolNightlyClient(target, **kwargs)
- client.Run()
-
-
-if __name__ == '__main__':
- logger.SetUpRootLogger(level=logging.DEBUG, display_flags={'name': False})
- Main(sys.argv)