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