aboutsummaryrefslogtreecommitdiff
path: root/deprecated/run_benchmarks.py
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/run_benchmarks.py')
-rwxr-xr-xdeprecated/run_benchmarks.py245
1 files changed, 0 insertions, 245 deletions
diff --git a/deprecated/run_benchmarks.py b/deprecated/run_benchmarks.py
deleted file mode 100755
index 4818750a..00000000
--- a/deprecated/run_benchmarks.py
+++ /dev/null
@@ -1,245 +0,0 @@
-#!/usr/bin/python2
-#
-# Copyright 2010 Google Inc. All Rights Reserved.
-"""Script to run ChromeOS benchmarks
-
-Inputs:
- chromeos_root
- board
- [chromeos/cpu/<benchname>|
- chromeos/browser/[pagecycler|sunspider]|
- chromeos/startup]
- hostname/IP of Chromeos machine
-
- chromeos/cpu/<benchname>
- - Read run script rules from bench.mk perflab-bin, copy benchmark to
- host, run
- and return results.
-
- chromeos/startup
- - Re-image host with image in perflab-bin
- - Call run_tests to run startup test, gather results.
- - Restore host back to what it was.
-
- chromeos/browser/*
- - Call build_chromebrowser to build image with new browser
- - Copy image to perflab-bin
-
-"""
-
-from __future__ import print_function
-
-__author__ = 'bjanakiraman@google.com (Bhaskar Janakiraman)'
-
-import argparse
-import os
-import re
-import sys
-
-import image_chromeos
-import run_tests
-from cros_utils import command_executer
-from cros_utils import logger
-
-# pylint: disable=anomalous-backslash-in-string
-
-KNOWN_BENCHMARKS = [
- 'chromeos/startup', 'chromeos/browser/pagecycler',
- 'chromeos/browser/sunspider', 'chromeos/browser/v8bench',
- 'chromeos/cpu/bikjmp'
-]
-
-name_map = {
- 'pagecycler': 'Page',
- 'sunspider': 'SunSpider',
- 'v8bench': 'V8Bench',
- 'startup': 'BootPerfServer'
-}
-
-# Run command template
-
-# Common initializations
-cmd_executer = command_executer.GetCommandExecuter()
-
-
-def Usage(parser, message):
- print('ERROR: %s' % message)
- parser.print_help()
- sys.exit(0)
-
-
-def RunBrowserBenchmark(chromeos_root, board, bench, machine):
- """Run browser benchmarks.
-
- Args:
- chromeos_root: ChromeOS src dir
- board: Board being tested
- bench: Name of benchmark (chromeos/browser/*)
- machine: name of chromeos machine
- """
- benchname = re.split('/', bench)[2]
- benchname = name_map[benchname]
- ret = run_tests.RunRemoteTests(chromeos_root, machine, board, benchname)
- return ret
-
-
-def RunStartupBenchmark(chromeos_root, board, machine):
- """Run browser benchmarks.
-
- Args:
- chromeos_root: ChromeOS src dir
- board: Board being tested
- machine: name of chromeos machine
- """
- benchname = 'startup'
- benchname = name_map[benchname]
- ret = run_tests.RunRemoteTests(chromeos_root, machine, board, benchname)
- return ret
-
-
-def RunCpuBenchmark(chromeos_root, bench, workdir, machine):
- """Run CPU benchmark.
-
- Args:
- chromeos_root: ChromeOS src dir
- bench: Name of benchmark
- workdir: directory containing benchmark directory
- machine: name of chromeos machine
-
- Returns:
- status: 0 on success
- """
-
- benchname = re.split('/', bench)[2]
- benchdir = '%s/%s' % (workdir, benchname)
-
- # Delete any existing run directories on machine.
- # Since this has exclusive access to the machine,
- # we do not worry about duplicates.
- args = 'rm -rf /tmp/%s' % benchname
- retv = cmd_executer.CrosRunCommand(args,
- chromeos_root=chromeos_root,
- machine=machine)
- if retv:
- return retv
-
- # Copy benchmark directory.
- retv = cmd_executer.CopyFiles(benchdir,
- '/tmp/' + benchname,
- chromeos_root=chromeos_root,
- dest_machine=machine,
- dest_cros=True)
- if retv:
- return retv
-
- # Parse bench.mk to extract run flags.
-
- benchmk_file = open('%s/bench.mk' % benchdir, 'r')
- for line in benchmk_file:
- line.rstrip()
- if re.match('^run_cmd', line):
- line = re.sub('^run_cmd.*\${PERFLAB_PATH}', './out', line)
- line = re.sub('\${PERFLAB_INPUT}', './data', line)
- run_cmd = line
- break
-
- # Execute on remote machine
- # Capture output and process it.
- sshargs = "'cd /tmp/%s;" % benchname
- sshargs += "time -p %s'" % run_cmd
- cmd_executer.CrosRunCommand(sshargs,
- chromeos_root=chromeos_root,
- machine=machine)
-
- return retv
-
-
-def Main(argv):
- """Build ChromeOS."""
- # Common initializations
-
- parser = argparse.ArgumentParser()
- parser.add_argument('-c',
- '--chromeos_root',
- dest='chromeos_root',
- help='Target directory for ChromeOS installation.')
- parser.add_argument('-m',
- '--machine',
- dest='machine',
- help='The chromeos host machine.')
- parser.add_argument('--workdir',
- dest='workdir',
- default='./perflab-bin',
- help='Work directory for perflab outputs.')
- parser.add_argument('--board',
- dest='board',
- help='ChromeOS target board, e.g. x86-generic')
- parser.add_argumen('args', margs='+', help='Benchmarks to run.')
-
- options = parser.parse_args(argv[1:])
-
- # validate args
- for arg in options.args:
- if arg not in KNOWN_BENCHMARKS:
- logger.GetLogger().LogFatal('Bad benchmark %s specified' % arg)
-
- if options.chromeos_root is None:
- Usage(parser, '--chromeos_root must be set')
-
- if options.board is None:
- Usage(parser, '--board must be set')
-
- if options.machine is None:
- Usage(parser, '--machine must be set')
-
- found_err = 0
- retv = 0
- for arg in options.args:
- # CPU benchmarks
- comps = re.split('/', arg)
- if re.match('chromeos/cpu', arg):
- benchname = comps[2]
- print('RUNNING %s' % benchname)
- retv = RunCpuBenchmark(options.chromeos_root, arg, options.workdir,
- options.machine)
- if not found_err:
- found_err = retv
- elif re.match('chromeos/startup', arg):
- benchname = comps[1]
- image_args = [
- os.path.dirname(os.path.abspath(__file__)) + '/image_chromeos.py',
- '--chromeos_root=' + options.chromeos_root,
- '--remote=' + options.machine, '--image=' + options.workdir + '/' +
- benchname + '/chromiumos_image.bin'
- ]
- logger.GetLogger().LogOutput('Reimaging machine %s' % options.machine)
- image_chromeos.Main(image_args)
-
- logger.GetLogger().LogOutput('Running %s' % arg)
- retv = RunStartupBenchmark(options.chromeos_root, options.board,
- options.machine)
- if not found_err:
- found_err = retv
- elif re.match('chromeos/browser', arg):
- benchname = comps[2]
- image_args = [
- os.path.dirname(os.path.abspath(__file__)) + '/image_chromeos.py',
- '--chromeos_root=' + options.chromeos_root,
- '--remote=' + options.machine, '--image=' + options.workdir + '/' +
- benchname + '/chromiumos_image.bin'
- ]
- logger.GetLogger().LogOutput('Reimaging machine %s' % options.machine)
- image_chromeos.Main(image_args)
-
- logger.GetLogger().LogOutput('Running %s' % arg)
- retv = RunBrowserBenchmark(options.chromeos_root, options.board, arg,
- options.machine)
- if not found_err:
- found_err = retv
-
- return found_err
-
-
-if __name__ == '__main__':
- retval = Main(sys.argv)
- sys.exit(retval)