Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: client/tests/logging_utils_test.py

Issue 1390773002: Add an assert to ensure UTF-8 locale when handling file paths. (Closed) Base URL: git@github.com:luci/luci-py.git@master
Patch Set: More fixes Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « client/tests/isolateserver_test.py ('k') | client/tests/run_isolated_smoke_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Swarming Authors. All rights reserved. 2 # Copyright 2015 The Swarming Authors. All rights reserved.
3 # Use of this source code is governed under the Apache License, Version 2.0 that 3 # Use of this source code is governed under the Apache License, Version 2.0 that
4 # can be found in the LICENSE file. 4 # can be found in the LICENSE file.
5 5
6 import logging 6 import logging
7 import os 7 import os
8 import subprocess 8 import subprocess
9 import sys 9 import sys
10 import tempfile 10 import tempfile
11 import shutil
12 import unittest 11 import unittest
13 import re 12 import re
14 13
15 THIS_FILE = os.path.abspath(__file__) 14 THIS_FILE = os.path.abspath(__file__)
16 sys.path.insert(0, os.path.dirname(os.path.dirname(THIS_FILE))) 15 sys.path.insert(0, os.path.dirname(os.path.dirname(THIS_FILE)))
17 16
17 from third_party.depot_tools import fix_encoding
18 from utils import file_path
18 from utils import logging_utils 19 from utils import logging_utils
19 20
20 21
21 # PID YYYY-MM-DD HH:MM:SS.MMM 22 # PID YYYY-MM-DD HH:MM:SS.MMM
22 _LOG_HEADER = r'^%d \d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\.\d\d\d' % os.getpid() 23 _LOG_HEADER = r'^%d \d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\.\d\d\d' % os.getpid()
23 _LOG_HEADER_PID = r'^\d+ \d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\.\d\d\d' 24 _LOG_HEADER_PID = r'^\d+ \d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\.\d\d\d'
24 25
25 26
26 _PHASE = 'LOGGING_UTILS_TESTS_PHASE' 27 _PHASE = 'LOGGING_UTILS_TESTS_PHASE'
27 28
28 29
29 def call(phase, cwd): 30 def call(phase, cwd):
30 """Calls itself back.""" 31 """Calls itself back."""
31 env = os.environ.copy() 32 env = os.environ.copy()
32 env[_PHASE] = phase 33 env[_PHASE] = phase
33 return subprocess.call([sys.executable, '-u', THIS_FILE], env=env, cwd=cwd) 34 return subprocess.call([sys.executable, '-u', THIS_FILE], env=env, cwd=cwd)
34 35
35 36
36 class Test(unittest.TestCase): 37 class Test(unittest.TestCase):
37 def setUp(self): 38 def setUp(self):
38 super(Test, self).setUp() 39 super(Test, self).setUp()
39 self.tmp = tempfile.mkdtemp(prefix='logging_utils') 40 self.tmp = tempfile.mkdtemp(prefix='logging_utils')
40 41
41 def tearDown(self): 42 def tearDown(self):
42 try: 43 try:
43 shutil.rmtree(self.tmp) 44 file_path.rmtree(self.tmp)
44 finally: 45 finally:
45 super(Test, self).tearDown() 46 super(Test, self).tearDown()
46 47
47 def test_capture(self): 48 def test_capture(self):
48 root = logging.RootLogger(logging.DEBUG) 49 root = logging.RootLogger(logging.DEBUG)
49 with logging_utils.CaptureLogs('foo', root) as log: 50 with logging_utils.CaptureLogs('foo', root) as log:
50 root.debug('foo') 51 root.debug('foo')
51 result = log.read() 52 result = log.read()
52 expected = _LOG_HEADER + ': DEBUG foo\n$' 53 expected = _LOG_HEADER + ': DEBUG foo\n$'
53 if sys.platform == 'win32': 54 if sys.platform == 'win32':
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 def main(): 108 def main():
108 phase = os.environ.get(_PHASE) 109 phase = os.environ.get(_PHASE)
109 if phase: 110 if phase:
110 return getattr(sys.modules[__name__], phase)() 111 return getattr(sys.modules[__name__], phase)()
111 verbose = '-v' in sys.argv 112 verbose = '-v' in sys.argv
112 logging.basicConfig(level=logging.DEBUG if verbose else logging.ERROR) 113 logging.basicConfig(level=logging.DEBUG if verbose else logging.ERROR)
113 unittest.main() 114 unittest.main()
114 115
115 116
116 if __name__ == '__main__': 117 if __name__ == '__main__':
118 fix_encoding.fix_encoding()
117 sys.exit(main()) 119 sys.exit(main())
OLDNEW
« no previous file with comments | « client/tests/isolateserver_test.py ('k') | client/tests/run_isolated_smoke_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698