summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-01-15 00:40:56 +0000
committerDavid Brazdil <dbrazdil@google.com>2015-01-15 00:40:56 +0000
commit7cca5df2e8565f0a09d695719879edcd7d6bb827 (patch)
treea8fd939aa23eba001c73f614f13e296836752bfa
parent1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5 (diff)
downloadart-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-xtools/checker.py24
-rwxr-xr-xtools/checker_test.py2
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()