aboutsummaryrefslogtreecommitdiff
path: root/deprecated/automation/clients/dejagnu_compiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/automation/clients/dejagnu_compiler.py')
-rwxr-xr-xdeprecated/automation/clients/dejagnu_compiler.py98
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))