diff options
Diffstat (limited to 'deprecated/automation/clients/dejagnu_compiler.py')
-rwxr-xr-x | deprecated/automation/clients/dejagnu_compiler.py | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/deprecated/automation/clients/dejagnu_compiler.py b/deprecated/automation/clients/dejagnu_compiler.py deleted file mode 100755 index 7448b87e..00000000 --- a/deprecated/automation/clients/dejagnu_compiler.py +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/python2 -# -# Copyright 2012 Google Inc. All Rights Reserved. -"""dejagnu_compiler.py: Run dejagnu test.""" - -__author__ = 'shenhan@google.com (Han Shen)' - -import logging -import optparse -import os -import pickle -import sys -import xmlrpclib - -from automation.clients.helper import jobs -from automation.clients.helper import perforce -from automation.common import command as cmd -from automation.common import job_group -from automation.common import logger - - -class DejagnuCompilerNightlyClient: - DEPOT2_DIR = '//depot2/' - P4_CHECKOUT_DIR = 'perforce2/' - P4_VERSION_DIR = os.path.join(P4_CHECKOUT_DIR, 'gcctools/chromeos/v14') - - def __init__(self, board, remote, p4_snapshot, cleanup): - self._board = board - self._remote = remote - self._p4_snapshot = p4_snapshot - self._cleanup = cleanup - - def Run(self): - server = xmlrpclib.Server('http://localhost:8000') - server.ExecuteJobGroup(pickle.dumps(self.CreateJobGroup())) - - def CheckoutV14Dir(self): - p4view = perforce.View(self.DEPOT2_DIR, [ - perforce.PathMapping('gcctools/chromeos/v14/...') - ]) - return self.GetP4Snapshot(p4view) - - 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 CreateJobGroup(self): - chain = cmd.Chain(self.CheckoutV14Dir(), cmd.Shell( - 'python', os.path.join(self.P4_VERSION_DIR, 'test_gcc_dejagnu.py'), - '--board=%s' % self._board, '--remote=%s' % self._remote, - '--cleanup=%s' % self._cleanup)) - label = 'dejagnu' - job = jobs.CreateLinuxJob(label, chain, timeout=8 * 60 * 60) - return job_group.JobGroup(label, - [job], - cleanup_on_failure=True, - cleanup_on_completion=True) - - -@logger.HandleUncaughtExceptions -def Main(argv): - parser = optparse.OptionParser() - parser.add_option('-b', - '--board', - dest='board', - help='Run performance tests on these boards') - parser.add_option('-r', - '--remote', - dest='remote', - help='Run performance tests on these remotes') - parser.add_option('-p', - '--p4_snapshot', - dest='p4_snapshot', - help=('For development only. ' - 'Use snapshot instead of checking out.')) - parser.add_option('--cleanup', - dest='cleanup', - default='mount', - help=('Cleanup test directory, values could be one of ' - '"mount", "chroot" or "chromeos"')) - options, _ = parser.parse_args(argv) - - if not all([options.board, options.remote]): - logging.error('Specify a board and remote.') - return 1 - - client = DejagnuCompilerNightlyClient(options.board, options.remote, - options.p4_snapshot, options.cleanup) - client.Run() - return 0 - - -if __name__ == '__main__': - sys.exit(Main(sys.argv)) |