diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2022-11-11 23:35:38 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-11 23:35:38 +0000 |
commit | 40214b48188358a80b7478bfff21d4814dd9177c (patch) | |
tree | 77dc031614745bb406dbd90cea9a082a1b5cdd54 /crosperf/experiment_file_unittest.py | |
parent | a51582ad9cb50ec284f4718765bd5d31fa0069d4 (diff) | |
parent | 584b8e46d146a2bcfeffd64448a2d8e92904168d (diff) | |
download | toolchain-utils-android14-qpr1-s2-release.tar.gz |
Upgrade toolchain-utils to 2c474af4f370b143032144aff1ff1985f789e20f am: 8b320f7173 am: d444309511 am: 584b8e46d1android-14.0.0_r45android-14.0.0_r44android-14.0.0_r43android-14.0.0_r42android-14.0.0_r41android-14.0.0_r40android-14.0.0_r39android-14.0.0_r38android-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16aml_rkp_341510000aml_rkp_341311000aml_rkp_341114000aml_rkp_341015010aml_rkp_341012000aml_hef_341717050aml_hef_341613000aml_hef_341512030aml_hef_341415040aml_hef_341311010aml_hef_341114030aml_cfg_341510000android14-qpr1-s2-releaseandroid14-qpr1-releaseandroid14-mainline-healthfitness-releaseandroid14-devandroid14-d2-s5-releaseandroid14-d2-s4-releaseandroid14-d2-s3-releaseandroid14-d2-s2-releaseandroid14-d2-s1-releaseandroid14-d2-release
Original change: https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/2292563
Change-Id: Ida212764c332af8ba8ab8aaa62a7d2a007e3314e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'crosperf/experiment_file_unittest.py')
-rwxr-xr-x | crosperf/experiment_file_unittest.py | 203 |
1 files changed, 110 insertions, 93 deletions
diff --git a/crosperf/experiment_file_unittest.py b/crosperf/experiment_file_unittest.py index 0d4e1e67..5c09ee06 100755 --- a/crosperf/experiment_file_unittest.py +++ b/crosperf/experiment_file_unittest.py @@ -1,18 +1,18 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright (c) 2011 The Chromium OS Authors. All rights reserved. +# Copyright 2011 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """The unittest of experiment_file.""" -from __future__ import print_function import io import unittest from experiment_file import ExperimentFile + EXPERIMENT_FILE_1 = """ board: x86-alex remote: chromeos-alex3 @@ -158,94 +158,111 @@ label: image2 { class ExperimentFileTest(unittest.TestCase): - """The main class for Experiment File test.""" - - def testLoadExperimentFile1(self): - input_file = io.StringIO(EXPERIMENT_FILE_1) - experiment_file = ExperimentFile(input_file) - global_settings = experiment_file.GetGlobalSettings() - self.assertEqual(global_settings.GetField('remote'), ['chromeos-alex3']) - self.assertEqual( - global_settings.GetField('perf_args'), 'record -a -e cycles') - benchmark_settings = experiment_file.GetSettings('benchmark') - self.assertEqual(len(benchmark_settings), 1) - self.assertEqual(benchmark_settings[0].name, 'PageCycler') - self.assertEqual(benchmark_settings[0].GetField('iterations'), 3) - - label_settings = experiment_file.GetSettings('label') - self.assertEqual(len(label_settings), 2) - self.assertEqual(label_settings[0].name, 'image1') - self.assertEqual(label_settings[0].GetField('chromeos_image'), - '/usr/local/google/cros_image1.bin') - self.assertEqual(label_settings[1].GetField('remote'), ['chromeos-lumpy1']) - self.assertEqual(label_settings[0].GetField('remote'), ['chromeos-alex3']) - - def testOverrideSetting(self): - input_file = io.StringIO(EXPERIMENT_FILE_2) - experiment_file = ExperimentFile(input_file) - global_settings = experiment_file.GetGlobalSettings() - self.assertEqual(global_settings.GetField('remote'), ['chromeos-alex3']) - - benchmark_settings = experiment_file.GetSettings('benchmark') - self.assertEqual(len(benchmark_settings), 2) - self.assertEqual(benchmark_settings[0].name, 'PageCycler') - self.assertEqual(benchmark_settings[0].GetField('iterations'), 3) - self.assertEqual(benchmark_settings[1].name, 'AndroidBench') - self.assertEqual(benchmark_settings[1].GetField('iterations'), 2) - - def testDuplicateLabel(self): - input_file = io.StringIO(EXPERIMENT_FILE_3) - self.assertRaises(Exception, ExperimentFile, input_file) - - def testDuplicateBenchmark(self): - input_file = io.StringIO(EXPERIMENT_FILE_4) - experiment_file = ExperimentFile(input_file) - benchmark_settings = experiment_file.GetSettings('benchmark') - self.assertEqual(benchmark_settings[0].name, 'webrtc') - self.assertEqual(benchmark_settings[0].GetField('test_args'), - '--story-filter=datachannel') - self.assertEqual(benchmark_settings[1].name, 'webrtc') - self.assertEqual(benchmark_settings[1].GetField('test_args'), - '--story-tag-filter=smoothness') - - def testCanonicalize(self): - input_file = io.StringIO(EXPERIMENT_FILE_1) - experiment_file = ExperimentFile(input_file) - res = experiment_file.Canonicalize() - self.assertEqual(res, OUTPUT_FILE) - - def testLoadDutConfigExperimentFile_Good(self): - input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_GOOD) - experiment_file = ExperimentFile(input_file) - global_settings = experiment_file.GetGlobalSettings() - self.assertEqual(global_settings.GetField('turbostat'), False) - self.assertEqual(global_settings.GetField('intel_pstate'), 'no_hwp') - self.assertEqual(global_settings.GetField('governor'), 'powersave') - self.assertEqual(global_settings.GetField('cpu_usage'), 'exclusive_cores') - self.assertEqual(global_settings.GetField('cpu_freq_pct'), 50) - self.assertEqual(global_settings.GetField('cooldown_time'), 5) - self.assertEqual(global_settings.GetField('cooldown_temp'), 38) - self.assertEqual(global_settings.GetField('top_interval'), 5) - - def testLoadDutConfigExperimentFile_WrongGovernor(self): - input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_BAD_GOV) - with self.assertRaises(RuntimeError) as msg: - ExperimentFile(input_file) - self.assertRegex(str(msg.exception), 'governor: misspelled_governor') - self.assertRegex( - str(msg.exception), "Invalid enum value for field 'governor'." - r' Must be one of \(performance, powersave, userspace, ondemand,' - r' conservative, schedutils, sched, interactive\)') - - def testLoadDutConfigExperimentFile_WrongCpuUsage(self): - input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_BAD_CPUUSE) - with self.assertRaises(RuntimeError) as msg: - ExperimentFile(input_file) - self.assertRegex(str(msg.exception), 'cpu_usage: unknown') - self.assertRegex( - str(msg.exception), "Invalid enum value for field 'cpu_usage'." - r' Must be one of \(all, big_only, little_only, exclusive_cores\)') - - -if __name__ == '__main__': - unittest.main() + """The main class for Experiment File test.""" + + def testLoadExperimentFile1(self): + input_file = io.StringIO(EXPERIMENT_FILE_1) + experiment_file = ExperimentFile(input_file) + global_settings = experiment_file.GetGlobalSettings() + self.assertEqual(global_settings.GetField("remote"), ["chromeos-alex3"]) + self.assertEqual( + global_settings.GetField("perf_args"), "record -a -e cycles" + ) + benchmark_settings = experiment_file.GetSettings("benchmark") + self.assertEqual(len(benchmark_settings), 1) + self.assertEqual(benchmark_settings[0].name, "PageCycler") + self.assertEqual(benchmark_settings[0].GetField("iterations"), 3) + + label_settings = experiment_file.GetSettings("label") + self.assertEqual(len(label_settings), 2) + self.assertEqual(label_settings[0].name, "image1") + self.assertEqual( + label_settings[0].GetField("chromeos_image"), + "/usr/local/google/cros_image1.bin", + ) + self.assertEqual( + label_settings[1].GetField("remote"), ["chromeos-lumpy1"] + ) + self.assertEqual( + label_settings[0].GetField("remote"), ["chromeos-alex3"] + ) + + def testOverrideSetting(self): + input_file = io.StringIO(EXPERIMENT_FILE_2) + experiment_file = ExperimentFile(input_file) + global_settings = experiment_file.GetGlobalSettings() + self.assertEqual(global_settings.GetField("remote"), ["chromeos-alex3"]) + + benchmark_settings = experiment_file.GetSettings("benchmark") + self.assertEqual(len(benchmark_settings), 2) + self.assertEqual(benchmark_settings[0].name, "PageCycler") + self.assertEqual(benchmark_settings[0].GetField("iterations"), 3) + self.assertEqual(benchmark_settings[1].name, "AndroidBench") + self.assertEqual(benchmark_settings[1].GetField("iterations"), 2) + + def testDuplicateLabel(self): + input_file = io.StringIO(EXPERIMENT_FILE_3) + self.assertRaises(Exception, ExperimentFile, input_file) + + def testDuplicateBenchmark(self): + input_file = io.StringIO(EXPERIMENT_FILE_4) + experiment_file = ExperimentFile(input_file) + benchmark_settings = experiment_file.GetSettings("benchmark") + self.assertEqual(benchmark_settings[0].name, "webrtc") + self.assertEqual( + benchmark_settings[0].GetField("test_args"), + "--story-filter=datachannel", + ) + self.assertEqual(benchmark_settings[1].name, "webrtc") + self.assertEqual( + benchmark_settings[1].GetField("test_args"), + "--story-tag-filter=smoothness", + ) + + def testCanonicalize(self): + input_file = io.StringIO(EXPERIMENT_FILE_1) + experiment_file = ExperimentFile(input_file) + res = experiment_file.Canonicalize() + self.assertEqual(res, OUTPUT_FILE) + + def testLoadDutConfigExperimentFile_Good(self): + input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_GOOD) + experiment_file = ExperimentFile(input_file) + global_settings = experiment_file.GetGlobalSettings() + self.assertEqual(global_settings.GetField("turbostat"), False) + self.assertEqual(global_settings.GetField("intel_pstate"), "no_hwp") + self.assertEqual(global_settings.GetField("governor"), "powersave") + self.assertEqual( + global_settings.GetField("cpu_usage"), "exclusive_cores" + ) + self.assertEqual(global_settings.GetField("cpu_freq_pct"), 50) + self.assertEqual(global_settings.GetField("cooldown_time"), 5) + self.assertEqual(global_settings.GetField("cooldown_temp"), 38) + self.assertEqual(global_settings.GetField("top_interval"), 5) + + def testLoadDutConfigExperimentFile_WrongGovernor(self): + input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_BAD_GOV) + with self.assertRaises(RuntimeError) as msg: + ExperimentFile(input_file) + self.assertRegex(str(msg.exception), "governor: misspelled_governor") + self.assertRegex( + str(msg.exception), + "Invalid enum value for field 'governor'." + r" Must be one of \(performance, powersave, userspace, ondemand," + r" conservative, schedutils, sched, interactive\)", + ) + + def testLoadDutConfigExperimentFile_WrongCpuUsage(self): + input_file = io.StringIO(DUT_CONFIG_EXPERIMENT_FILE_BAD_CPUUSE) + with self.assertRaises(RuntimeError) as msg: + ExperimentFile(input_file) + self.assertRegex(str(msg.exception), "cpu_usage: unknown") + self.assertRegex( + str(msg.exception), + "Invalid enum value for field 'cpu_usage'." + r" Must be one of \(all, big_only, little_only, exclusive_cores\)", + ) + + +if __name__ == "__main__": + unittest.main() |