diff options
author | Zhizhou Yang <zhizhouy@google.com> | 2019-11-12 11:20:14 -0800 |
---|---|---|
committer | Zhizhou Yang <zhizhouy@google.com> | 2019-11-13 00:55:03 +0000 |
commit | bdeec3069191c9d6a84c918098b65543bbc297bc (patch) | |
tree | 2e4002fe05e61081285d4aec6c68e2643b20ee29 /crosperf | |
parent | b4fb691319adfaf6558590d155bc326d13708251 (diff) | |
download | toolchain-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-x | crosperf/crosperf_unittest.py | 1 | ||||
-rwxr-xr-x | crosperf/experiment_factory_unittest.py | 6 | ||||
-rwxr-xr-x | crosperf/experiment_runner_unittest.py | 1 | ||||
-rwxr-xr-x | crosperf/results_report_unittest.py | 8 | ||||
-rwxr-xr-x | crosperf/schedv2_unittest.py | 42 |
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) |