Add ability to CQ dry run patchsets during "git cl upload".

The corresponding Rietveld change is here: https://codereview.chromium.org/1054683003/

BUG=chromium:472690

Review URL: https://codereview.chromium.org/1053653004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294699 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl.py b/git_cl.py
index 6470575..4eee3f1 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1942,6 +1942,9 @@
   if project:
     upload_args.extend(['--project', project])
 
+  if options.cq_dry_run:
+    upload_args.extend(['--cq_dry_run'])
+
   try:
     upload_args = ['upload'] + upload_args + args
     logging.info('upload.RealMain(%s)', upload_args)
@@ -2022,6 +2025,9 @@
                     help='email address to use to connect to Rietveld')
   parser.add_option('--tbr-owners', dest='tbr_owners', action='store_true',
                     help='add a set of OWNERS to TBR')
+  parser.add_option('--cq-dry-run', dest='cq_dry_run', action='store_true',
+                    help='Send the patchset to do a CQ dry run right after '
+                         'upload.')
 
   add_git_similarity(parser)
   (options, args) = parser.parse_args(args)
diff --git a/third_party/upload.py b/third_party/upload.py
index 1940fd3..0aae84c 100755
--- a/third_party/upload.py
+++ b/third_party/upload.py
@@ -654,6 +654,9 @@
                  default=None,
                  help="The target ref that is transitively tracked by the "
                  "local branch this patch comes from.")
+parser.add_option("--cq_dry_run", action="store_true",
+                  help="Send the patchset to do a CQ dry run right after "
+                       "upload.")
 group.add_option("--download_base", action="store_true",
                  dest="download_base", default=False,
                  help="Base files will be downloaded by the server "
@@ -2611,6 +2614,9 @@
     form_fields.append(("project", options.project))
   if options.target_ref:
     form_fields.append(("target_ref", options.target_ref))
+  if options.cq_dry_run:
+    form_fields.append(("cq_dry_run", "1"))
+    form_fields.append(("commit", "1"))
 
   # Process --message, --title and --file.
   message = options.message or ""