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 by the Apache v2.0 license that can be | 3 # Use of this source code is governed by the Apache v2.0 license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import StringIO | 6 import StringIO |
7 import logging | 7 import logging |
8 import os | 8 import os |
9 import re | 9 import re |
10 import shutil | |
11 import subprocess | 10 import subprocess |
12 import sys | 11 import sys |
13 import tempfile | 12 import tempfile |
14 import unittest | 13 import unittest |
15 import zipfile | 14 import zipfile |
16 | 15 |
17 import test_env | 16 import test_env |
18 test_env.setup_test_env() | 17 test_env.setup_test_env() |
19 | 18 |
20 from components import auth | 19 from components import auth |
21 from test_support import test_case | 20 from test_support import test_case |
22 | 21 |
23 from server import bot_archive | 22 from server import bot_archive |
24 from server import bot_code | 23 from server import bot_code |
25 | 24 |
| 25 CLIENT_DIR = os.path.join( |
| 26 os.path.dirname(os.path.dirname(test_env.APP_DIR)), 'client') |
| 27 sys.path.insert(0, CLIENT_DIR) |
| 28 from third_party.depot_tools import fix_encoding |
| 29 from utils import file_path |
| 30 sys.path.pop(0) |
| 31 |
26 | 32 |
27 class BotManagementTest(test_case.TestCase): | 33 class BotManagementTest(test_case.TestCase): |
28 def setUp(self): | 34 def setUp(self): |
29 super(BotManagementTest, self).setUp() | 35 super(BotManagementTest, self).setUp() |
30 self.testbed.init_user_stub() | 36 self.testbed.init_user_stub() |
31 | 37 |
32 self.mock( | 38 self.mock( |
33 auth, 'get_current_identity', | 39 auth, 'get_current_identity', |
34 lambda: auth.Identity(auth.IDENTITY_USER, 'joe@localhost')) | 40 lambda: auth.Identity(auth.IDENTITY_USER, 'joe@localhost')) |
35 | 41 |
(...skipping 30 matching lines...) Expand all Loading... |
66 with open(bot_path, 'wb') as f: | 72 with open(bot_path, 'wb') as f: |
67 f.write(zipped_code) | 73 f.write(zipped_code) |
68 proc = subprocess.Popen( | 74 proc = subprocess.Popen( |
69 [sys.executable, bot_path, 'start_bot', '-h'], | 75 [sys.executable, bot_path, 'start_bot', '-h'], |
70 cwd=temp_dir, | 76 cwd=temp_dir, |
71 stdout=subprocess.PIPE, | 77 stdout=subprocess.PIPE, |
72 stderr=subprocess.STDOUT) | 78 stderr=subprocess.STDOUT) |
73 out = proc.communicate()[0] | 79 out = proc.communicate()[0] |
74 self.assertEqual(0, proc.returncode, out) | 80 self.assertEqual(0, proc.returncode, out) |
75 finally: | 81 finally: |
76 shutil.rmtree(temp_dir) | 82 file_path.rmtree(temp_dir) |
77 | 83 |
78 | 84 |
79 if __name__ == '__main__': | 85 if __name__ == '__main__': |
| 86 fix_encoding.fix_encoding() |
80 logging.basicConfig( | 87 logging.basicConfig( |
81 level=logging.DEBUG if '-v' in sys.argv else logging.ERROR) | 88 level=logging.DEBUG if '-v' in sys.argv else logging.ERROR) |
82 unittest.main() | 89 unittest.main() |
OLD | NEW |