OLD | NEW |
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 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 """Starts local Swarming and Isolate servers.""" | 6 """Starts local Swarming and Isolate servers.""" |
7 | 7 |
8 import argparse | 8 import argparse |
9 import os | 9 import os |
10 import shutil | 10 import shutil |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 self._isolate_server = local_app.LocalApplication( | 52 self._isolate_server = local_app.LocalApplication( |
53 os.path.join(APP_DIR, '..', 'isolate'), 10050, self._listen_all) | 53 os.path.join(APP_DIR, '..', 'isolate'), 10050, self._listen_all) |
54 self._isolate_server.start() | 54 self._isolate_server.start() |
55 self._swarming_server.ensure_serving() | 55 self._swarming_server.ensure_serving() |
56 self._isolate_server.ensure_serving() | 56 self._isolate_server.ensure_serving() |
57 | 57 |
58 self.http_client.login_as_admin('smoke-test@example.com') | 58 self.http_client.login_as_admin('smoke-test@example.com') |
59 self.http_client.url_opener.addheaders.append( | 59 self.http_client.url_opener.addheaders.append( |
60 ('X-XSRF-Token', self._swarming_server.client.xsrf_token)) | 60 ('X-XSRF-Token', self._swarming_server.client.xsrf_token)) |
61 | 61 |
62 def stop(self): | 62 def stop(self, leak): |
63 """Stops the local Swarming and Isolate servers. | 63 """Stops the local Swarming and Isolate servers. |
64 | 64 |
65 Returns the exit code with priority to non-zero. | 65 Returns the exit code with priority to non-zero. |
66 """ | 66 """ |
67 exit_code = None | 67 exit_code = None |
68 try: | 68 try: |
69 if self._isolate_server: | 69 if self._isolate_server: |
70 exit_code = exit_code or self._isolate_server.stop() | 70 exit_code = exit_code or self._isolate_server.stop(leak) |
71 finally: | 71 finally: |
72 if self._swarming_server: | 72 if self._swarming_server: |
73 exit_code = exit_code or self._swarming_server.stop() | 73 exit_code = exit_code or self._swarming_server.stop(leak) |
74 return exit_code | 74 return exit_code |
75 | 75 |
76 def wait(self): | 76 def wait(self): |
77 """Wait for the processes to normally exit.""" | 77 """Wait for the processes to normally exit.""" |
78 if self._isolate_server: | 78 if self._isolate_server: |
79 self._isolate_server.wait() | 79 self._isolate_server.wait() |
80 if self._swarming_server: | 80 if self._swarming_server: |
81 self._swarming_server.wait() | 81 self._swarming_server.wait() |
82 | 82 |
83 def dump_log(self): | 83 def dump_log(self): |
(...skipping 10 matching lines...) Expand all Loading... |
94 servers = LocalServers(args.all) | 94 servers = LocalServers(args.all) |
95 try: | 95 try: |
96 servers.start() | 96 servers.start() |
97 print('Swarming: %s' % servers.swarming_server.url) | 97 print('Swarming: %s' % servers.swarming_server.url) |
98 print('Isolate : %s' % servers.isolate_server.url) | 98 print('Isolate : %s' % servers.isolate_server.url) |
99 servers.wait() | 99 servers.wait() |
100 servers.dump_log() | 100 servers.dump_log() |
101 except KeyboardInterrupt: | 101 except KeyboardInterrupt: |
102 print >> sys.stderr, '<Ctrl-C> received; stopping servers' | 102 print >> sys.stderr, '<Ctrl-C> received; stopping servers' |
103 finally: | 103 finally: |
104 exit_code = servers.stop() | 104 exit_code = servers.stop(False) |
105 return exit_code | 105 return exit_code |
106 | 106 |
107 | 107 |
108 if __name__ == '__main__': | 108 if __name__ == '__main__': |
109 sys.exit(main()) | 109 sys.exit(main()) |
OLD | NEW |