summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2013-01-11 14:52:27 -0800
committerKenneth Graunke <kenneth@whitecape.org>2013-01-11 15:05:27 -0800
commit6e3b1330a975ae46d3e180ed4c444075371b9fa8 (patch)
tree16e2e160239199c05f025523adcfa67fe42ba6dd /framework
parent8e65e2c49c2f5a40b2fb99efaabb6ab853b14e3d (diff)
Make Piglit run in the proper directoryHEADmaster
Diffstat (limited to 'framework')
-rw-r--r--framework/process.py4
-rw-r--r--framework/test.py5
2 files changed, 5 insertions, 4 deletions
diff --git a/framework/process.py b/framework/process.py
index efe2b26..7423769 100644
--- a/framework/process.py
+++ b/framework/process.py
@@ -28,7 +28,7 @@ from threading import Thread
__all__ = ['runProgram']
-def runProgram(cmd, timeout, env = None):
+def runProgram(cmd, timeout, workingDir = None, env = None):
'''Run a program with a timeout in case it never terminates.
cmd -- List of command and arguments. See subprocess.Popen.
@@ -47,7 +47,7 @@ def runProgram(cmd, timeout, env = None):
out = ''
err = ''
try:
- proc = Popen(cmd, stdout=PIPE, stderr=PIPE, env=fullEnv,
+ proc = Popen(cmd, stdout=PIPE, stderr=PIPE, cwd=workingDir, env=fullEnv,
start_new_session=True, universal_newlines=True)
out, err = proc.communicate(timeout=timeout)
return (out, err, proc.returncode, True)
diff --git a/framework/test.py b/framework/test.py
index 2f90c81..fa51172 100644
--- a/framework/test.py
+++ b/framework/test.py
@@ -31,11 +31,12 @@ __all__ = ['runProgram']
class Test:
- def __init__(self, command):
+ def __init__(self, command, working_directory = None):
self.command = command
+ self.working_directory = working_directory
def run(self, timeout):
- out, err, exitcode, finished = runProgram(self.command, timeout)
+ out, err, exitcode, finished = runProgram(self.command, timeout, self.working_directory)
return {'out': out, 'err': err, 'exitcode': exitcode,
'status': self.resultStatus(out, err, exitcode, finished)}