• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# -*- coding: utf-8 -*-
2
3import os
4import shlex
5import subprocess
6
7SRC_BASE_DIR		= os.path.realpath(os.path.normpath(os.path.join(os.path.dirname(__file__), "..", "..", "..")))
8DEQP_DIR			= os.path.join(SRC_BASE_DIR, "deqp")
9
10def die (msg):
11	print msg
12	exit(-1)
13
14def shellquote(s):
15	return '"%s"' % s.replace('\\', '\\\\').replace('"', '\"').replace('$', '\$').replace('`', '\`')
16
17g_workDirStack = []
18
19def pushWorkingDir (path):
20	oldDir = os.getcwd()
21	os.chdir(path)
22	g_workDirStack.append(oldDir)
23
24def popWorkingDir ():
25	assert len(g_workDirStack) > 0
26	newDir = g_workDirStack[-1]
27	g_workDirStack.pop()
28	os.chdir(newDir)
29
30def execute (args):
31	retcode	= subprocess.call(args)
32	if retcode != 0:
33		raise Exception("Failed to execute '%s', got %d" % (str(args), retcode))
34
35def readFile (filename):
36	f = open(filename, 'rb')
37	data = f.read()
38	f.close()
39	return data
40
41def writeFile (filename, data):
42	f = open(filename, 'wb')
43	f.write(data)
44	f.close()
45