Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Setups a local Rietveld instance to test against a live server for | 5 """Setups a local Rietveld instance to test against a live server for |
| 6 integration tests. | 6 integration tests. |
| 7 | 7 |
| 8 It makes sure Google AppEngine SDK is found, download Rietveld and Django code | 8 It makes sure Google AppEngine SDK is found, download Rietveld and Django code |
| 9 if necessary and starts the server on a free inbound TCP port. | 9 if necessary and starts the server on a free inbound TCP port. |
| 10 """ | 10 """ |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 95 def start_server(self, verbose=False): | 95 def start_server(self, verbose=False): |
| 96 self.install_prerequisites() | 96 self.install_prerequisites() |
| 97 self.port = find_free_port() | 97 self.port = find_free_port() |
| 98 if verbose: | 98 if verbose: |
| 99 stdout = None | 99 stdout = None |
| 100 stderr = None | 100 stderr = None |
| 101 else: | 101 else: |
| 102 stdout = subprocess.PIPE | 102 stdout = subprocess.PIPE |
| 103 stderr = subprocess.PIPE | 103 stderr = subprocess.PIPE |
| 104 output = [] | 104 output = [] |
| 105 cmd = [ | |
| 106 self.dev_app, | |
| 107 '--skip_sdk_update_check', | |
| 108 '.', | |
|
Evan Martin
2011/03/08 21:31:51
What is this arg?
M-A Ruel
2011/03/08 22:36:28
Bernhard is right, it's the current directory.
| |
| 109 '--port=%d' % self.port, | |
| 110 '--datastore_path=' + os.path.join(self.rietveld, 'tmp.db'), | |
| 111 '-c'] | |
| 105 self.test_server = subprocess.Popen( | 112 self.test_server = subprocess.Popen( |
| 106 [self.dev_app, self.rietveld, '--port=%d' % self.port, | 113 cmd, stdout=stdout, stderr=stderr, env=self.env, |
| 107 '--datastore_path=' + os.path.join(self.rietveld, 'tmp.db'), '-c'], | 114 cwd=self.rietveld) |
| 108 stdout=stdout, stderr=stderr, env=self.env) | |
| 109 # Loop until port 127.0.0.1:port opens or the process dies. | 115 # Loop until port 127.0.0.1:port opens or the process dies. |
| 110 while not test_port(self.port): | 116 while not test_port(self.port): |
| 111 self.test_server.poll() | 117 self.test_server.poll() |
| 112 if self.test_server.returncode is not None: | 118 if self.test_server.returncode is not None: |
| 113 raise Failure( | 119 raise Failure( |
| 114 'Test rietveld instance failed early on port %s' % | 120 'Test rietveld instance failed early on port %s' % |
| 115 self.port) | 121 self.port) |
| 116 time.sleep(0.001) | 122 time.sleep(0.001) |
| 117 | 123 |
| 118 def stop_server(self): | 124 def stop_server(self): |
| 119 if self.test_server: | 125 if self.test_server: |
| 120 self.test_server.kill() | 126 self.test_server.kill() |
| 121 self.test_server = None | 127 self.test_server = None |
| 122 self.port = None | 128 self.port = None |
| 123 | 129 |
| 124 | 130 |
| 125 def main(): | 131 def main(): |
| 126 print LocalRietveld().start_server() | 132 print LocalRietveld().start_server() |
| 127 | 133 |
| 128 | 134 |
| 129 if __name__ == '__main__': | 135 if __name__ == '__main__': |
| 130 main() | 136 main() |
| 131 | 137 |
| 132 # vim: ts=4:sw=4:tw=80:et: | 138 # vim: ts=4:sw=4:tw=80:et: |
| OLD | NEW |