diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-28 20:24:56 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2020-04-28 20:24:56 +0000 |
commit | 656c7c0fa0d9b776c019f5423e01a9a28979d2bd (patch) | |
tree | 220a95d346d58fa5090d8033991bcfef2ad03d99 /crosperf/experiment_runner_unittest.py | |
parent | 091406baac88deeb2ef9c71d5047bd9daf3915ef (diff) | |
parent | ccead650bb8e050400f55dc44b60f989b1f8e117 (diff) | |
download | toolchain-utils-656c7c0fa0d9b776c019f5423e01a9a28979d2bd.tar.gz |
Snap for 6439596 from ccead650bb8e050400f55dc44b60f989b1f8e117 to qt-aml-tzdata-releaseq_tzdata_aml_297100400q_tzdata_aml_297100300q_tzdata_aml_297100000q_tzdata_aml_296200000q_tzdata_aml_295600118q_tzdata_aml_295600110q_tzdata_aml_295500002q_tzdata_aml_295500001q_tzdata_aml_294400310android-mainline-12.0.0_r54android-mainline-12.0.0_r111android-mainline-10.0.0_r13android-mainline-10.0.0_r12android-mainline-10.0.0_r11q_tzdata_aml_297100000android12-mainline-tzdata-releaseandroid10-mainline-tzdata-releaseandroid10-android13-mainline-tzdata-release
Change-Id: I3464301d9b41d48e11dfd361a411d60a1bd5a429
Diffstat (limited to 'crosperf/experiment_runner_unittest.py')
-rwxr-xr-x | crosperf/experiment_runner_unittest.py | 65 |
1 files changed, 20 insertions, 45 deletions
diff --git a/crosperf/experiment_runner_unittest.py b/crosperf/experiment_runner_unittest.py index 2ec11ccd..4809894f 100755 --- a/crosperf/experiment_runner_unittest.py +++ b/crosperf/experiment_runner_unittest.py @@ -1,21 +1,18 @@ #!/usr/bin/env python2 -# -*- coding: utf-8 -*- # # Copyright (c) 2014 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. - """Tests for the experiment runner module.""" from __future__ import print_function +import StringIO import getpass -import io import os -import time -import unittest import mock +import unittest import experiment_runner import experiment_status @@ -108,7 +105,7 @@ class ExperimentRunnerTest(unittest.TestCase): def make_fake_experiment(self): test_flag.SetTestMode(True) - experiment_file = ExperimentFile(io.BytesIO(EXPERIMENT_FILE_1)) + experiment_file = ExperimentFile(StringIO.StringIO(EXPERIMENT_FILE_1)) experiment = ExperimentFactory().GetExperiment( experiment_file, working_directory='', log_dir='') return experiment @@ -140,18 +137,12 @@ class ExperimentRunnerTest(unittest.TestCase): cmd_exec=self.mock_cmd_exec) self.assertEqual(er.STATUS_TIME_DELAY, 30) - @mock.patch.object(time, 'time') - @mock.patch.object(time, 'sleep') @mock.patch.object(experiment_status.ExperimentStatus, 'GetStatusString') @mock.patch.object(experiment_status.ExperimentStatus, 'GetProgressString') - def test_run(self, mock_progress_string, mock_status_string, mock_sleep, - mock_time): + def test_run(self, mock_progress_string, mock_status_string): self.run_count = 0 self.is_complete_count = 0 - mock_sleep.return_value = None - # pylint: disable=range-builtin-not-iterating - mock_time.side_effect = range(1, 50, 1) def reset(): self.run_count = 0 @@ -163,7 +154,7 @@ class ExperimentRunnerTest(unittest.TestCase): def FakeIsComplete(): self.is_complete_count += 1 - if self.is_complete_count < 6: + if self.is_complete_count < 3: return False else: return True @@ -313,11 +304,11 @@ class ExperimentRunnerTest(unittest.TestCase): self.assertEqual(mock_html_report.call_count, 1) self.assertEqual(len(mock_emailer.call_args), 2) self.assertEqual(mock_emailer.call_args[0], - (['jane.doe@google.com', 'john.smith@google.com' - ], ': image1 vs. image2', + (['jane.doe@google.com', + 'john.smith@google.com'], ': image1 vs. image2', "<pre style='font-size: 13px'>This is a fake text " 'report.\nResults are stored in _results.\n</pre>')) - self.assertTrue(isinstance(mock_emailer.call_args[1], dict)) + self.assertTrue(type(mock_emailer.call_args[1]) is dict) self.assertEqual(len(mock_emailer.call_args[1]), 2) self.assertTrue('attachments' in mock_emailer.call_args[1].keys()) self.assertEqual(mock_emailer.call_args[1]['msg_type'], 'html') @@ -349,7 +340,7 @@ class ExperimentRunnerTest(unittest.TestCase): ], ': image1 vs. image2', "<pre style='font-size: 13px'>This is a fake text " 'report.\nResults are stored in _results.\n</pre>')) - self.assertTrue(isinstance(mock_emailer.call_args[1], dict)) + self.assertTrue(type(mock_emailer.call_args[1]) is dict) self.assertEqual(len(mock_emailer.call_args[1]), 2) self.assertTrue('attachments' in mock_emailer.call_args[1].keys()) self.assertEqual(mock_emailer.call_args[1]['msg_type'], 'html') @@ -376,7 +367,7 @@ class ExperimentRunnerTest(unittest.TestCase): (['john.smith@google.com'], ': image1 vs. image2', "<pre style='font-size: 13px'>This is a fake text " 'report.\nResults are stored in _results.\n</pre>')) - self.assertTrue(isinstance(mock_emailer.call_args[1], dict)) + self.assertTrue(type(mock_emailer.call_args[1]) is dict) self.assertEqual(len(mock_emailer.call_args[1]), 2) self.assertTrue('attachments' in mock_emailer.call_args[1].keys()) self.assertEqual(mock_emailer.call_args[1]['msg_type'], 'html') @@ -407,17 +398,14 @@ class ExperimentRunnerTest(unittest.TestCase): @mock.patch.object(TextResultsReport, 'FromExperiment') @mock.patch.object(Result, 'CopyResultsTo') @mock.patch.object(Result, 'CleanUp') - @mock.patch.object(Result, 'FormatStringTop5') - @mock.patch('__builtin__.open', new_callable=mock.mock_open) - def test_store_results(self, mock_open, mock_top5, mock_cleanup, mock_copy, - _mock_text_report, mock_report, mock_writefile, - mock_mkdir, mock_rmdir): + def test_store_results(self, mock_cleanup, mock_copy, _mock_text_report, + mock_report, mock_writefile, mock_mkdir, mock_rmdir): self.mock_logger.Reset() self.exp.results_directory = '/usr/local/crosperf-results' bench_run = self.exp.benchmark_runs[5] - bench_path = '/usr/local/crosperf-results/' + ''.join( - ch for ch in bench_run.name if ch.isalnum()) + bench_path = '/usr/local/crosperf-results/' + filter( + str.isalnum, bench_run.name) self.assertEqual(len(self.exp.benchmark_runs), 6) er = experiment_runner.ExperimentRunner( @@ -437,8 +425,6 @@ class ExperimentRunnerTest(unittest.TestCase): self.assertEqual(mock_mkdir.call_count, 0) self.assertEqual(mock_rmdir.call_count, 0) self.assertEqual(self.mock_logger.LogOutputCount, 0) - self.assertEqual(mock_open.call_count, 0) - self.assertEqual(mock_top5.call_count, 0) # Test 2. _terminated is false; everything works properly. fake_result = Result(self.mock_logger, self.exp.labels[0], 'average', @@ -448,9 +434,9 @@ class ExperimentRunnerTest(unittest.TestCase): er._terminated = False er._StoreResults(self.exp) self.assertEqual(mock_cleanup.call_count, 6) - mock_cleanup.assert_called_with(bench_run.benchmark.rm_chroot_tmp) + mock_cleanup.called_with(bench_run.benchmark.rm_chroot_tmp) self.assertEqual(mock_copy.call_count, 6) - mock_copy.assert_called_with(bench_path) + mock_copy.called_with(bench_path) self.assertEqual(mock_writefile.call_count, 3) self.assertEqual(len(mock_writefile.call_args_list), 3) first_args = mock_writefile.call_args_list[0] @@ -460,27 +446,16 @@ class ExperimentRunnerTest(unittest.TestCase): self.assertEqual(second_args[0][0], '/usr/local/crosperf-results/results.html') self.assertEqual(mock_mkdir.call_count, 1) - mock_mkdir.assert_called_with('/usr/local/crosperf-results') + mock_mkdir.called_with('/usr/local/crosperf-results') self.assertEqual(mock_rmdir.call_count, 1) - mock_rmdir.assert_called_with('/usr/local/crosperf-results') - self.assertEqual(self.mock_logger.LogOutputCount, 5) + mock_rmdir.called_with('/usr/local/crosperf-results') + self.assertEqual(self.mock_logger.LogOutputCount, 4) self.assertEqual(self.mock_logger.output_msgs, [ 'Storing experiment file in /usr/local/crosperf-results.', 'Storing results report in /usr/local/crosperf-results.', 'Storing email message body in /usr/local/crosperf-results.', - 'Storing results of each benchmark run.', - 'Storing top5 statistics of each benchmark run into' - ' /usr/local/crosperf-results/topstats.log.', + 'Storing results of each benchmark run.' ]) - self.assertEqual(mock_open.call_count, 1) - # Check write to a topstats.log file. - mock_open.assert_called_with('/usr/local/crosperf-results/topstats.log', - 'w') - mock_open().write.assert_called() - - # Check top5 calls with no arguments. - top5calls = [mock.call()] * 6 - self.assertEqual(mock_top5.call_args_list, top5calls) if __name__ == '__main__': |