summaryrefslogtreecommitdiffstats
path: root/tools
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 /tools
parent1c1d40ab7fd856eac52e1a3be7ce60da3fc21fb5 (diff)
downloadart-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-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 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()