revsetbenchmark: remove python 2.7 dependency
authorDurham Goode <durham@fb.com>
Mon, 31 Mar 2014 16:29:39 -0700
changeset 20893 b5de9dde181c
parent 20892 6fe95448596d
child 20894 04e1596d5dbd
revsetbenchmark: remove python 2.7 dependency revsetbenchmark.py used check_output which only exists in python 2.7. This fixes it.
contrib/revsetbenchmarks.py
--- a/contrib/revsetbenchmarks.py	Mon Mar 24 17:20:15 2014 -0700
+++ b/contrib/revsetbenchmarks.py	Mon Mar 31 16:29:39 2014 -0700
@@ -14,8 +14,16 @@
 # to compare performance.
 
 import sys
-from subprocess import check_call, check_output, CalledProcessError, STDOUT
+from subprocess import check_call, Popen, CalledProcessError, STDOUT, PIPE
 
+def check_output(*args, **kwargs):
+    kwargs.setdefault('stderr', PIPE)
+    kwargs.setdefault('stdout', PIPE)
+    proc = Popen(*args, **kwargs)
+    output, error = proc.communicate()
+    if proc.returncode != 0:
+        raise CalledProcessError(proc.returncode, ' '.join(args))
+    return output
 
 def update(rev):
     """update the repo to a revision"""