diff options
Diffstat (limited to 'scripts/Util.py')
-rw-r--r-- | scripts/Util.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/Util.py b/scripts/Util.py index 043e68d21c7..d8bead3950d 100644 --- a/scripts/Util.py +++ b/scripts/Util.py @@ -920,7 +920,8 @@ class Process(Runnable): processType = None - def __init__(self, exe=None, outfilters=None, quiet=False, args=None, props=None, envs=None, desc=None, mapping=None): + def __init__(self, exe=None, outfilters=None, quiet=False, args=None, props=None, envs=None, desc=None, + mapping=None, preexec_fn=None): Runnable.__init__(self, desc) self.exe = exe self.outfilters = outfilters or [] @@ -929,6 +930,7 @@ class Process(Runnable): self.props = props or {} self.envs = envs or {} self.mapping = mapping + self.preexec_fn = preexec_fn def __str__(self): if not self.exe: @@ -1701,8 +1703,15 @@ class LocalProcessController(ProcessController): env = os.environ.copy() env.update(envs) - cwd = process.getMapping(current).getTestCwd(process, current) - process = LocalProcessController.LocalProcess(cmd, startReader=False, env=env, cwd=cwd, desc=process.desc) + mapping = process.getMapping(current) + cwd = mapping.getTestCwd(process, current) + process = LocalProcessController.LocalProcess(cmd, + startReader=False, + env=env, + cwd=cwd, + desc=process.desc, + preexec_fn=process.preexec_fn, + mapping=str(mapping)) process.startReader(watchDog) return process |