Reviewers: Michael Starzinger,
Message:
PTAL.
Description:
Test runner: Send SVN revision instead of git commit hash in work packet
Please review this at https://chromiumcodereview.appspot.com/11013007/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M tools/testrunner/network/network_execution.py
M tools/testrunner/server/work_handler.py
Index: tools/testrunner/network/network_execution.py
diff --git a/tools/testrunner/network/network_execution.py
b/tools/testrunner/network/network_execution.py
index
2f33d353b1908b68014437ce24f4f1a99eac4073..a6bd47b5744d22def855b7623cafdcaea9977bb3
100644
--- a/tools/testrunner/network/network_execution.py
+++ b/tools/testrunner/network/network_execution.py
@@ -67,7 +67,13 @@ class NetworkedRunner(execution.Runner):
self.pubkey_fingerprint = None # Fetched later.
self.base_rev = subprocess.check_output(
"cd %s; git log -1 --format=%%H --grep=git-svn-id" % workspace,
- shell=True)
+ shell=True).strip()
+ self.base_svn_rev = subprocess.check_output(
+ "cd %s; git log -1 %s" # Get commit description.
+ " | grep -e '^\s*git-svn-id:'" # Extract "git-svn-id" line.
+ " | awk '{print $2}'" # Extract "repository@revision"
part.
+ " | sed -e 's/.*@//'" % # Strip away "repository@".
+ (workspace, self.base_rev), shell=True).strip()
self.patch = subprocess.check_output(
"cd %s; git diff %s" % (workspace, self.base_rev), shell=True)
self.binaries = {}
@@ -168,7 +174,7 @@ class NetworkedRunner(execution.Runner):
peer.runtime = None
start_time = time.time()
packet = workpacket.WorkPacket(peer=peer, context=self.context,
- base_revision=self.base_rev,
+ base_revision=self.base_svn_rev,
patch=self.patch,
pubkey=self.pubkey_fingerprint)
data, test_map = packet.Pack(self.binaries)
Index: tools/testrunner/server/work_handler.py
diff --git a/tools/testrunner/server/work_handler.py
b/tools/testrunner/server/work_handler.py
index
d1e0666c41790bc7bae2f96a08fe2b12736f1260..9e61af8227adaff2c1c314de77f1d0a3131ef44d
100644
--- a/tools/testrunner/server/work_handler.py
+++ b/tools/testrunner/server/work_handler.py
@@ -102,11 +102,22 @@ class WorkHandler(SocketServer.BaseRequestHandler):
os.chmod(target, stat.S_IRWXU)
return True
- def _CheckoutRevision(self, base_revision):
- code = self._Call("git checkout -f %s" % base_revision)
- if code != 0:
+ def _CheckoutRevision(self, base_svn_revision):
+ get_hash_cmd = (
+ "git log -1 --format=%%H --remotes --grep='^git-svn-id:.*@%s'" %
+ base_svn_revision)
+ try:
+ base_revision = subprocess.check_output(get_hash_cmd, shell=True)
+ if not base_revision: raise ValueError
+ except:
self._Call("git fetch")
- code = self._Call("git checkout -f %s" % base_revision)
+ try:
+ base_revision = subprocess.check_output(get_hash_cmd, shell=True)
+ if not base_revision: raise ValueError
+ except:
+ self._SendResponse("Base revision not found.")
+ return False
+ code = self._Call("git checkout -f %s" % base_revision)
if code != 0:
self._SendResponse("Error trying to check out base revision.")
return False
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev