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

Unified Diff: components/test/data/password_manager/automated_tests/run_tests.py

Issue 977043003: [Password manager tests] Provide default config values (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments addressed 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/test/data/password_manager/automated_tests/run_tests.py
diff --git a/components/test/data/password_manager/automated_tests/run_tests.py b/components/test/data/password_manager/automated_tests/run_tests.py
index 2c0b799dc330300875d528236b6989b916257857..eb2450a8b8547780340223aedcf4f0298a70cf18 100644
--- a/components/test/data/password_manager/automated_tests/run_tests.py
+++ b/components/test/data/password_manager/automated_tests/run_tests.py
@@ -3,21 +3,25 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-"""This file allows the bots to be easily configure and run the tests.
+"""This file allows the bots to be easily configured and run the tests.
Running this script requires passing --config-path with a path to a config file
of the following structure:
+
[data_files]
passwords_path=<path to a file with passwords>
[binaries]
chrome-path=<chrome binary path>
chromedriver-path=<chrome driver path>
[run_options]
+ # |write_to_sheet| is optional, the default value is false.
write_to_sheet=[false|true]
- tests_in_parrallel=<number of parallel tests>
+ # |tests_in_parallel| is optional, the default value is 1.
+ tests_in_parallel=<number of parallel tests>
# |tests_to_runs| field is optional, if it is absent all tests will be run.
tests_to_run=<test names to run, comma delimited>
[output]
+ # |save-path| is optional, the default value is /dev/null.
save-path=<file where to save result>
[sheet_info]
# This section is required only when write_to_sheet=true
@@ -177,14 +181,39 @@ class TestRunner(object):
print "Run of test %s started" % self.test_name
self.runner_process = subprocess.Popen(self.test_cmd)
+def _apply_defaults(config, defaults):
+ """Adds default values from |defaults| to |config|.
+
+ Note: This differs from ConfigParser's mechanism for providing defaults in
+ two aspects:
+ * The "defaults" here become explicit, and are associated with sections.
+ * Sections get created for the added defaults where needed, that is, if
+ they do not exist before.
+
+ Args:
+ config: A ConfigParser instance to be updated
+ defaults: A dictionary mapping (section_string, option_string) pairs
+ to string values. For every section/option combination not already
+ contained in |config|, the value from |defaults| is stored in |config|.
+ """
+ for (section, option) in defaults:
+ if not config.has_section(section):
+ config.add_section(section)
+ if not config.has_option(section, option):
+ config.set(section, option, defaults[(section, option)])
+
def run_tests(config_path):
""" Runs automated tests. """
environment = Environment("", "", "", None, False)
tests.Tests(environment)
+ defaults = { ("output", "save-path"): "/dev/null",
+ ("run_options", "tests_in_parallel"): "1",
+ ("run_options", "write_to_sheet"): "false" }
config = ConfigParser.ConfigParser()
+ _apply_defaults(config, defaults)
config.read(config_path)
date = datetime.now().strftime('%Y-%m-%dT%H:%M:%S')
- max_tests_in_parrallel = config.getint("run_options", "tests_in_parrallel")
+ max_tests_in_parallel = config.getint("run_options", "tests_in_parallel")
sheet_writer = SheetWriter(config)
full_path = os.path.realpath(__file__)
tests_dir = os.path.dirname(full_path)
@@ -214,7 +243,7 @@ def run_tests(config_path):
del runners[i]
else:
i += 1
- while len(runners) < max_tests_in_parrallel and len(tests_to_run) > 0:
+ while len(runners) < max_tests_in_parallel and len(tests_to_run) > 0:
runners.append(TestRunner(general_test_cmd, tests_to_run.pop()))
time.sleep(1) # Let us wait for worker process to finish.
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698