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

Unified Diff: scripts/slave/recipe_modules/chromium/steps.py

Issue 873403002: Add support for cc_perftests and other non-telemetry gtest based tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@master
Patch Set: Rebase again + coverage. Created 5 years, 10 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: scripts/slave/recipe_modules/chromium/steps.py
diff --git a/scripts/slave/recipe_modules/chromium/steps.py b/scripts/slave/recipe_modules/chromium/steps.py
index e63d03f32b59b808217e22789c45e1909f58c539..a45119599d4340dda30a599b19f30a84c5c01e52 100644
--- a/scripts/slave/recipe_modules/chromium/steps.py
+++ b/scripts/slave/recipe_modules/chromium/steps.py
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import re
+import string
class Test(object):
@@ -103,11 +104,12 @@ class ScriptTest(Test): # pylint: disable=W0232
All new tests are strongly encouraged to use this infrastructure.
"""
- def __init__(self, name, script, all_compile_targets):
+ def __init__(self, name, script, all_compile_targets, script_args=None):
super(ScriptTest, self).__init__()
self._name = name
self._script = script
self._all_compile_targets = all_compile_targets
+ self._script_args = script_args
@property
def name(self):
@@ -115,7 +117,10 @@ class ScriptTest(Test): # pylint: disable=W0232
def compile_targets(self, api):
try:
- return self._all_compile_targets[self._script]
+ substitutions = {'name': self._name}
+
+ return [string.Template(s).safe_substitute(substitutions)
+ for s in self._all_compile_targets[self._script]]
except KeyError:
# Not all scripts will have test data inside recipes,
# so return a default value.
@@ -139,6 +144,9 @@ class ScriptTest(Test): # pylint: disable=W0232
]) # pragma: no cover
try:
+ script_args = []
+ if self._script_args:
+ script_args = ['--args', api.json.input(self._script_args)]
api.python(
name,
# Enforce that all scripts are in the specified directory
@@ -146,6 +154,7 @@ class ScriptTest(Test): # pylint: disable=W0232
api.path['checkout'].join(
'testing', 'scripts', api.path.basename(self._script)),
args=(api.chromium.get_common_args_for_scripts() +
+ script_args +
['run', '--output', api.json.output()] +
run_args),
step_test_data=lambda: api.json.test_api.output(
@@ -338,7 +347,8 @@ def generate_script(api, mastername, buildername, test_spec,
yield ScriptTest(
str(script_spec['name']),
script_spec['script'],
- scripts_compile_targets) # pragma: no cover
+ scripts_compile_targets, # pragma: no cover
+ script_spec.get('args', []))
class DynamicPerfTests(Test):
« no previous file with comments | « scripts/slave/recipe_modules/chromium/chromium_perf.py ('k') | scripts/slave/recipe_modules/chromium_tests/api.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698