code: def main(argv=None, directory=None):
      
      logging.basicConfig(format='%(message)s')
  
      argv = argv or sys.argv
      arg_dict = parse_coverage_args(argv[1:])
      GitPathTool.set_cwd(directory)
      fail_under = arg_dict.get('fail_under')
      percent_covered = generate_coverage_report(
          arg_dict['coverage_xml'],
          arg_dict['compare_branch'],
          html_report=arg_dict['html_report'],
          css_file=arg_dict['external_css_file'],
          ignore_staged=arg_dict['ignore_staged'],
          ignore_unstaged=arg_dict['ignore_unstaged'],
          exclude=arg_dict['exclude'],
          src_roots=arg_dict['src_roots'],
      )
  
      if percent_covered >= fail_under:
          return 0
      else:
          LOGGER.error("Failure. Coverage is below {}%.".format(fail_under))
          return 1
docs: Main entry point for the tool, used by setup.py
         Returns a value that can be passed into exit() specifying
         the exit code.
         1 is an error
         0 is successful run