OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Swarming Authors. All rights reserved. | 2 # Copyright 2014 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 hashlib | 6 import hashlib |
7 import json | 7 import json |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import shutil | |
11 import sys | 10 import sys |
12 import tempfile | 11 import tempfile |
13 import unittest | 12 import unittest |
14 | 13 |
15 # net_utils adjusts sys.path. | 14 # net_utils adjusts sys.path. |
16 import net_utils | 15 import net_utils |
17 | 16 |
18 import isolated_format | 17 import isolated_format |
19 from depot_tools import auto_stub | 18 from depot_tools import auto_stub |
| 19 from depot_tools import fix_encoding |
| 20 from utils import file_path |
20 from utils import tools | 21 from utils import tools |
21 | 22 |
22 import isolateserver_mock | 23 import isolateserver_mock |
23 | 24 |
24 | 25 |
25 ALGO = hashlib.sha1 | 26 ALGO = hashlib.sha1 |
26 | 27 |
27 | 28 |
28 class TestCase(net_utils.TestCase): | 29 class TestCase(net_utils.TestCase): |
29 def test_get_hash_algo(self): | 30 def test_get_hash_algo(self): |
30 # Tests here assume ALGO is used for default namespaces, check this | 31 # Tests here assume ALGO is used for default namespaces, check this |
31 # assumption. | 32 # assumption. |
32 self.assertIs(isolated_format.get_hash_algo('default'), ALGO) | 33 self.assertIs(isolated_format.get_hash_algo('default'), ALGO) |
33 self.assertIs(isolated_format.get_hash_algo('default-gzip'), ALGO) | 34 self.assertIs(isolated_format.get_hash_algo('default-gzip'), ALGO) |
34 | 35 |
35 | 36 |
36 class SymlinkTest(unittest.TestCase): | 37 class SymlinkTest(unittest.TestCase): |
37 def setUp(self): | 38 def setUp(self): |
38 super(SymlinkTest, self).setUp() | 39 super(SymlinkTest, self).setUp() |
39 self.old_cwd = os.getcwd() | 40 self.old_cwd = os.getcwd() |
40 self.cwd = tempfile.mkdtemp(prefix=u'isolate_') | 41 self.cwd = tempfile.mkdtemp(prefix=u'isolate_') |
41 # Everything should work even from another directory. | 42 # Everything should work even from another directory. |
42 os.chdir(self.cwd) | 43 os.chdir(self.cwd) |
43 | 44 |
44 def tearDown(self): | 45 def tearDown(self): |
45 try: | 46 try: |
46 os.chdir(self.old_cwd) | 47 os.chdir(self.old_cwd) |
47 shutil.rmtree(self.cwd) | 48 file_path.rmtree(self.cwd) |
48 finally: | 49 finally: |
49 super(SymlinkTest, self).tearDown() | 50 super(SymlinkTest, self).tearDown() |
50 | 51 |
51 if sys.platform == 'darwin': | 52 if sys.platform == 'darwin': |
52 def test_expand_symlinks_path_case(self): | 53 def test_expand_symlinks_path_case(self): |
53 # Ensures that the resulting path case is fixed on case insensitive file | 54 # Ensures that the resulting path case is fixed on case insensitive file |
54 # system. | 55 # system. |
55 os.symlink('dest', os.path.join(self.cwd, 'link')) | 56 os.symlink('dest', os.path.join(self.cwd, 'link')) |
56 os.mkdir(os.path.join(self.cwd, 'Dest')) | 57 os.mkdir(os.path.join(self.cwd, 'Dest')) |
57 open(os.path.join(self.cwd, 'Dest', 'file.txt'), 'w').close() | 58 open(os.path.join(self.cwd, 'Dest', 'file.txt'), 'w').close() |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 u's': 2181582786L, | 234 u's': 2181582786L, |
234 } | 235 } |
235 }, | 236 }, |
236 } | 237 } |
237 m = isolated_format.save_isolated('foo', data) | 238 m = isolated_format.save_isolated('foo', data) |
238 self.assertEqual([], m) | 239 self.assertEqual([], m) |
239 self.assertEqual([('foo', data, True)], calls) | 240 self.assertEqual([('foo', data, True)], calls) |
240 | 241 |
241 | 242 |
242 if __name__ == '__main__': | 243 if __name__ == '__main__': |
| 244 fix_encoding.fix_encoding() |
243 if '-v' in sys.argv: | 245 if '-v' in sys.argv: |
244 unittest.TestCase.maxDiff = None | 246 unittest.TestCase.maxDiff = None |
245 logging.basicConfig( | 247 logging.basicConfig( |
246 level=(logging.DEBUG if '-v' in sys.argv else logging.ERROR)) | 248 level=(logging.DEBUG if '-v' in sys.argv else logging.ERROR)) |
247 unittest.main() | 249 unittest.main() |
OLD | NEW |