Ejemplo n.º 1
0
 def __init__(self, argv):
     self.argv = argv
     self.parser = tcr.getParser()
     group = self.parser.add_option_group(CodeUploader._OPTION_GROUP_NAME)
     group.add_option("--no-cpplint",
                      action="store_true",
                      default=False,
                      dest="no_cpplint",
                      help="Do not run cpplint before upload.")
     group.add_option("--cppcheck",
                      action="store_true",
                      default=False,
                      dest="cppcheck",
                      help="Run cppcheck before upload.")
     group.add_option(
         "--check-missing-tests",
         action="store_true",
         default=False,
         dest="check_missing_tests",
         help="Check missing tests for added modules before upload.")
     self.parser.parse_args(argv[1:])
     self.options, self.args = tcr.setInitparser(self.parser).parse_args(
         argv[1:])
     self.current_source_dir = find_blade_root_dir()
     self.cpplint_err_msgs = []
     self.issue_dict = common.load_issue_info(self.current_source_dir)
Ejemplo n.º 2
0
 def filter_out_exceptions(self, files):
     result = []
     blade_root_dir = common.find_blade_root_dir()
     for f in files:
         ff = os.path.normpath(os.path.join(os.environ['PWD'], f))
         for e in _EXCEPTION_DIRS:
             epath = os.path.normpath(os.path.join(blade_root_dir, e))
             if not ff.startswith(epath):
                 result.append(f)
     return result
Ejemplo n.º 3
0
    def init_regex(self):
        forbidden_fun_file = "%s/makeinclude/funcs.txt" % common.find_blade_root_dir(
        )
        try:
            file_obj = open(forbidden_fun_file, "r")
        except IOError:
            _error_exit("Please checkout %s first." % forbidden_fun_file)

        match_str = []
        for line in file_obj:
            match_str.append(r"\b%s\b" % line[:-1])
        self.forbidden_fun_regexes = [re.compile(p) for p in match_str]
Ejemplo n.º 4
0
def __main__():
    diff_files = common.get_diff_files(sys.argv[1:])
    cc_files = common.filter_cc_files(diff_files)
    if cc_files:
        blade_root_dir = common.find_blade_root_dir()
        old_err_msgs, new_err_msgs = cpplint_diff(blade_root_dir, cc_files)
        if old_err_msgs:
            common.warning("%s" % "\n".join(old_err_msgs))
        if new_err_msgs:
            common.error("%s" % ("\n".join(new_err_msgs)))
            sys.exit(1)
    sys.exit(0)
Ejemplo n.º 5
0
def cppcheck(args):
    cppcheck_bin = os.path.join(os.path.dirname(__file__), 'cppcheck')
    options = [
        '--enable=warning,style,performance,portability,information,missingInclude',
        '--template="{file}:{line}: {severity}: {id}: {message}"',
        '--inline-suppr', '--suppress=class_X_Y', '--suppress=toomanyconfigs',
        '--suppress=unusedPrivateFunction', '--suppress=unmatchedSuppression',
        '--suppress=noConstructor:*app/qzap/common/base/callback_impl.h',
        '--suppress=stlSize:*app/qzap/common/cpp/include/wup_qzap_proto_search_broker.h',
        '--suppress=*:*thirdparty/*.*', '-DGTEST_HAS_PARAM_TEST=1',
        '-DGTEST_HAS_DEATH_TEST=1', '-DGTEST_HAS_STD_WSTRING=1',
        '-DGTEST_HAS_DEATH_TEST=1', '-UGTEST_OS_WINDOWS', '-U_MSC_VER',
        '-U_WIN32', '-Umax', '-Umin', '-D__GNUC__=4', '-D__x86_64',
        '-D__i386__', '-j4',
        '-I %s' % common.find_blade_root_dir()
    ]
    cmd = "%s %s %s" % (cppcheck_bin, ' '.join(options), ' '.join(args))
    return subprocess.call(cmd, shell=True)
Ejemplo n.º 6
0
    def __init__(self, options):
        self.options = options
        self.issue = options.issue
        self.issue_info_url = "%s%s" % (DEFAULT_REVIEW_INFO_URL, options.issue)
        self.issue_url = "%s%s" % (DEFAULT_REVIEW_URL, options.issue)
        self.user = os.environ.get('USER') or os.environ.get('USERNAME')
        self.issue_info = json.load(urllib.urlopen(self.issue_info_url))

        if not self.issue_info['successfully']:
            print self.issue_info['successfully']
            error_exit("Invalid issue or server down")
        self.issue_info_detail = self.issue_info["requestsWithPagerInfo"][
            "requests"][0]

        self.local_svn_info = SvnInfo('.')
        self.remote_svn_info = SvnInfo(self.local_svn_info.get_remote_path())
        self.svn_status = svn_status('.')
        self.blade_root_dir = find_blade_root_dir()