From e1a28bd82a8718b67a370433dd41932c567f6899 Mon Sep 17 00:00:00 2001 From: Caroline Tice Date: Tue, 2 Aug 2016 16:49:57 -0700 Subject: [Crosperf] Fix lint errors. This fixes the crosper lint errors that were assigned to me. BUG=chromium:632110 TEST=ran run_tests.sh; did full crosperf run. Change-Id: I68d136c7399eb4befa2e36e7f513612ca5e53769 Reviewed-on: https://chrome-internal-review.googlesource.com/272755 Commit-Ready: Caroline Tice Tested-by: Caroline Tice Reviewed-by: Caroline Tice Reviewed-by: Yunlian Jiang --- crosperf/experiment.py | 17 ++++---- crosperf/machine_image_manager_unittest.py | 62 +++++++++++++++++------------- 2 files changed, 44 insertions(+), 35 deletions(-) diff --git a/crosperf/experiment.py b/crosperf/experiment.py index bfee351d..0a0f3fc0 100644 --- a/crosperf/experiment.py +++ b/crosperf/experiment.py @@ -47,6 +47,7 @@ class Experiment(object): self.num_complete = 0 self.num_run_complete = 0 self.share_cache = share_cache + self.active_threads = [] # If locks_directory (self.lock_dir) not blank, we will use the file # locking mechanism; if it is blank then we will use the AFE server # locking mechanism. @@ -83,14 +84,14 @@ class Experiment(object): self.machine_manager.AddMachine(machine) # Now machine_manager._all_machines contains a list of reachable # machines. This is a subset of self.remote. We make both lists the same. - self.remote = [m.name for m in self.machine_manager._all_machines] + self.remote = [m.name for m in self.machine_manager.GetAllMachines()] if not self.remote: raise RuntimeError('No machine available for running experiment.') for label in labels: # We filter out label remotes that are not reachable (not in # self.remote). So each label.remote is a sublist of experiment.remote. - label.remote = filter(lambda x: x in self.remote, label.remote) + label.remote = [r for r in label.remote if r in self.remote] try: self.machine_manager.ComputeCommonCheckSum(label) except BadChecksum: @@ -178,15 +179,15 @@ class Experiment(object): self._schedv2.run_sched() else: self.active_threads = [] - for benchmark_run in self.benchmark_runs: + for run in self.benchmark_runs: # Set threads to daemon so program exits when ctrl-c is pressed. - benchmark_run.daemon = True - benchmark_run.start() - self.active_threads.append(benchmark_run) + run.daemon = True + run.start() + self.active_threads.append(run) def SetCacheConditions(self, cache_conditions): - for benchmark_run in self.benchmark_runs: - benchmark_run.SetCacheConditions(cache_conditions) + for run in self.benchmark_runs: + run.SetCacheConditions(cache_conditions) def Cleanup(self): """Make sure all machines are unlocked.""" diff --git a/crosperf/machine_image_manager_unittest.py b/crosperf/machine_image_manager_unittest.py index 220c4cf4..0b75de0a 100755 --- a/crosperf/machine_image_manager_unittest.py +++ b/crosperf/machine_image_manager_unittest.py @@ -1,7 +1,11 @@ -#!/usr/bin/python +#!/usr/bin/python2 # Copyright 2015 Google Inc. All Rights Reserved. +"""Unit tests for the MachineImageManager class.""" + +from __future__ import print_function + import random import unittest @@ -9,6 +13,7 @@ from machine_image_manager import MachineImageManager class MockLabel(object): + """Class for generating a mock Label.""" def __init__(self, name, remotes=None): self.name = name @@ -16,18 +21,21 @@ class MockLabel(object): def __hash__(self): """Provide hash function for label. - This is required because Label object is used inside a dict as key. - """ + + This is required because Label object is used inside a dict as key. + """ return hash(self.name) def __eq__(self, other): """Provide eq function for label. - This is required because Label object is used inside a dict as key. - """ + + This is required because Label object is used inside a dict as key. + """ return isinstance(other, MockLabel) and other.name == self.name class MockDut(object): + """Class for creating a mock Device-Under-Test (DUT).""" def __init__(self, name, label=None): self.name = name @@ -35,6 +43,7 @@ class MockDut(object): class MachineImageManagerTester(unittest.TestCase): + """Class for testing MachineImageManager.""" def gen_duts_by_name(self, *names): duts = [] @@ -45,7 +54,7 @@ class MachineImageManagerTester(unittest.TestCase): def print_matrix(self, matrix): for r in matrix: for v in r: - print '{} '.format('.' if v == ' ' else v), + print('{} '.format('.' if v == ' ' else v)), print('') def create_labels_and_duts_from_pattern(self, pattern): @@ -66,8 +75,8 @@ class MachineImageManagerTester(unittest.TestCase): for j, v in enumerate(s.split()): self.assertTrue(v == '.' and matrix[i][j] == ' ' or v == matrix[i][j]) - def pattern_based_test(self, input, output): - labels, duts = self.create_labels_and_duts_from_pattern(input) + def pattern_based_test(self, inp, output): + labels, duts = self.create_labels_and_duts_from_pattern(inp) mim = MachineImageManager(labels, duts) self.assertTrue(mim.compute_initial_allocation()) self.check_matrix_against_pattern(mim.matrix_, output) @@ -184,35 +193,35 @@ class MachineImageManagerTester(unittest.TestCase): self.assertTrue(mim.compute_initial_allocation()) def test_10x10_fully_random(self): - input = ['X . . . X X . X X .', 'X X . X . X . X X .', - 'X X X . . X . X . X', 'X . X X . . X X . X', - 'X X X X . . . X . .', 'X X . X . X . . X .', - '. X . X . X X X . .', '. X . X X . X X . .', - 'X X . . . X X X . .', '. X X X X . . . . X'] + inp = ['X . . . X X . X X .', 'X X . X . X . X X .', + 'X X X . . X . X . X', 'X . X X . . X X . X', + 'X X X X . . . X . .', 'X X . X . X . . X .', + '. X . X . X X X . .', '. X . X X . X X . .', + 'X X . . . X X X . .', '. X X X X . . . . X'] output = ['X Y . . X X . X X .', 'X X Y X . X . X X .', 'X X X Y . X . X . X', 'X . X X Y . X X . X', 'X X X X . Y . X . .', 'X X . X . X Y . X .', 'Y X . X . X X X . .', '. X . X X . X X Y .', 'X X . . . X X X . Y', '. X X X X . . Y . X'] - self.pattern_based_test(input, output) + self.pattern_based_test(inp, output) def test_10x10_fully_random2(self): - input = ['X . X . . X . X X X', 'X X X X X X . . X .', - 'X . X X X X X . . X', 'X X X . X . X X . .', - '. X . X . X X X X X', 'X X X X X X X . . X', - 'X . X X X X X . . X', 'X X X . X X X X . .', - 'X X X . . . X X X X', '. X X . X X X . X X'] + inp = ['X . X . . X . X X X', 'X X X X X X . . X .', + 'X . X X X X X . . X', 'X X X . X . X X . .', + '. X . X . X X X X X', 'X X X X X X X . . X', + 'X . X X X X X . . X', 'X X X . X X X X . .', + 'X X X . . . X X X X', '. X X . X X X . X X'] output = ['X . X Y . X . X X X', 'X X X X X X Y . X .', 'X Y X X X X X . . X', 'X X X . X Y X X . .', '. X Y X . X X X X X', 'X X X X X X X Y . X', 'X . X X X X X . Y X', 'X X X . X X X X . Y', 'X X X . Y . X X X X', 'Y X X . X X X . X X'] - self.pattern_based_test(input, output) + self.pattern_based_test(inp, output) def test_3x4_with_allocation(self): - input = ['X X . .', '. . X .', 'X . X .'] + inp = ['X X . .', '. . X .', 'X . X .'] output = ['X X Y .', 'Y . X .', 'X Y X .'] - mim = self.pattern_based_test(input, output) + mim = self.pattern_based_test(inp, output) self.assertTrue(mim.allocate(mim.duts_[2]) == mim.labels_[0]) self.assertTrue(mim.allocate(mim.duts_[3]) == mim.labels_[2]) self.assertTrue(mim.allocate(mim.duts_[0]) == mim.labels_[1]) @@ -227,8 +236,8 @@ class MachineImageManagerTester(unittest.TestCase): self.assertTrue(mim.label_duts_[0] == [2, 3]) self.assertTrue(mim.label_duts_[1] == [0, 3, 1]) self.assertTrue(mim.label_duts_[2] == [3, 1]) - self.assertTrue(mim.allocate_log_ == [(0, 2), (2, 3), (1, 0), (2, 1), ( - 1, 3), (0, 3), (1, 1)]) + self.assertTrue(mim.allocate_log_ == [(0, 2), (2, 3), (1, 0), (2, 1), + (1, 3), (0, 3), (1, 1)]) def test_cornercase_1(self): """This corner case is brought up by Caroline. @@ -264,12 +273,11 @@ class MachineImageManagerTester(unittest.TestCase): l1 Y X X l2 Y X X - """ - input = ['. X X', '. X X', '. X X'] + inp = ['. X X', '. X X', '. X X'] output = ['Y X X', 'Y X X', 'Y X X'] - mim = self.pattern_based_test(input, output) + mim = self.pattern_based_test(inp, output) self.assertTrue(mim.allocate(mim.duts_[1]) is None) self.assertTrue(mim.allocate(mim.duts_[2]) is None) self.assertTrue(mim.allocate(mim.duts_[0]) == mim.labels_[0]) -- cgit v1.2.3