OLD | NEW |
1 # Copyright (C) 2011 Apple Inc. All rights reserved. | 1 # Copyright (C) 2011 Apple Inc. All rights reserved. |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions | 4 # modification, are permitted provided that the following conditions |
5 # are met: | 5 # are met: |
6 # 1. Redistributions of source code must retain the above copyright | 6 # 1. Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # 2. Redistributions in binary form must reproduce the above copyright | 8 # 2. Redistributions in binary form must reproduce the above copyright |
9 # notice, this list of conditions and the following disclaimer in the | 9 # notice, this list of conditions and the following disclaimer in the |
10 # documentation and/or other materials provided with the distribution. | 10 # documentation and/or other materials provided with the distribution. |
(...skipping 12 matching lines...) Expand all Loading... |
23 import logging | 23 import logging |
24 import unittest | 24 import unittest |
25 | 25 |
26 from webkitpy.common.system.outputcapture import OutputCapture | 26 from webkitpy.common.system.outputcapture import OutputCapture |
27 | 27 |
28 | 28 |
29 _log = logging.getLogger(__name__) | 29 _log = logging.getLogger(__name__) |
30 | 30 |
31 | 31 |
32 class OutputCaptureTest(unittest.TestCase): | 32 class OutputCaptureTest(unittest.TestCase): |
| 33 |
33 def setUp(self): | 34 def setUp(self): |
34 self.output = OutputCapture() | 35 self.output = OutputCapture() |
35 | 36 |
36 def log_all_levels(self): | 37 def log_all_levels(self): |
37 _log.info('INFO') | 38 _log.info('INFO') |
38 _log.warning('WARN') | 39 _log.warning('WARN') |
39 _log.error('ERROR') | 40 _log.error('ERROR') |
40 _log.critical('CRITICAL') | 41 _log.critical('CRITICAL') |
41 | 42 |
42 def assertLogged(self, expected_logs): | 43 def assertLogged(self, expected_logs): |
43 actual_stdout, actual_stderr, actual_logs = self.output.restore_output() | 44 actual_stdout, actual_stderr, actual_logs = self.output.restore_output() |
44 self.assertEqual('', actual_stdout) | 45 self.assertEqual('', actual_stdout) |
45 self.assertEqual('', actual_stderr) | 46 self.assertEqual('', actual_stderr) |
46 self.assertMultiLineEqual(expected_logs, actual_logs) | 47 self.assertMultiLineEqual(expected_logs, actual_logs) |
47 | 48 |
48 def test_initial_log_level(self): | 49 def test_initial_log_level(self): |
49 self.output.capture_output() | 50 self.output.capture_output() |
50 self.log_all_levels() | 51 self.log_all_levels() |
51 self.assertLogged('INFO\nWARN\nERROR\nCRITICAL\n') | 52 self.assertLogged('INFO\nWARN\nERROR\nCRITICAL\n') |
52 | 53 |
53 def test_set_log_level(self): | 54 def test_set_log_level(self): |
54 self.output.set_log_level(logging.ERROR) | 55 self.output.set_log_level(logging.ERROR) |
55 self.output.capture_output() | 56 self.output.capture_output() |
56 self.log_all_levels() | 57 self.log_all_levels() |
57 self.output.set_log_level(logging.WARN) | 58 self.output.set_log_level(logging.WARN) |
58 self.log_all_levels() | 59 self.log_all_levels() |
59 self.assertLogged('ERROR\nCRITICAL\nWARN\nERROR\nCRITICAL\n') | 60 self.assertLogged('ERROR\nCRITICAL\nWARN\nERROR\nCRITICAL\n') |
OLD | NEW |