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 /tools | |
parent | 1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5 (diff) | |
download | art-7cca5df2e8565f0a09d695719879edcd7d6bb827.zip art-7cca5df2e8565f0a09d695719879edcd7d6bb827.tar.gz art-7cca5df2e8565f0a09d695719879edcd7d6bb827.tar.bz2 |
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
Diffstat (limited to 'tools')
-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 a7cde62..bca0707 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 3c659c2..1466b93 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() |