File: PRESUBMIT.py

package info (click to toggle)
chromium-browser 41.0.2272.118-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 2,189,132 kB
  • sloc: cpp: 9,691,462; ansic: 3,341,451; python: 712,689; asm: 518,779; xml: 208,926; java: 169,820; sh: 119,353; perl: 68,907; makefile: 28,311; yacc: 13,305; objc: 11,385; tcl: 3,186; cs: 2,225; sql: 2,217; lex: 2,215; lisp: 1,349; pascal: 1,256; awk: 407; ruby: 155; sed: 53; php: 14; exp: 11
file content (43 lines) | stat: -rw-r--r-- 1,391 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Presubmit script for ChromeVox."""

def CheckChangeOnUpload(input_api, output_api):
  paths = input_api.AbsoluteLocalPaths()

  def ShouldCheckFile(path):
    return path.endswith('.js') or path.endswith('.py')

  def ScriptFilter(path):
    return (path.endswith('check_chromevox.py') or
            path.endswith('jscompilerwrapper.py') or
            path.endswith('jsbundler.py'))

  # Only care about changes to JS files or the scripts that check them.
  paths = [p for p in paths if ShouldCheckFile(p)]
  if not paths:
    return []

  # If changing what the presubmit script uses, run the check on all
  # scripts.  Otherwise, let CheckChromeVox figure out what scripts to
  # compile, if any, based on the changed paths.
  if any((ScriptFilter(p) for p in paths)):
    paths = None

  import sys
  if not sys.platform.startswith('linux'):
    return []
  sys.path.insert(0, input_api.os_path.join(
      input_api.PresubmitLocalPath(), 'tools'))
  try:
    from check_chromevox import CheckChromeVox
  finally:
    sys.path.pop(0)
  success, output = CheckChromeVox(paths)
  if not success:
    return [output_api.PresubmitError(
        'ChromeVox closure compilation failed',
        long_text=output)]
  return []