summaryrefslogtreecommitdiff
path: root/chromium/testing/scripts/run_performance_tests_unittest.py
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-05-20 09:47:09 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-07 11:15:42 +0000
commit189d4fd8fad9e3c776873be51938cd31a42b6177 (patch)
tree6497caeff5e383937996768766ab3bb2081a40b2 /chromium/testing/scripts/run_performance_tests_unittest.py
parent8bc75099d364490b22f43a7ce366b366c08f4164 (diff)
downloadqtwebengine-chromium-189d4fd8fad9e3c776873be51938cd31a42b6177.tar.gz
BASELINE: Update Chromium to 90.0.4430.221
Change-Id: Iff4d9d18d2fcf1a576f3b1f453010f744a232920 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/testing/scripts/run_performance_tests_unittest.py')
-rw-r--r--chromium/testing/scripts/run_performance_tests_unittest.py80
1 files changed, 80 insertions, 0 deletions
diff --git a/chromium/testing/scripts/run_performance_tests_unittest.py b/chromium/testing/scripts/run_performance_tests_unittest.py
new file mode 100644
index 00000000000..5389941c4ac
--- /dev/null
+++ b/chromium/testing/scripts/run_performance_tests_unittest.py
@@ -0,0 +1,80 @@
+# Copyright (c) 2021 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
+import json
+
+import run_performance_tests
+from run_performance_tests import TelemetryCommandGenerator
+
+# The path where the output of a wpt run was written. This is the file that
+# gets processed by BaseWptScriptAdapter.
+OUTPUT_JSON_FILENAME = "out.json"
+
+
+class TelemetryCommandGeneratorTest(unittest.TestCase):
+ def setUp(self):
+ fake_args = [
+ './run_benchmark',
+ '--isolated-script-test-output=output.json'
+ ]
+ self._fake_options = run_performance_tests.parse_arguments(fake_args)
+
+ def testStorySelectionBeginEnd(self):
+ story_selection_config = json.loads(
+ '{"begin": 11, "end": 21, "abridged": false}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ command = generator.generate('output_dir')
+ self.assertIn('--story-shard-begin-index=11', command)
+ self.assertIn('--story-shard-end-index=21', command)
+ self.assertNotIn('--run-abridged-story-set', command)
+
+
+ def testStorySelectionAbridgedDefault(self):
+ story_selection_config = json.loads(
+ '{"begin": 11, "end": 21}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ command = generator.generate('output_dir')
+ self.assertIn('--run-abridged-story-set', command)
+
+ def testStorySelectionIndexSectionsSingleIndex(self):
+ story_selection_config = json.loads(
+ '{"sections": [{"begin": 11, "end": 21}, {"begin": 25, "end": 26}]}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ command = generator.generate('output_dir')
+ self.assertIn('--story-shard-indexes=11-21,25', command)
+
+ def testStorySelectionIndexSectionsOpenEnds(self):
+ story_selection_config = json.loads(
+ '{"sections": [{"end": 10}, {"begin": 15, "end": 16}, {"begin": 20}]}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ command = generator.generate('output_dir')
+ self.assertIn('--story-shard-indexes=-10,15,20-', command)
+
+
+ def testStorySelectionIndexSectionsIllegalRange(self):
+ with self.assertRaises(ValueError):
+ story_selection_config = json.loads(
+ '{"sections": [{"begin": 15, "end": 16}, {"foo": "bar"}]}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ generator.generate('output_dir')
+
+ def testStorySelectionIndexSectionsEmpty(self):
+ story_selection_config = json.loads(
+ '{"sections": []}')
+ generator = TelemetryCommandGenerator(
+ 'benchmark_name', self._fake_options, story_selection_config
+ )
+ command = generator.generate('output_dir')
+ self.assertNotIn('--story-shard-indexes=', command) \ No newline at end of file