tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PRESUBMIT.py (1711B)


      1 # Copyright 2019 The Chromium Authors
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import re
      6 """Presubmit for build/util"""
      7 
      8 
      9 
     10 
     11 def _GetFilesToSkip(input_api):
     12  files_to_skip = []
     13  affected_files = input_api.change.AffectedFiles()
     14  version_script_change = next(
     15      (f for f in affected_files
     16       if re.search('\\/version\\.py$|\\/version_test\\.py$', f.LocalPath())),
     17      None)
     18 
     19  if version_script_change is None:
     20    files_to_skip.append('version_test\\.py$')
     21 
     22  android_chrome_version_script_change = next(
     23      (f for f in affected_files if re.search(
     24          '\\/android_chrome_version\\.py$|'
     25          '\\/android_chrome_version_test\\.py$', f.LocalPath())), None)
     26 
     27  if android_chrome_version_script_change is None:
     28    files_to_skip.append('android_chrome_version_test\\.py$')
     29 
     30  return files_to_skip
     31 
     32 
     33 def _GetPythonUnitTests(input_api, output_api):
     34  # No need to test if files are unchanged
     35  files_to_skip = _GetFilesToSkip(input_api)
     36 
     37  return input_api.canned_checks.GetUnitTestsRecursively(
     38      input_api,
     39      output_api,
     40      input_api.PresubmitLocalPath(),
     41      files_to_check=['.*_test\\.py$'],
     42      files_to_skip=files_to_skip)
     43 
     44 
     45 def CommonChecks(input_api, output_api):
     46  """Presubmit checks run on both upload and commit.
     47  """
     48  checks = []
     49  checks.extend(_GetPythonUnitTests(input_api, output_api))
     50  return input_api.RunTests(checks, False)
     51 
     52 
     53 def CheckChangeOnUpload(input_api, output_api):
     54  """Presubmit checks on CL upload."""
     55  return CommonChecks(input_api, output_api)
     56 
     57 
     58 def CheckChangeOnCommit(input_api, output_api):
     59  """Presubmit checks on commit."""
     60  return CommonChecks(input_api, output_api)