| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Generate fake repositories for testing.""" | 6 """Generate fake repositories for testing.""" |
| 7 | 7 |
| 8 import atexit | 8 import atexit |
| 9 import datetime | 9 import datetime |
| 10 import errno | 10 import errno |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 self.tear_down_git() | 235 self.tear_down_git() |
| 236 # This deletes the directories. | 236 # This deletes the directories. |
| 237 self.trial.tear_down() | 237 self.trial.tear_down() |
| 238 self.trial = None | 238 self.trial = None |
| 239 | 239 |
| 240 def tear_down_svn(self): | 240 def tear_down_svn(self): |
| 241 if self.svnserve: | 241 if self.svnserve: |
| 242 logging.debug('Killing svnserve pid %s' % self.svnserve.pid) | 242 logging.debug('Killing svnserve pid %s' % self.svnserve.pid) |
| 243 try: | 243 try: |
| 244 self.svnserve.kill() | 244 self.svnserve.kill() |
| 245 except OSError, e: | 245 except OSError as e: |
| 246 if e.errno != errno.ESRCH: # no such process | 246 if e.errno != errno.ESRCH: # no such process |
| 247 raise | 247 raise |
| 248 wait_for_port_to_free(self.host, self.svn_port) | 248 wait_for_port_to_free(self.host, self.svn_port) |
| 249 self.svnserve = None | 249 self.svnserve = None |
| 250 self.svn_port = None | 250 self.svn_port = None |
| 251 self.svn_base = None | 251 self.svn_base = None |
| 252 if not self.trial.SHOULD_LEAK: | 252 if not self.trial.SHOULD_LEAK: |
| 253 logging.debug('Removing %s' % self.svn_repo) | 253 logging.debug('Removing %s' % self.svn_repo) |
| 254 gclient_utils.rmtree(self.svn_repo) | 254 gclient_utils.rmtree(self.svn_repo) |
| 255 logging.debug('Removing %s' % self.svn_checkout) | 255 logging.debug('Removing %s' % self.svn_checkout) |
| 256 gclient_utils.rmtree(self.svn_checkout) | 256 gclient_utils.rmtree(self.svn_checkout) |
| 257 else: | 257 else: |
| 258 return False | 258 return False |
| 259 return True | 259 return True |
| 260 | 260 |
| 261 def tear_down_git(self): | 261 def tear_down_git(self): |
| 262 if self.gitdaemon: | 262 if self.gitdaemon: |
| 263 logging.debug('Killing git-daemon pid %s' % self.gitdaemon.pid) | 263 logging.debug('Killing git-daemon pid %s' % self.gitdaemon.pid) |
| 264 self.gitdaemon.kill() | 264 self.gitdaemon.kill() |
| 265 self.gitdaemon = None | 265 self.gitdaemon = None |
| 266 if self.git_pid_file: | 266 if self.git_pid_file: |
| 267 pid = int(self.git_pid_file.read()) | 267 pid = int(self.git_pid_file.read()) |
| 268 self.git_pid_file.close() | 268 self.git_pid_file.close() |
| 269 logging.debug('Killing git daemon pid %s' % pid) | 269 logging.debug('Killing git daemon pid %s' % pid) |
| 270 subprocess2.kill_pid(pid) | 270 try: |
| 271 subprocess2.kill_pid(pid) |
| 272 except OSError as e: |
| 273 if e.errno != errno.ESRCH: # no such process |
| 274 raise |
| 271 self.git_pid_file = None | 275 self.git_pid_file = None |
| 272 wait_for_port_to_free(self.host, self.git_port) | 276 wait_for_port_to_free(self.host, self.git_port) |
| 273 self.git_port = None | 277 self.git_port = None |
| 274 self.git_base = None | 278 self.git_base = None |
| 275 if not self.trial.SHOULD_LEAK: | 279 if not self.trial.SHOULD_LEAK: |
| 276 logging.debug('Removing %s' % self.git_root) | 280 logging.debug('Removing %s' % self.git_root) |
| 277 gclient_utils.rmtree(self.git_root) | 281 gclient_utils.rmtree(self.git_root) |
| 278 else: | 282 else: |
| 279 return False | 283 return False |
| 280 return True | 284 return True |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 800 fake.set_up_git() | 804 fake.set_up_git() |
| 801 print('Fake setup, press enter to quit or Ctrl-C to keep the checkouts.') | 805 print('Fake setup, press enter to quit or Ctrl-C to keep the checkouts.') |
| 802 sys.stdin.readline() | 806 sys.stdin.readline() |
| 803 except KeyboardInterrupt: | 807 except KeyboardInterrupt: |
| 804 trial_dir.TrialDir.SHOULD_LEAK.leak = True | 808 trial_dir.TrialDir.SHOULD_LEAK.leak = True |
| 805 return 0 | 809 return 0 |
| 806 | 810 |
| 807 | 811 |
| 808 if __name__ == '__main__': | 812 if __name__ == '__main__': |
| 809 sys.exit(main(sys.argv)) | 813 sys.exit(main(sys.argv)) |
| OLD | NEW |