mock out user-env

since tests don't use real users
This commit is contained in:
MinRK
2014-09-21 15:22:39 -07:00
parent b685ed902e
commit 6f9b5107d2
2 changed files with 10 additions and 4 deletions

View File

@@ -218,18 +218,21 @@ class LocalProcessSpawner(Spawner):
def sudo_cmd(self, user):
return ['sudo', '-u', user.name] + self.sudo_args
def user_env(self, env):
if self.set_user == 'setuid':
env['USER'] = self.user.name
env['HOME'] = pwd.getpwnam(self.user.name).pw_dir
return env
@gen.coroutine
def start(self):
"""Start the process"""
self.user.server.port = random_port()
cmd = []
env = self.env
env = self.user_env(self.env)
if self.set_user == 'sudo':
cmd = self.sudo_cmd(self.user)
elif self.set_user == 'setuid':
env['USER'] = self.user.name
env['HOME'] = pwd.getpwnam(self.user.name).pw_dir
cmd.extend(self.cmd)
cmd.extend(self.get_args())