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
17import optparse
18import os
19import sys
20
21sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__),
22                                             '..', '..', '..', '..',
23                                             'build', 'android')))
24
25from pylib import constants
26from pylib.utils import findbugs
27
28
29def 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
43if __name__ == '__main__':
44  sys.exit(main(sys.argv))
45