Index: third_party/mesa/redirectoutput.py |
diff --git a/third_party/mesa/redirectoutput.py b/third_party/mesa/redirectoutput.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5103403d4c2d037bbd993579fa26759fe083c589 |
--- /dev/null |
+++ b/third_party/mesa/redirectoutput.py |
@@ -0,0 +1,25 @@ |
+import os |
+import os.path |
+import subprocess |
+import sys |
+ |
+if len(sys.argv) < 3: |
+ print "Usage: %s OUTPUTFILE SCRIPTNAME ARGUMENTS" % sys.argv[0] |
+ print "Re-execs the python interpreter against SCRIPTNAME with ARGS," |
+ print "redirecting output to OUTPUTFILE." |
+ sys.exit(1) |
+ |
+abs_outputfile = os.path.abspath(sys.argv[1]) |
+abs_outputdir = os.path.dirname(abs_outputfile) |
+ |
+if not os.path.isdir(abs_outputdir): |
+ os.makedirs(abs_outputdir) |
+ |
+ret = 0 |
+ |
+with open(abs_outputfile, "w") as f: |
+ ret = subprocess.Popen([sys.executable] + sys.argv[2:], stdout=f).wait() |
+ |
+if ret: |
+ os.remove(abs_outputfile) |
+ sys.exit(ret) |