Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Unified Diff: tools/perf/core/perf_data_generator_unittest.py

Issue 2754883002: Generating benchmark.csv file (Closed)
Patch Set: verifying tests during validate only as well Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)
« tools/perf/core/perf_data_generator.py ('K') | « tools/perf/core/perf_data_generator.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698