Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion libscanbuild/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,10 @@ def reconfigure_logging(verbose_level):

root = logging.getLogger()
# tune level
level = logging.WARNING - min(logging.WARNING, (10 * verbose_level))
if verbose_level == -1:
level = logging.ERROR
else:
level = logging.WARNING - min(logging.WARNING, (10 * verbose_level))
root.setLevel(level)
# be verbose with messages
if verbose_level <= 3:
Expand Down
20 changes: 17 additions & 3 deletions libscanbuild/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,23 @@
'parse_args_for_scan_build']


def get_verbosity(args):
"""The number of -v flags, or -1 if -q was used."""
verbosity = args.verbose
if verbosity == 0 and args.quiet:
# -q should only be considered if -v was not used
verbosity = -1
return verbosity


def parse_args_for_intercept_build():
# type: () -> argparse.Namespace
""" Parse and validate command-line arguments for intercept-build. """

parser = create_intercept_parser()
args = parser.parse_args()

reconfigure_logging(args.verbose)
reconfigure_logging(get_verbosity(args))
logging.debug('Raw arguments %s', sys.argv)

# short validation logic
Expand All @@ -54,7 +63,7 @@ def parse_args_for_analyze_build():
parser = create_analyze_parser(from_build_command)
args = parser.parse_args()

reconfigure_logging(args.verbose)
reconfigure_logging(get_verbosity(args))
logging.debug('Raw arguments %s', sys.argv)

normalize_args_for_analyze(args, from_build_command)
Expand All @@ -71,7 +80,7 @@ def parse_args_for_scan_build():
parser = create_analyze_parser(from_build_command)
args = parser.parse_args()

reconfigure_logging(args.verbose)
reconfigure_logging(get_verbosity(args))
logging.debug('Raw arguments %s', sys.argv)

normalize_args_for_analyze(args, from_build_command)
Expand Down Expand Up @@ -368,6 +377,11 @@ def create_default_parser():
default=0,
help="""Enable verbose output from '%(prog)s'. A second, third and
fourth flags increases verbosity.""")
parser.add_argument(
'--quiet',
'-q',
action='store_true',
help="Be less verbose (only show error output).")
return parser


Expand Down