diff options
author | David Brazdil <dbrazdil@google.com> | 2015-01-15 00:40:56 +0000 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-01-15 00:40:56 +0000 |
commit | 7cca5df2e8565f0a09d695719879edcd7d6bb827 (patch) | |
tree | a8fd939aa23eba001c73f614f13e296836752bfa | |
parent | 1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5 (diff) | |
download | art-7cca5df2e8565f0a09d695719879edcd7d6bb827.tar.gz art-7cca5df2e8565f0a09d695719879edcd7d6bb827.tar.bz2 art-7cca5df2e8565f0a09d695719879edcd7d6bb827.zip |
ART: Logging levels for Checker
Small patch which enables Checker to print errors but not info
messages as opposed to the current all or nothing. This is useful for
running Checker with run-test.
Change-Id: I500ded0db4f83ed9bbdef9c1f7b1eb18a90d7f0e
-rwxr-xr-x | tools/checker.py | 24 | ||||
-rwxr-xr-x | tools/checker_test.py | 2 |
2 files changed, 17 insertions, 9 deletions
diff --git a/tools/checker.py b/tools/checker.py index a7cde62fe8..bca0707ebd 100755 --- a/tools/checker.py +++ b/tools/checker.py @@ -80,7 +80,9 @@ import tempfile from subprocess import check_call class Logger(object): - SilentMode = False + + class Level(object): + NoOutput, Error, Info = range(3) class Color(object): Default, Blue, Gray, Purple, Red = range(5) @@ -100,13 +102,15 @@ class Logger(object): else: return '\033[0m' + Verbosity = Level.Info + @staticmethod - def log(text, color=Color.Default, newLine=True, out=sys.stdout): - if not Logger.SilentMode: + def log(text, level=Level.Info, color=Color.Default, newLine=True, out=sys.stdout): + if level <= Logger.Verbosity: text = Logger.Color.terminalCode(color, out) + text + \ Logger.Color.terminalCode(Logger.Color.Default, out) if newLine: - print(text, file=out) + print(text, flush=True, file=out) else: print(text, end="", flush=True, file=out) @@ -120,9 +124,9 @@ class Logger(object): if location: location += " " - Logger.log(location, color=Logger.Color.Gray, newLine=False, out=sys.stderr) - Logger.log("error: ", color=Logger.Color.Red, newLine=False, out=sys.stderr) - Logger.log(msg, out=sys.stderr) + Logger.log(location, Logger.Level.Error, color=Logger.Color.Gray, newLine=False, out=sys.stderr) + Logger.log("error: ", Logger.Level.Error, color=Logger.Color.Red, newLine=False, out=sys.stderr) + Logger.log(msg, Logger.Level.Error, out=sys.stderr) sys.exit(1) @staticmethod @@ -692,6 +696,8 @@ def ParseArguments(): help="print a list of all groups found in the test output") parser.add_argument("--dump-group", dest="dump_group", metavar="GROUP", help="print the contents of an output group") + parser.add_argument("-q", "--quiet", action="store_true", + help="print only errors") return parser.parse_args() @@ -762,8 +768,10 @@ def RunChecks(checkPrefix, checkFilename, outputFilename): if __name__ == "__main__": args = ParseArguments() - tempFolder = tempfile.mkdtemp() + if args.quiet: + Logger.Verbosity = Logger.Level.Error + tempFolder = tempfile.mkdtemp() try: outputFile = CompileTest(args.test_file, tempFolder) if args.list_groups: diff --git a/tools/checker_test.py b/tools/checker_test.py index 3c659c24c0..1466b935c1 100755 --- a/tools/checker_test.py +++ b/tools/checker_test.py @@ -457,5 +457,5 @@ class TestCheckFile_Parse(unittest.TestCase): ("def", CheckVariant.DAG) ])) ]) if __name__ == '__main__': - checker.Logger.SilentMode = True + checker.Logger.Verbosity = checker.Logger.Level.NoOutput unittest.main() |