aboutsummaryrefslogtreecommitdiff
path: root/crosperf
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2019-11-12 11:20:14 -0800
committerZhizhou Yang <zhizhouy@google.com>2019-11-13 00:55:03 +0000
commitbdeec3069191c9d6a84c918098b65543bbc297bc (patch)
tree2e4002fe05e61081285d4aec6c68e2643b20ee29 /crosperf
parentb4fb691319adfaf6558590d155bc326d13708251 (diff)
downloadtoolchain-utils-bdeec3069191c9d6a84c918098b65543bbc297bc.tar.gz
crosperf: fix unittest error without prodaccess
After locking mechanism changed, crosperf checks if locks_dir is set or not and by default uses X20 location. This requires prodaccess thus unittests will fail without prodaccess if locks_dir is not explicitly set. This patch set all experiment files in unittests to use /tmp for locks_dir. Also fixed some lint error for deprecated functions. TEST=Passed all unittest. BUG=None Change-Id: Iff4623aad9632842010e5efb85a1e75a38bcf73e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1912767 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Zhizhou Yang <zhizhouy@google.com> Tested-by: Zhizhou Yang <zhizhouy@google.com>
Diffstat (limited to 'crosperf')
-rwxr-xr-xcrosperf/crosperf_unittest.py1
-rwxr-xr-xcrosperf/experiment_factory_unittest.py6
-rwxr-xr-xcrosperf/experiment_runner_unittest.py1
-rwxr-xr-xcrosperf/results_report_unittest.py8
-rwxr-xr-xcrosperf/schedv2_unittest.py42
5 files changed, 33 insertions, 25 deletions
diff --git a/crosperf/crosperf_unittest.py b/crosperf/crosperf_unittest.py
index faf1badf..f7ffa1b7 100755
--- a/crosperf/crosperf_unittest.py
+++ b/crosperf/crosperf_unittest.py
@@ -25,6 +25,7 @@ import experiment_file
EXPERIMENT_FILE_1 = """
board: x86-alex
remote: chromeos-alex3
+ locks_dir: /tmp
perf_args: record -a -e cycles
benchmark: PageCycler {
iterations: 3
diff --git a/crosperf/experiment_factory_unittest.py b/crosperf/experiment_factory_unittest.py
index 32813357..a0a3d8d4 100755
--- a/crosperf/experiment_factory_unittest.py
+++ b/crosperf/experiment_factory_unittest.py
@@ -29,6 +29,7 @@ import settings_factory
EXPERIMENT_FILE_1 = """
board: x86-alex
remote: chromeos-alex3
+ locks_dir: /tmp
benchmark: PageCycler {
iterations: 3
@@ -51,6 +52,7 @@ EXPERIMENT_FILE_1 = """
EXPERIMENT_FILE_2 = """
board: x86-alex
remote: chromeos-alex3
+ locks_dir: /tmp
cwp_dso: kallsyms
@@ -111,7 +113,7 @@ class ExperimentFactoryTest(unittest.TestCase):
self.assertEqual(exp.benchmarks[1].weight, 0.2)
def testDuplecateBenchmark(self):
- mock_experiment_file = ExperimentFile(io.BytesIO(''))
+ mock_experiment_file = ExperimentFile(io.BytesIO(EXPERIMENT_FILE_1))
mock_experiment_file.all_settings = []
benchmark_settings1 = settings_factory.BenchmarkSettings('name')
mock_experiment_file.all_settings.append(benchmark_settings1)
@@ -126,6 +128,7 @@ class ExperimentFactoryTest(unittest.TestCase):
mock_experiment_file = ExperimentFile(io.BytesIO(''))
mock_experiment_file.all_settings = []
global_settings = settings_factory.GlobalSettings('test_name')
+ global_settings.SetField('locks_dir', '/tmp')
# Test 1: DSO type not supported
global_settings.SetField('cwp_dso', 'test')
@@ -309,6 +312,7 @@ class ExperimentFactoryTest(unittest.TestCase):
# Basic test.
global_settings.SetField('name', 'unittest_test')
global_settings.SetField('board', 'lumpy')
+ global_settings.SetField('locks_dir', '/tmp')
global_settings.SetField('remote', '123.45.67.89 123.45.76.80')
benchmark_settings.SetField('test_name', 'kraken')
benchmark_settings.SetField('suite', 'telemetry_Crosperf')
diff --git a/crosperf/experiment_runner_unittest.py b/crosperf/experiment_runner_unittest.py
index 2ec11ccd..8747de45 100755
--- a/crosperf/experiment_runner_unittest.py
+++ b/crosperf/experiment_runner_unittest.py
@@ -36,6 +36,7 @@ from cros_utils.file_utils import FileUtils
EXPERIMENT_FILE_1 = """
board: parrot
remote: chromeos-parrot1.cros chromreos-parrot2.cros
+ locks_dir: /tmp
benchmark: kraken {
suite: telemetry_Crosperf
diff --git a/crosperf/results_report_unittest.py b/crosperf/results_report_unittest.py
index e6438d6f..48fa0c38 100755
--- a/crosperf/results_report_unittest.py
+++ b/crosperf/results_report_unittest.py
@@ -86,6 +86,7 @@ def MakeMockExperiment(compiler='gcc'):
mock_experiment_file = io.BytesIO("""
board: x86-alex
remote: 127.0.0.1
+ locks_dir: /tmp
perf_args: record -a -e cycles
benchmark: PageCycler {
iterations: 3
@@ -109,8 +110,7 @@ def MakeMockExperiment(compiler='gcc'):
return experiment
-def _InjectSuccesses(experiment, how_many, keyvals, for_benchmark=0,
- label=None):
+def _InjectSuccesses(experiment, how_many, keyvals, for_benchmark=0):
"""Injects successful experiment runs (for each label) into the experiment."""
# Defensive copy of keyvals, so if it's modified, we'll know.
keyvals = dict(keyvals)
@@ -231,9 +231,9 @@ class HTMLResultsReportTest(unittest.TestCase):
else:
HTMLResultsReport(benchmark_results).GetReport()
mod_mock = standin
- self.assertEquals(mod_mock.call_count, 1)
+ self.assertEqual(mod_mock.call_count, 1)
# call_args[0] is positional args, call_args[1] is kwargs.
- self.assertEquals(mod_mock.call_args[0], tuple())
+ self.assertEqual(mod_mock.call_args[0], tuple())
fmt_args = mod_mock.call_args[1]
return self._GetTestOutput(**fmt_args)
diff --git a/crosperf/schedv2_unittest.py b/crosperf/schedv2_unittest.py
index 4aced646..3ccf6fa4 100755
--- a/crosperf/schedv2_unittest.py
+++ b/crosperf/schedv2_unittest.py
@@ -26,6 +26,7 @@ from schedv2 import Schedv2
EXPERIMENT_FILE_1 = """\
board: daisy
remote: chromeos-daisy1.cros chromeos-daisy2.cros
+locks_dir: /tmp
benchmark: kraken {
suite: telemetry_Crosperf
@@ -46,6 +47,7 @@ image2 {
EXPERIMENT_FILE_WITH_FORMAT = """\
board: daisy
remote: chromeos-daisy1.cros chromeos-daisy2.cros
+locks_dir: /tmp
benchmark: kraken {{
suite: telemetry_Crosperf
@@ -131,16 +133,16 @@ class Schedv2Test(unittest.TestCase):
# We have 9 * 2 == 18 brs, we use 5 threads, each reading 4, 4, 4,
# 4, 2 brs respectively.
# Assert that BenchmarkRunCacheReader() is called 5 times.
- self.assertEquals(reader.call_count, 5)
+ self.assertEqual(reader.call_count, 5)
# reader.call_args_list[n] - nth call.
# reader.call_args_list[n][0] - positioned args in nth call.
# reader.call_args_list[n][0][1] - the 2nd arg in nth call,
# that is 'br_list' in 'schedv2.BenchmarkRunCacheReader'.
- self.assertEquals(len(reader.call_args_list[0][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[1][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[2][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[3][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[4][0][1]), 2)
+ self.assertEqual(len(reader.call_args_list[0][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[1][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[2][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[3][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[4][0][1]), 2)
@mock.patch('schedv2.BenchmarkRunCacheReader')
def test_BenchmarkRunCacheReader_2(self, reader):
@@ -151,11 +153,11 @@ class Schedv2Test(unittest.TestCase):
my_schedv2 = Schedv2(self.exp)
self.assertFalse(my_schedv2.is_complete())
# We have 8 * 2 == 16 brs, we use 4 threads, each reading 4 brs.
- self.assertEquals(reader.call_count, 4)
- self.assertEquals(len(reader.call_args_list[0][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[1][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[2][0][1]), 4)
- self.assertEquals(len(reader.call_args_list[3][0][1]), 4)
+ self.assertEqual(reader.call_count, 4)
+ self.assertEqual(len(reader.call_args_list[0][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[1][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[2][0][1]), 4)
+ self.assertEqual(len(reader.call_args_list[3][0][1]), 4)
@mock.patch('schedv2.BenchmarkRunCacheReader')
def test_BenchmarkRunCacheReader_3(self, reader):
@@ -166,9 +168,9 @@ class Schedv2Test(unittest.TestCase):
my_schedv2 = Schedv2(self.exp)
self.assertFalse(my_schedv2.is_complete())
# We have 3 * 2 == 6 brs, we use 2 threads.
- self.assertEquals(reader.call_count, 2)
- self.assertEquals(len(reader.call_args_list[0][0][1]), 3)
- self.assertEquals(len(reader.call_args_list[1][0][1]), 3)
+ self.assertEqual(reader.call_count, 2)
+ self.assertEqual(len(reader.call_args_list[0][0][1]), 3)
+ self.assertEqual(len(reader.call_args_list[1][0][1]), 3)
@mock.patch('schedv2.BenchmarkRunCacheReader')
def test_BenchmarkRunCacheReader_4(self, reader):
@@ -179,8 +181,8 @@ class Schedv2Test(unittest.TestCase):
my_schedv2 = Schedv2(self.exp)
self.assertFalse(my_schedv2.is_complete())
# We have 1 * 2 == 2 br, so only 1 instance.
- self.assertEquals(reader.call_count, 1)
- self.assertEquals(len(reader.call_args_list[0][0][1]), 2)
+ self.assertEqual(reader.call_count, 1)
+ self.assertEqual(len(reader.call_args_list[0][0][1]), 2)
def test_cachehit(self):
"""Test cache-hit and none-cache-hit brs are properly organized."""
@@ -194,9 +196,9 @@ class Schedv2Test(unittest.TestCase):
self.exp = self._make_fake_experiment(
EXPERIMENT_FILE_WITH_FORMAT.format(kraken_iterations=30))
my_schedv2 = Schedv2(self.exp)
- self.assertEquals(len(my_schedv2.get_cached_run_list()), 30)
+ self.assertEqual(len(my_schedv2.get_cached_run_list()), 30)
# The non-cache-hit brs are put into Schedv2._label_brl_map.
- self.assertEquals(
+ self.assertEqual(
functools.reduce(lambda a, x: a + len(x[1]),
my_schedv2.get_label_map().iteritems(), 0), 30)
@@ -212,9 +214,9 @@ class Schedv2Test(unittest.TestCase):
self.exp = self._make_fake_experiment(
EXPERIMENT_FILE_WITH_FORMAT.format(kraken_iterations=30))
my_schedv2 = Schedv2(self.exp)
- self.assertEquals(len(my_schedv2.get_cached_run_list()), 0)
+ self.assertEqual(len(my_schedv2.get_cached_run_list()), 0)
# The non-cache-hit brs are put into Schedv2._label_brl_map.
- self.assertEquals(
+ self.assertEqual(
functools.reduce(lambda a, x: a + len(x[1]),
my_schedv2.get_label_map().iteritems(), 0), 60)