• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: Apache-2.0
2#
3# Copyright (C) 2015, ARM Limited and contributors.
4#
5# Licensed under the Apache License, Version 2.0 (the "License"); you may
6# not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18import sys
19
20class TestColors:
21
22    level = {
23        'failed'    : '\033[0;31m', # Red
24        'good'      : '\033[0;32m', # Green
25        'warning'   : '\033[0;33m', # Yellow
26        'passed'    : '\033[0;34m', # Blue
27        'purple'    : '\033[0;35m', # Purple
28        'endc'      : '\033[0m'     # End color
29    }
30
31    @staticmethod
32    def rate(val, positive_is_good=True):
33        str_val = "{:9.2f}%".format(val)
34
35        if not sys.stdout.isatty():
36            return str_val
37
38        if not positive_is_good:
39            val = -val
40
41        if val < -10:
42            str_color = TestColors.level['failed']
43        elif val < 0:
44            str_color = TestColors.level['warning']
45        elif val < 10:
46            str_color = TestColors.level['passed']
47        else:
48            str_color = TestColors.level['good']
49
50        return str_color + str_val + TestColors.level['endc']
51
52#vim :set tabstop=4 shiftwidth=4 expandtab
53