Trees | Indices | Help |
---|
|
1 # -*- Mode: Python; test-case-name: test_log -*- 2 # vi:si:et:sw=4:sts=4:ts=4 3 # 4 # Flumotion - a streaming media server 5 # Copyright (C) 2004,2005,2006,2007 Fluendo, S.L. (www.fluendo.com). 6 # All rights reserved. 7 8 # This file may be distributed and/or modified under the terms of 9 # the GNU General Public License version 2 as published by 10 # the Free Software Foundation. 11 # This file is distributed without any warranty; without even the implied 12 # warranty of merchantability or fitness for a particular purpose. 13 # See "LICENSE.GPL" in the source distribution for more information. 14 15 # Licensees having purchased or holding a valid Flumotion Advanced 16 # Streaming Server license may use this file in accordance with the 17 # Flumotion Advanced Streaming Server Commercial License Agreement. 18 # See "LICENSE.Flumotion" in the source distribution for more information. 19 20 # Headers in this file shall remain intact. 21 22 from twisted.trial import unittest 23 24 import log 25 26 __version__ = "$Rev: 7971 $" 27 2830 logCategory = 'testlog'31 32 37 3840179 18042 self.category = self.level = self.message = None 43 self.tester = LogTester() 44 # we want to remove the default handler so it doesn't show up stuff 45 log.reset()46 47 # just test for parsing semi- or non-valid FLU_DEBUG variables 48 5355 self.assertRaises(AssertionError, log.getLevelName, -1) 56 self.assertRaises(AssertionError, log.getLevelName, 6)57 6062 self.assertRaises(AssertionError, log.getFormattedLevelName, -1) 63 # FIXME: we're poking at internals here, but without calling this 64 # no format levels are set at all. 65 log._preformatLevels("ENVVAR") 66 self.failUnless("LOG" in log.getFormattedLevelName(log.LOG))6769 # test a function object 70 (filename, line) = log.getFileLine(where=self.testGetFileLine) 71 self.failUnless(filename.endswith('test_log.py')) 72 self.assertEquals(line, 68) 73 74 # test a lambda 75 f = lambda x: x + 1 76 (filename, line) = log.getFileLine(where=f) 77 self.failUnless(filename.endswith('test_log.py')) 78 self.assertEquals(line, 75) 79 80 # test an eval 81 f = eval("lambda x: x + 1") 82 (filename, line) = log.getFileLine(where=f) 83 self.assertEquals(filename, '<string>') 84 self.assertEquals(line, 1)85 86 # test for adding a log handler 87 9193 self.level = level 94 self.object = object 95 self.category = category 96 self.file = file 97 self.line = line 98 self.message = message99101 log.setDebug("testlog:3") 102 log.addLimitedLogHandler(self.handler) 103 104 # log 2 we shouldn't get 105 self.tester.log("not visible") 106 assert not self.category 107 assert not self.level 108 assert not self.message 109 110 self.tester.debug("not visible") 111 assert not self.category 112 assert not self.level 113 assert not self.message114116 log.setDebug("testlog:3") 117 log.addLimitedLogHandler(self.handler) 118 119 # log 3 we should get 120 self.tester.info("visible") 121 assert self.category == 'testlog' 122 assert self.level == log.INFO 123 assert self.message == 'visible' 124 125 self.tester.warning("also visible") 126 assert self.category == 'testlog' 127 assert self.level == log.WARN 128 assert self.message == 'also visible'129131 log.setDebug("testlog:3") 132 log.addLimitedLogHandler(self.handler) 133 134 self.tester.info("%d %s", 42, 'the answer') 135 assert self.category == 'testlog' 136 assert self.level == log.INFO 137 assert self.message == '42 the answer'138140 log.setDebug("testlog:3") 141 log.addLimitedLogHandler(self.handler) 142 143 self.assertRaises(SystemExit, self.tester.error, "error") 144 assert self.category == 'testlog' 145 assert self.level == log.ERROR 146 assert self.message == 'error'147149 log.setDebug("testlog:3") 150 log.addLimitedLogHandler(self.handler) 151 152 # now try debug and log again too 153 log.setDebug("testlog:5") 154 155 self.tester.debug("debug") 156 assert self.category == 'testlog' 157 assert self.level == log.DEBUG 158 assert self.message == 'debug' 159 160 self.tester.log("log") 161 assert self.category == 'testlog' 162 assert self.level == log.LOG 163 assert self.message == 'log'164 165 # test that we get all log messages 166168 log.setDebug("testlog:3") 169 log.addLogHandler(self.handler) 170 171 self.tester.log("visible") 172 assert self.message == 'visible' 173 174 self.tester.warning("also visible") 175 assert self.message == 'also visible'176182 186206 207 238 239188 self.level = level 189 self.object = object 190 self.category = category 191 self.file = file 192 self.line = line 193 self.message = message194 195 # test if our own log handler correctly mangles the message 196198 log.setDebug("testlog:3") 199 log.addLogHandler(self.handler) 200 201 self.tester.log("visible") 202 assert self.message == 'override visible'203241249 250243 old = log.getLogSettings() 244 log.setDebug('*:5') 245 self.assertNotEquals(old, log.getLogSettings()) 246 247 log.setLogSettings(old) 248 self.assertEquals(old, log.getLogSettings())252300 301254 self.level = level 255 self.object = object 256 self.category = category 257 self.file = file 258 self.line = line 259 self.message = message260262 loggable = log.Loggable() 263 log.setDebug("4") 264 log.addLogHandler(self.handler) 265 marker = 'test' 266 loggable.writeMarker(marker, log.DEBUG) 267 self.assertEquals(self.message, marker)268270 loggable = log.Loggable() 271 log.setDebug("2") 272 log.addLogHandler(self.handler) 273 marker = 'test' 274 loggable.writeMarker(marker, log.WARN) 275 self.assertEquals(self.message, marker)276278 loggable = log.Loggable() 279 log.setDebug("3") 280 log.addLogHandler(self.handler) 281 marker = 'test' 282 loggable.writeMarker(marker, log.INFO) 283 self.assertEquals(self.message, marker)284286 loggable = log.Loggable() 287 log.setDebug("5") 288 log.addLogHandler(self.handler) 289 marker = 'test' 290 loggable.writeMarker(marker, log.LOG) 291 self.assertEquals(self.message, marker)292303 307321 322 if __name__ == '__main__': 323 unittest.main() 324309 self.assertEquals(1, log.getLevelInt('ERROR')) 310 self.assertEquals(2, log.getLevelInt('WARN')) 311 self.assertEquals(3, log.getLevelInt('INFO')) 312 self.assertEquals(4, log.getLevelInt('DEBUG')) 313 self.assertEquals(5, log.getLevelInt('LOG'))314316 self.assertEquals('ERROR', log.getLevelName(1)) 317 self.assertEquals('WARN', log.getLevelName(2)) 318 self.assertEquals('INFO', log.getLevelName(3)) 319 self.assertEquals('DEBUG', log.getLevelName(4)) 320 self.assertEquals('LOG', log.getLevelName(5))
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Wed Aug 11 21:33:26 2010 | http://epydoc.sourceforge.net |