| Index: tools/perf/core/perf_data_generator_unittest.py
|
| diff --git a/tools/perf/core/perf_data_generator_unittest.py b/tools/perf/core/perf_data_generator_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cdfe688b2c9a9114f4471c6f340e7ce1ce1af0ae
|
| --- /dev/null
|
| +++ b/tools/perf/core/perf_data_generator_unittest.py
|
| @@ -0,0 +1,66 @@
|
| +# Copyright 2017 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +import unittest
|
| +
|
| +from core import perf_data_generator
|
| +from core.perf_data_generator import BenchmarkMetadata
|
| +
|
| +
|
| +class PerfDataGeneratorTest(unittest.TestCase):
|
| +
|
| + def testVerifyAllTestsInBenchmarkCsvPassesWithCorrectInput(self):
|
| + tests = {
|
| + 'AAAAA1 AUTOGENERATED': {},
|
| + 'Android Nexus5 Perf (2)': {
|
| + 'scripts': [
|
| + {'name': 'benchmark_name_1'},
|
| + {'name': 'benchmark_name_2'}
|
| + ]
|
| + },
|
| + 'Linux Perf': {
|
| + 'isolated_scripts': [
|
| + {'name': 'benchmark_name_2.reference'},
|
| + {'name': 'benchmark_name_3'}
|
| + ]
|
| + }
|
| + }
|
| + benchmarks = {
|
| + 'benchmark_name_1': BenchmarkMetadata(None, None),
|
| + 'benchmark_name_2': BenchmarkMetadata(None, None),
|
| + 'benchmark_name_3': BenchmarkMetadata(None, None)
|
| + }
|
| +
|
| + perf_data_generator.verify_all_tests_in_benchmark_csv(tests, benchmarks)
|
| +
|
| +
|
| + def testVerifyAllTestsInBenchmarkCsvCatchesMismatchedTests(self):
|
| + tests = {
|
| + 'Android Nexus5 Perf (2)': {
|
| + 'scripts': [
|
| + {'name': 'benchmark_name_1'},
|
| + {'name': 'benchmark_name_2'}
|
| + ]
|
| + }
|
| + }
|
| + benchmarks = {
|
| + 'benchmark_name_2': BenchmarkMetadata(None, None),
|
| + 'benchmark_name_3': BenchmarkMetadata(None, None),
|
| + }
|
| +
|
| + with self.assertRaises(AssertionError) as context:
|
| + perf_data_generator.verify_all_tests_in_benchmark_csv(tests, benchmarks)
|
| + exception = context.exception.message
|
| + self.assertTrue('Add benchmark_name_1' in exception)
|
| + self.assertTrue('Remove benchmark_name_3' in exception)
|
| +
|
| +
|
| + def testVerifyAllTestsInBenchmarkCsvFindsFakeTest(self):
|
| + tests = {'Random fake test': {}}
|
| + benchmarks = {
|
| + 'benchmark_name_1': BenchmarkMetadata(None, None)
|
| + }
|
| +
|
| + with self.assertRaises(AssertionError) as context:
|
| + perf_data_generator.verify_all_tests_in_benchmark_csv(tests, benchmarks)
|
| + self.assertTrue('Unknown test' in context.exception.message)
|
|
|