Home | History | Annotate | Download | only in test
      1 #!/usr/bin/env python
      2 #
      3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 
      7 # This is used to test the findbugs plugin, it calls
      8 # build/android/pylib/utils/findbugs.py to analyze the classes in
      9 # org.chromium.tools.findbugs.plugin package, and expects to get the same
     10 # issue with those in expected_result.txt.
     11 #
     12 # Useful command line:
     13 # --rebaseline to generate the expected_result.txt, please make sure don't
     14 # remove the expected result of exsting tests.
     15 
     16 
     17 import optparse
     18 import os
     19 import sys
     20 
     21 sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__),
     22                                              '..', '..', '..', '..',
     23                                              'build', 'android')))
     24 
     25 from pylib import constants
     26 from pylib.utils import findbugs
     27 
     28 
     29 def main(argv):
     30   parser = findbugs.GetCommonParser()
     31 
     32   options, _ = parser.parse_args()
     33 
     34   if not options.known_bugs:
     35     options.known_bugs = os.path.join(constants.DIR_SOURCE_ROOT, 'tools',
     36                                       'android', 'findbugs_plugin', 'test',
     37                                       'expected_result.txt')
     38   if not options.only_analyze:
     39     options.only_analyze = 'org.chromium.tools.findbugs.plugin.*'
     40 
     41   return findbugs.Run(options)
     42 
     43 if __name__ == '__main__':
     44   sys.exit(main(sys.argv))
     45