Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1058)

Unified Diff: tests/local_rietveld.py

Issue 6783022: Add subprocess.Popen().kill() to python 2.5. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Rebase against HEAD Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/gclient_smoketest.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/local_rietveld.py
diff --git a/tests/local_rietveld.py b/tests/local_rietveld.py
index efcb6577cb432be43781a91a101efc12b5701100..d14da5628ce307ccd158fb6afaf8b189e52a70ad 100755
--- a/tests/local_rietveld.py
+++ b/tests/local_rietveld.py
@@ -13,9 +13,12 @@ if necessary and starts the server on a free inbound TCP port.
import optparse
import os
import socket
-import subprocess
+import sys
import time
+sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
+import subprocess2
+
class Failure(Exception):
pass
@@ -55,9 +58,6 @@ class LocalRietveld(object):
self.rietveld = os.path.join(self.base_dir, 'tests', 'rietveld')
self.test_server = None
self.port = None
- # Generate a friendly environment.
- self.env = os.environ.copy()
- self.env['LANGUAGE'] = 'en'
self.out = None
self.err = None
@@ -66,23 +66,21 @@ class LocalRietveld(object):
if not os.path.isfile(self.dev_app):
raise Failure('Install google_appengine sdk in %s' % self.sdk_path)
- def call(*args, **kwargs):
- kwargs['env'] = self.env
- x = subprocess.Popen(*args, **kwargs)
- x.communicate()
- return x.returncode == 0
-
# Second, checkout rietveld if not available.
if not os.path.isdir(self.rietveld):
print('Checking out rietveld...')
- if not call(
- ['svn', 'co', '-q',
- 'http://rietveld.googlecode.com/svn/trunk@681',
- self.rietveld]):
+ try:
+ subprocess2.check_call(
+ ['svn', 'co', '-q', 'http://rietveld.googlecode.com/svn/trunk@681',
+ self.rietveld])
+ except subprocess2.CalledProcessError:
raise Failure('Failed to checkout rietveld')
else:
print('Syncing rietveld...')
- if not call(['svn', 'up', '-q', '-r', '681'], cwd=self.rietveld):
+ try:
+ subprocess2.check_call(
+ ['svn', 'up', '-q', '-r', '681'], cwd=self.rietveld)
+ except subprocess2.CalledProcessError:
raise Failure('Failed to checkout rietveld')
def start_server(self, verbose=False):
@@ -101,9 +99,8 @@ class LocalRietveld(object):
'--port=%d' % self.port,
'--datastore_path=' + os.path.join(self.rietveld, 'tmp.db'),
'-c']
- self.test_server = subprocess.Popen(
- cmd, stdout=self.out, stderr=self.err, env=self.env,
- cwd=self.rietveld)
+ self.test_server = subprocess2.Popen(
+ cmd, stdout=self.out, stderr=self.err, cwd=self.rietveld)
# Loop until port 127.0.0.1:port opens or the process dies.
while not test_port(self.port):
self.test_server.poll()
@@ -111,11 +108,12 @@ class LocalRietveld(object):
raise Failure(
'Test rietveld instance failed early on port %s' %
self.port)
- time.sleep(0.001)
+ time.sleep(0.01)
def stop_server(self):
if self.test_server:
self.test_server.kill()
+ self.test_server.wait()
self.test_server = None
self.port = None
if self.out:
« no previous file with comments | « tests/gclient_smoketest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698