summaryrefslogtreecommitdiff
path: root/tools/checker/common/logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/checker/common/logger.py')
-rw-r--r--tools/checker/common/logger.py58
1 files changed, 33 insertions, 25 deletions
diff --git a/tools/checker/common/logger.py b/tools/checker/common/logger.py
index aa3a92f56f..67bb67413d 100644
--- a/tools/checker/common/logger.py
+++ b/tools/checker/common/logger.py
@@ -12,42 +12,50 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from __future__ import print_function
import collections
+import enum
import sys
-class Logger(object):
- class Level(object):
- NoOutput, Error, Info = range(3)
+class Logger:
- class Color(object):
- Default, Blue, Gray, Purple, Red, Green = range(6)
+ class Level(enum.IntEnum):
+ NO_OUTPUT = 0
+ ERROR = 1
+ INFO = 2
+
+ class Color(enum.Enum):
+ DEFAULT = 0
+ BLUE = 1
+ GRAY = 2
+ PURPLE = 3
+ RED = 4
+ GREEN = 5
@staticmethod
def terminalCode(color, out=sys.stdout):
if not out.isatty():
return ''
- elif color == Logger.Color.Blue:
+ elif color == Logger.Color.BLUE:
return '\033[94m'
- elif color == Logger.Color.Gray:
+ elif color == Logger.Color.GRAY:
return '\033[37m'
- elif color == Logger.Color.Purple:
+ elif color == Logger.Color.PURPLE:
return '\033[95m'
- elif color == Logger.Color.Red:
+ elif color == Logger.Color.RED:
return '\033[91m'
- elif color == Logger.Color.Green:
+ elif color == Logger.Color.GREEN:
return '\033[32m'
else:
return '\033[0m'
- Verbosity = Level.Info
+ Verbosity = Level.INFO
@staticmethod
- def log(content, level=Level.Info, color=Color.Default, newLine=True, out=sys.stdout):
+ def log(content, level=Level.INFO, color=Color.DEFAULT, newLine=True, out=sys.stdout):
if level <= Logger.Verbosity:
content = Logger.Color.terminalCode(color, out) + str(content) + \
- Logger.Color.terminalCode(Logger.Color.Default, out)
+ Logger.Color.terminalCode(Logger.Color.DEFAULT, out)
if newLine:
print(content, file=out)
else:
@@ -56,8 +64,8 @@ class Logger(object):
@staticmethod
def fail(msg, file=None, line=-1, lineText=None, variables=None):
- Logger.log("error: ", Logger.Level.Error, color=Logger.Color.Red, newLine=False, out=sys.stderr)
- Logger.log(msg, Logger.Level.Error, 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)
if lineText:
loc = ""
@@ -67,8 +75,8 @@ class Logger(object):
loc += str(line) + ":"
if loc:
loc += " "
- Logger.log(loc, Logger.Level.Error, color=Logger.Color.Gray, newLine=False, out=sys.stderr)
- Logger.log(lineText, Logger.Level.Error, out=sys.stderr)
+ Logger.log(loc, Logger.Level.ERROR, color=Logger.Color.GRAY, newLine=False, out=sys.stderr)
+ Logger.log(lineText, Logger.Level.ERROR, out=sys.stderr)
if variables:
longestName = 0
@@ -77,23 +85,23 @@ class Logger(object):
for var in collections.OrderedDict(sorted(variables.items())):
padding = ' ' * (longestName - len(var))
- Logger.log(var, Logger.Level.Error, color=Logger.Color.Green, newLine=False, out=sys.stderr)
- Logger.log(padding, Logger.Level.Error, newLine=False, out=sys.stderr)
- Logger.log(" = ", Logger.Level.Error, newLine=False, out=sys.stderr)
- Logger.log(variables[var], Logger.Level.Error, out=sys.stderr)
+ Logger.log(var, Logger.Level.ERROR, color=Logger.Color.GREEN, newLine=False, out=sys.stderr)
+ Logger.log(padding, Logger.Level.ERROR, newLine=False, out=sys.stderr)
+ Logger.log(" = ", Logger.Level.ERROR, newLine=False, out=sys.stderr)
+ Logger.log(variables[var], Logger.Level.ERROR, out=sys.stderr)
sys.exit(1)
@staticmethod
def startTest(name):
- Logger.log("TEST ", color=Logger.Color.Purple, newLine=False)
+ Logger.log("TEST ", color=Logger.Color.PURPLE, newLine=False)
Logger.log(name + "... ", newLine=False)
@staticmethod
def testPassed():
- Logger.log("PASS", color=Logger.Color.Blue)
+ Logger.log("PASS", color=Logger.Color.BLUE)
@staticmethod
def testFailed(msg, statement, variables):
- Logger.log("FAIL", color=Logger.Color.Red)
+ Logger.log("FAIL", color=Logger.Color.RED)
Logger.fail(msg, statement.fileName, statement.lineNo, statement.originalText, variables)