Index: presubmit_support.py |
diff --git a/presubmit_support.py b/presubmit_support.py |
index 5d80cc5512f3408769b5b15e59ec36b50248429c..07cf7b24b088993f31f390a84bdafff4cc0acf0d 100755 |
--- a/presubmit_support.py |
+++ b/presubmit_support.py |
@@ -265,7 +265,7 @@ class InputApi(object): |
) |
def __init__(self, change, presubmit_path, is_committing, |
- rietveld_obj, verbose): |
+ rietveld_obj, verbose, dry_run=None): |
"""Builds an InputApi object. |
Args: |
@@ -279,6 +279,7 @@ class InputApi(object): |
self.change = change |
self.is_committing = is_committing |
self.rietveld = rietveld_obj |
+ self.dry_run = dry_run |
# TBD |
self.host_url = 'http://codereview.chromium.org' |
if self.rietveld: |
@@ -1347,7 +1348,8 @@ def DoPostUploadExecuter(change, |
class PresubmitExecuter(object): |
- def __init__(self, change, committing, rietveld_obj, verbose): |
+ def __init__(self, change, committing, rietveld_obj, verbose, |
+ dry_run=None): |
""" |
Args: |
change: The Change object. |
@@ -1358,6 +1360,7 @@ class PresubmitExecuter(object): |
self.committing = committing |
self.rietveld = rietveld_obj |
self.verbose = verbose |
+ self.dry_run = dry_run |
def ExecPresubmitScript(self, script_text, presubmit_path): |
"""Executes a single presubmit script. |
@@ -1377,7 +1380,8 @@ class PresubmitExecuter(object): |
# Load the presubmit script into context. |
input_api = InputApi(self.change, presubmit_path, self.committing, |
- self.rietveld, self.verbose) |
+ self.rietveld, self.verbose, |
+ dry_run=self.dry_run) |
context = {} |
try: |
exec script_text in context |
@@ -1419,7 +1423,8 @@ def DoPresubmitChecks(change, |
input_stream, |
default_presubmit, |
may_prompt, |
- rietveld_obj): |
+ rietveld_obj, |
+ dry_run=None): |
"""Runs all presubmit checks that apply to the files in the change. |
This finds all PRESUBMIT.py files in directories enclosing the files in the |
@@ -1438,6 +1443,7 @@ def DoPresubmitChecks(change, |
default_presubmit: A default presubmit script to execute in any case. |
may_prompt: Enable (y/n) questions on warning or error. |
rietveld_obj: rietveld.Rietveld object. |
+ dry_run: if true, some Checks will be skipped. |
Warning: |
If may_prompt is true, output_stream SHOULD be sys.stdout and input_stream |
@@ -1464,7 +1470,8 @@ def DoPresubmitChecks(change, |
if not presubmit_files and verbose: |
output.write("Warning, no PRESUBMIT.py found.\n") |
results = [] |
- executer = PresubmitExecuter(change, committing, rietveld_obj, verbose) |
+ executer = PresubmitExecuter(change, committing, rietveld_obj, verbose, |
+ dry_run=dry_run) |
if default_presubmit: |
if verbose: |
output.write("Running default presubmit script.\n") |
@@ -1644,8 +1651,11 @@ def main(argv=None): |
help="A list of checks to skip which appear in " |
"presubmit_canned_checks. Can be provided multiple times " |
"to skip multiple canned checks.") |
+ parser.add_option("--dry_run", action='store_true', |
+ help=optparse.SUPPRESS_HELP) |
parser.add_option("--gerrit_url", help=optparse.SUPPRESS_HELP) |
- parser.add_option("--gerrit_fetch", help=optparse.SUPPRESS_HELP) |
+ parser.add_option("--gerrit_fetch", action='store_true', |
+ help=optparse.SUPPRESS_HELP) |
parser.add_option("--rietveld_url", help=optparse.SUPPRESS_HELP) |
parser.add_option("--rietveld_email", help=optparse.SUPPRESS_HELP) |
parser.add_option("--rietveld_fetch", action='store_true', default=False, |
@@ -1730,20 +1740,21 @@ def main(argv=None): |
with canned_check_filter(options.skip_canned): |
results = DoPresubmitChecks( |
change_class(options.name, |
- options.description, |
- options.root, |
- files, |
- options.issue, |
- options.patchset, |
- options.author, |
- upstream=options.upstream), |
+ options.description, |
+ options.root, |
+ files, |
+ options.issue, |
+ options.patchset, |
+ options.author, |
+ upstream=options.upstream), |
options.commit, |
options.verbose, |
sys.stdout, |
sys.stdin, |
options.default_presubmit, |
options.may_prompt, |
- rietveld_obj) |
+ rietveld_obj, |
+ options.dry_run) |
return not results.should_continue() |
except NonexistantCannedCheckFilter, e: |
print >> sys.stderr, ( |