1# Copyright 2017 The Abseil Authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15"""Tests for converter.py.""" 16 17import logging 18 19from absl import logging as absl_logging 20from absl.logging import converter 21from absl.testing import absltest 22 23 24class ConverterTest(absltest.TestCase): 25 """Tests the converter module.""" 26 27 def test_absl_to_cpp(self): 28 self.assertEqual(0, converter.absl_to_cpp(absl_logging.DEBUG)) 29 self.assertEqual(0, converter.absl_to_cpp(absl_logging.INFO)) 30 self.assertEqual(1, converter.absl_to_cpp(absl_logging.WARN)) 31 self.assertEqual(2, converter.absl_to_cpp(absl_logging.ERROR)) 32 self.assertEqual(3, converter.absl_to_cpp(absl_logging.FATAL)) 33 34 with self.assertRaises(TypeError): 35 converter.absl_to_cpp('') 36 37 def test_absl_to_standard(self): 38 self.assertEqual( 39 logging.DEBUG, converter.absl_to_standard(absl_logging.DEBUG)) 40 self.assertEqual( 41 logging.INFO, converter.absl_to_standard(absl_logging.INFO)) 42 self.assertEqual( 43 logging.WARNING, converter.absl_to_standard(absl_logging.WARN)) 44 self.assertEqual( 45 logging.WARN, converter.absl_to_standard(absl_logging.WARN)) 46 self.assertEqual( 47 logging.ERROR, converter.absl_to_standard(absl_logging.ERROR)) 48 self.assertEqual( 49 logging.FATAL, converter.absl_to_standard(absl_logging.FATAL)) 50 self.assertEqual( 51 logging.CRITICAL, converter.absl_to_standard(absl_logging.FATAL)) 52 # vlog levels. 53 self.assertEqual(9, converter.absl_to_standard(2)) 54 self.assertEqual(8, converter.absl_to_standard(3)) 55 56 with self.assertRaises(TypeError): 57 converter.absl_to_standard('') 58 59 def test_standard_to_absl(self): 60 self.assertEqual( 61 absl_logging.DEBUG, converter.standard_to_absl(logging.DEBUG)) 62 self.assertEqual( 63 absl_logging.INFO, converter.standard_to_absl(logging.INFO)) 64 self.assertEqual( 65 absl_logging.WARN, converter.standard_to_absl(logging.WARN)) 66 self.assertEqual( 67 absl_logging.WARN, converter.standard_to_absl(logging.WARNING)) 68 self.assertEqual( 69 absl_logging.ERROR, converter.standard_to_absl(logging.ERROR)) 70 self.assertEqual( 71 absl_logging.FATAL, converter.standard_to_absl(logging.FATAL)) 72 self.assertEqual( 73 absl_logging.FATAL, converter.standard_to_absl(logging.CRITICAL)) 74 # vlog levels. 75 self.assertEqual(2, converter.standard_to_absl(logging.DEBUG - 1)) 76 self.assertEqual(3, converter.standard_to_absl(logging.DEBUG - 2)) 77 78 with self.assertRaises(TypeError): 79 converter.standard_to_absl('') 80 81 def test_standard_to_cpp(self): 82 self.assertEqual(0, converter.standard_to_cpp(logging.DEBUG)) 83 self.assertEqual(0, converter.standard_to_cpp(logging.INFO)) 84 self.assertEqual(1, converter.standard_to_cpp(logging.WARN)) 85 self.assertEqual(1, converter.standard_to_cpp(logging.WARNING)) 86 self.assertEqual(2, converter.standard_to_cpp(logging.ERROR)) 87 self.assertEqual(3, converter.standard_to_cpp(logging.FATAL)) 88 self.assertEqual(3, converter.standard_to_cpp(logging.CRITICAL)) 89 90 with self.assertRaises(TypeError): 91 converter.standard_to_cpp('') 92 93 def test_get_initial_for_level(self): 94 self.assertEqual('F', converter.get_initial_for_level(logging.CRITICAL)) 95 self.assertEqual('E', converter.get_initial_for_level(logging.ERROR)) 96 self.assertEqual('W', converter.get_initial_for_level(logging.WARNING)) 97 self.assertEqual('I', converter.get_initial_for_level(logging.INFO)) 98 self.assertEqual('I', converter.get_initial_for_level(logging.DEBUG)) 99 self.assertEqual('I', converter.get_initial_for_level(logging.NOTSET)) 100 101 self.assertEqual('F', converter.get_initial_for_level(51)) 102 self.assertEqual('E', converter.get_initial_for_level(49)) 103 self.assertEqual('E', converter.get_initial_for_level(41)) 104 self.assertEqual('W', converter.get_initial_for_level(39)) 105 self.assertEqual('W', converter.get_initial_for_level(31)) 106 self.assertEqual('I', converter.get_initial_for_level(29)) 107 self.assertEqual('I', converter.get_initial_for_level(21)) 108 self.assertEqual('I', converter.get_initial_for_level(19)) 109 self.assertEqual('I', converter.get_initial_for_level(11)) 110 self.assertEqual('I', converter.get_initial_for_level(9)) 111 self.assertEqual('I', converter.get_initial_for_level(1)) 112 self.assertEqual('I', converter.get_initial_for_level(-1)) 113 114 def test_string_to_standard(self): 115 self.assertEqual(logging.DEBUG, converter.string_to_standard('debug')) 116 self.assertEqual(logging.INFO, converter.string_to_standard('info')) 117 self.assertEqual(logging.WARNING, converter.string_to_standard('warn')) 118 self.assertEqual(logging.WARNING, converter.string_to_standard('warning')) 119 self.assertEqual(logging.ERROR, converter.string_to_standard('error')) 120 self.assertEqual(logging.CRITICAL, converter.string_to_standard('fatal')) 121 122 self.assertEqual(logging.DEBUG, converter.string_to_standard('DEBUG')) 123 self.assertEqual(logging.INFO, converter.string_to_standard('INFO')) 124 self.assertEqual(logging.WARNING, converter.string_to_standard('WARN')) 125 self.assertEqual(logging.WARNING, converter.string_to_standard('WARNING')) 126 self.assertEqual(logging.ERROR, converter.string_to_standard('ERROR')) 127 self.assertEqual(logging.CRITICAL, converter.string_to_standard('FATAL')) 128 129 130if __name__ == '__main__': 131 absltest.main() 132