Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import argparse | 5 import argparse |
| 6 import json | 6 import json |
| 7 import os | 7 import os |
| 8 import shlex | 8 import shlex |
| 9 import sys | 9 import sys |
| 10 import time | 10 import time |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 70 | 70 |
| 71 def __enter__(self): | 71 def __enter__(self): |
| 72 return self | 72 return self |
| 73 | 73 |
| 74 def __exit__(self, exc_type, exc_value, tb): | 74 def __exit__(self, exc_type, exc_value, tb): |
| 75 if self._driver: | 75 if self._driver: |
| 76 self._StopDriver() | 76 self._StopDriver() |
| 77 | 77 |
| 78 def _OverrideChromeArgs(self): | 78 def _OverrideChromeArgs(self): |
| 79 """ | 79 """ |
| 80 Overrides any given flags in the code with those given on the command line. | 80 Overrides any given arguments in the code with those given on the command |
|
RyanSturm
2016/11/30 20:46:36
I'm a little confused about how this is used. Can
Robert Ogden
2016/12/01 01:23:04
CL description improved, but yes you were correct.
RyanSturm
2016/12/01 01:32:11
SGTM.
| |
| 81 line. Arguments that need to be overridden may contain different values for | |
| 82 a flag given in the code. In that case, check by the flag whether to | |
| 83 override the argument. | |
| 81 """ | 84 """ |
| 85 def GetDictKey(argument): | |
| 86 return argument.split('=', 1)[0] | |
| 82 if self._flags.browser_args and len(self._flags.browser_args) > 0: | 87 if self._flags.browser_args and len(self._flags.browser_args) > 0: |
| 83 for arg in shlex.split(self._flags.browser_args): | 88 # Build a dict of flags mapped to the whole argument. |
| 84 self._chrome_args.add(arg) | 89 originalArgs = {} |
|
RyanSturm
2016/11/30 20:46:36
s/originalArgs/original_args/
AFAIK naming for py
Robert Ogden
2016/12/01 01:23:04
Done.
| |
| 90 for arg in self._chrome_args: | |
| 91 originalArgs[GetDictKey(arg)] = arg | |
| 92 # Override by flag. | |
| 93 for overrideArg in shlex.split(self._flags.browser_args): | |
|
RyanSturm
2016/11/30 20:46:36
s/overrideArg/override_arg/
Robert Ogden
2016/12/01 01:23:04
Done.
| |
| 94 argKey = GetDictKey(overrideArg) | |
|
RyanSturm
2016/11/30 20:46:36
s/argKey/arg_key/
Robert Ogden
2016/12/01 01:23:04
Done.
| |
| 95 if argKey in originalArgs: | |
| 96 self._chrome_args.remove(originalArgs[argKey]) | |
| 97 self._chrome_args.add(overrideArg) | |
| 85 | 98 |
| 86 def _StartDriver(self): | 99 def _StartDriver(self): |
| 87 """ | 100 """ |
| 88 Parses the flags to pass to Chromium, then starts the ChromeDriver. | 101 Parses the flags to pass to Chromium, then starts the ChromeDriver. |
| 89 """ | 102 """ |
| 90 options = Options() | 103 options = Options() |
| 91 for arg in self._chrome_args: | 104 for arg in self._chrome_args: |
| 92 options.add_argument(arg) | 105 options.add_argument(arg) |
| 93 capabilities = {'loggingPrefs': {'performance': 'INFO'}} | 106 capabilities = {'loggingPrefs': {'performance': 'INFO'}} |
| 94 if self._flags.chrome_exec: | 107 if self._flags.chrome_exec: |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 204 def Fail(self, msg): | 217 def Fail(self, msg): |
| 205 sys.stderr.write("**************************************\n") | 218 sys.stderr.write("**************************************\n") |
| 206 sys.stderr.write("**************************************\n") | 219 sys.stderr.write("**************************************\n") |
| 207 sys.stderr.write("** **\n") | 220 sys.stderr.write("** **\n") |
| 208 sys.stderr.write("** TEST FAILURE **\n") | 221 sys.stderr.write("** TEST FAILURE **\n") |
| 209 sys.stderr.write("** **\n") | 222 sys.stderr.write("** **\n") |
| 210 sys.stderr.write("**************************************\n") | 223 sys.stderr.write("**************************************\n") |
| 211 sys.stderr.write("**************************************\n") | 224 sys.stderr.write("**************************************\n") |
| 212 sys.stderr.write(msg, '\n') | 225 sys.stderr.write(msg, '\n') |
| 213 sys.exit(1) | 226 sys.exit(1) |
| OLD | NEW |