summaryrefslogtreecommitdiffstats
path: root/third_party/mesa/redirectoutput.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/mesa/redirectoutput.py')
-rw-r--r--third_party/mesa/redirectoutput.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/third_party/mesa/redirectoutput.py b/third_party/mesa/redirectoutput.py
new file mode 100644
index 0000000..5103403
--- /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)