aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHan Shen <shenhan@google.com>2016-02-01 16:18:19 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-02-02 22:07:30 +0000
commit0d39863d8578fb1c6e7077b2c7cc5ca79edcf4dd (patch)
tree9c310ce770abfa18f4c3719d52e78e0f4ca2e02c
parentc55a14c3dd2fe62775bc35a09bd3467389d9bdd8 (diff)
downloadtoolchain-utils-0d39863d8578fb1c6e7077b2c7cc5ca79edcf4dd.tar.gz
Fix lint for toolchain-utils.
Tested: run_tests.sh && cros lint on all the modified files. Change-Id: Ife1e9620535f70849c58e932637b7b0f150b13ac Reviewed-on: https://chrome-internal-review.googlesource.com/246650 Commit-Ready: Han Shen <shenhan@google.com> Tested-by: Han Shen <shenhan@google.com> Reviewed-by: Caroline Tice <cmtice@google.com>
-rwxr-xr-xcros_login.py44
-rw-r--r--crosperf/benchmark.py1
-rw-r--r--crosperf/benchmark_run.py13
-rwxr-xr-xcrosperf/benchmark_run_unittest.py38
-rw-r--r--crosperf/machine_manager.py6
-rw-r--r--crosperf/suite_runner.py8
6 files changed, 65 insertions, 45 deletions
diff --git a/cros_login.py b/cros_login.py
index b510444d..32dfcb70 100755
--- a/cros_login.py
+++ b/cros_login.py
@@ -1,25 +1,17 @@
-#!/usr/bin/python
+#!/usr/bin/python2
#
-# Copyright 2010 Google Inc. All Rights Reserved.
+# Copyright 2010~2015 Google Inc. All Rights Reserved.
"""Script to get past the login screen of ChromeOS.
"""
+from __future__ import print_function
-__author__ = 'asharif@google.com (Ahmad Sharif)'
-
-import datetime
-import fcntl
-import getpass
-import glob
-import optparse
+import argparse
import os
-import pickle
-import socket
import sys
-import time
import tempfile
-from utils import logger
-from utils import command_executer
+
+from cros_utils import command_executer
LOGIN_PROMPT_VISIBLE_MAGIC_FILE = '/tmp/uptime-login-prompt-visible'
LOGGED_IN_MAGIC_FILE = '/var/run/state/logged-in'
@@ -106,21 +98,21 @@ def RestartUI(remote, chromeos_root, login=True):
def Main(argv):
"""The main function."""
- parser = optparse.OptionParser()
- parser.add_option('-r',
- '--remote',
- dest='remote',
- help='The remote ChromeOS box.')
- parser.add_option('-c',
- '--chromeos_root',
- dest='chromeos_root',
- help='The ChromeOS root.')
-
- options, args = parser.parse_args(argv)
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-r',
+ '--remote',
+ dest='remote',
+ help='The remote ChromeOS box.')
+ parser.add_argument('-c',
+ '--chromeos_root',
+ dest='chromeos_root',
+ help='The ChromeOS root.')
+
+ options = parser.parse_args(argv)
return RestartUI(options.remote, options.chromeos_root)
if __name__ == '__main__':
- retval = Main(sys.argv)
+ retval = Main(sys.argv[1:])
sys.exit(retval)
diff --git a/crosperf/benchmark.py b/crosperf/benchmark.py
index 91e0f7c8..9557c675 100644
--- a/crosperf/benchmark.py
+++ b/crosperf/benchmark.py
@@ -3,6 +3,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+"""Define a type that wraps a Benchmark instance."""
class Benchmark(object):
"""Class representing a benchmark to be run.
diff --git a/crosperf/benchmark_run.py b/crosperf/benchmark_run.py
index 75de3d85..209b3f71 100644
--- a/crosperf/benchmark_run.py
+++ b/crosperf/benchmark_run.py
@@ -52,7 +52,7 @@ class BenchmarkRun(threading.Thread):
self.failure_reason = ''
self.test_args = benchmark.test_args
self.cache = None
- self.profiler_args = self._GetExtraAutotestArgs()
+ self.profiler_args = self.GetExtraAutotestArgs()
self._ce = command_executer.GetCommandExecuter(self._logger,
log_level=self.log_level)
self.timeline = timeline.Timeline()
@@ -174,7 +174,7 @@ class BenchmarkRun(threading.Thread):
time.sleep(sleep_duration)
return machine
- def _GetExtraAutotestArgs(self):
+ def GetExtraAutotestArgs(self):
if self.benchmark.perf_args and self.benchmark.suite == 'telemetry':
self._logger.LogError('Telemetry does not support profiler.')
self.benchmark.perf_args = ''
@@ -216,6 +216,15 @@ class BenchmarkRun(threading.Thread):
def SetCacheConditions(self, cache_conditions):
self.cache_conditions = cache_conditions
+ def logger(self):
+ """Return the logger, only used by unittest.
+
+ Returns:
+ self._logger
+ """
+
+ return self._logger
+
def __str__(self):
"""For better debugging."""
diff --git a/crosperf/benchmark_run_unittest.py b/crosperf/benchmark_run_unittest.py
index 23720e33..d3a3dbc9 100755
--- a/crosperf/benchmark_run_unittest.py
+++ b/crosperf/benchmark_run_unittest.py
@@ -1,10 +1,12 @@
-#!/usr/bin/python
+#!/usr/bin/python2
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Testing of benchmark_run."""
+from __future__ import print_function
+
import mock
import unittest
import inspect
@@ -27,10 +29,14 @@ from results_cache import ResultsCache
class BenchmarkRunTest(unittest.TestCase):
- """Unit tests for the BenchmarkRun class and all of its methods.
- """
+ """Unit tests for the BenchmarkRun class and all of its methods."""
def setUp(self):
+ self.status = []
+ self.called_ReadCache = None
+ self.log_error = []
+ self.log_output = []
+ self.err_msg = None
self.test_benchmark = Benchmark('page_cycler.netsim.top_10', # name
'page_cycler.netsim.top_10', # test_name
'', # test_args
@@ -110,10 +116,12 @@ class BenchmarkRunTest(unittest.TestCase):
def MockLogOutput(msg, print_to_console=False):
'Helper function for test_run.'
+ del print_to_console
self.log_output.append(msg)
def MockLogError(msg, print_to_console=False):
'Helper function for test_run.'
+ del print_to_console
self.log_error.append(msg)
def MockRecordStatus(msg):
@@ -167,8 +175,8 @@ class BenchmarkRunTest(unittest.TestCase):
self.called_ReadCache = False
# Assign all the fake functions to the appropriate objects.
- br._logger.LogOutput = MockLogOutput
- br._logger.LogError = MockLogError
+ br.logger().LogOutput = MockLogOutput
+ br.logger().LogError = MockLogError
br.timeline.Record = MockRecordStatus
br.ReadCache = FakeReadCache
br.RunTest = FakeRunTest
@@ -232,7 +240,7 @@ class BenchmarkRunTest(unittest.TestCase):
br.run()
self.assertEqual(self.log_error, [
"Benchmark run: 'test_run' failed: This is an exception test; it is "
- "supposed to happen"
+ "supposed to happen"
])
self.assertEqual(self.status, ['FAILED'])
@@ -252,7 +260,7 @@ class BenchmarkRunTest(unittest.TestCase):
self.status = benchmark_run.STATUS_SUCCEEDED
self.assertFalse(br.terminated)
- self.assertFalse(br.suite_runner._ct.IsTerminated())
+ self.assertFalse(br.suite_runner.CommandTerminator().IsTerminated())
br.timeline.GetLastEvent = GetLastEventPassed
br.timeline.Record = RecordStub
@@ -260,7 +268,7 @@ class BenchmarkRunTest(unittest.TestCase):
br.Terminate()
self.assertTrue(br.terminated)
- self.assertTrue(br.suite_runner._ct.IsTerminated())
+ self.assertTrue(br.suite_runner.CommandTerminator().IsTerminated())
self.assertEqual(self.status, benchmark_run.STATUS_FAILED)
def test_terminate_fail(self):
@@ -279,7 +287,7 @@ class BenchmarkRunTest(unittest.TestCase):
self.status = benchmark_run.STATUS_SUCCEEDED
self.assertFalse(br.terminated)
- self.assertFalse(br.suite_runner._ct.IsTerminated())
+ self.assertFalse(br.suite_runner.CommandTerminator().IsTerminated())
br.timeline.GetLastEvent = GetLastEventFailed
br.timeline.Record = RecordStub
@@ -287,7 +295,7 @@ class BenchmarkRunTest(unittest.TestCase):
br.Terminate()
self.assertTrue(br.terminated)
- self.assertTrue(br.suite_runner._ct.IsTerminated())
+ self.assertTrue(br.suite_runner.CommandTerminator().IsTerminated())
self.assertEqual(self.status, benchmark_run.STATUS_SUCCEEDED)
def test_acquire_machine(self):
@@ -319,30 +327,30 @@ class BenchmarkRunTest(unittest.TestCase):
self.mock_logger.LogError = MockLogError
- result = br._GetExtraAutotestArgs()
+ result = br.GetExtraAutotestArgs()
self.assertEqual(result, '')
self.test_benchmark.perf_args = 'record -e cycles'
- result = br._GetExtraAutotestArgs()
+ result = br.GetExtraAutotestArgs()
self.assertEqual(
result,
"--profiler=custom_perf --profiler_args='perf_options=\"record -a -e "
"cycles\"'")
self.test_benchmark.suite = 'telemetry'
- result = br._GetExtraAutotestArgs()
+ result = br.GetExtraAutotestArgs()
self.assertEqual(result, '')
self.assertEqual(self.err_msg, 'Telemetry does not support profiler.')
self.test_benchmark.perf_args = 'record -e cycles'
self.test_benchmark.suite = 'test_that'
- result = br._GetExtraAutotestArgs()
+ result = br.GetExtraAutotestArgs()
self.assertEqual(result, '')
self.assertEqual(self.err_msg, 'test_that does not support profiler.')
self.test_benchmark.perf_args = 'junk args'
self.test_benchmark.suite = 'telemetry_Crosperf'
- self.assertRaises(Exception, br._GetExtraAutotestArgs)
+ self.assertRaises(Exception, br.GetExtraAutotestArgs)
@mock.patch.object(SuiteRunner, 'Run')
@mock.patch.object(Result, 'CreateFromRun')
diff --git a/crosperf/machine_manager.py b/crosperf/machine_manager.py
index 8887f8bd..6f54bb7e 100644
--- a/crosperf/machine_manager.py
+++ b/crosperf/machine_manager.py
@@ -532,6 +532,9 @@ class MachineManager(object):
output += '\n\n\n'
return output
+ def GetAllMachines(self):
+ return self._all_machines
+
class MockCrosMachine(CrosMachine):
"""Mock cros machine class."""
@@ -710,3 +713,6 @@ class MockMachineManager(MachineManager):
for machine in self.GetMachines(label):
machine.machine_checksum = common_checksum
self.machine_checksum[label.name] = common_checksum
+
+ def GetAllMachines(self):
+ return self._all_machines
diff --git a/crosperf/suite_runner.py b/crosperf/suite_runner.py
index 622e3395..b7b26bf2 100644
--- a/crosperf/suite_runner.py
+++ b/crosperf/suite_runner.py
@@ -1,4 +1,5 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+
+# Copyright (c) 2013~2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""SuiteRunner defines the interface from crosperf to test script."""
@@ -9,7 +10,7 @@ import os
import time
import shlex
-from utils import command_executer
+from cros_utils import command_executer
import test_flag
TEST_THAT_PATH = '/usr/bin/test_that'
@@ -266,6 +267,9 @@ class SuiteRunner(object):
self._logger.LogOutput('CMD: %s' % cmd)
return self._ce.RunCommandWOutput(cmd, print_to_console=False)
+ def CommandTerminator(self):
+ return self._ct
+
def Terminate(self):
self._ct.Terminate()