def pip_install_editable(source, uid, gid, prefix): _subprocess.check_call( _util.sudo_args(uid, gid) + [ "pip", "install", "--install-option=--prefix={}".format(prefix), "--editable", source, ], )
def main(): uid, gid = _util.get_uid_gid() ctx = _context.Context(_context.User(None, uid), _context.Group(None, gid)) # Run each hook. for hook in _hook.get_hooks(): hook.run(ctx) # Become whatever `ARGS` wants us to be. _os.execv( "/usr/bin/sudo", _util.sudo_args(uid, gid) + _sys.argv[1:], )
def test__sudo_args(monkeypatch): monkeypatch.setattr("os.environ", {"PATH": "/my/path", "PYTHONPATH": "/my/pythonpath"}) result = _util.sudo_args(42, 43) assert result == ["sudo", "-n", "-H", "-u", "#42", "-g", "#43", "-E", "PATH=/my/path", "PYTHONPATH=/my/pythonpath", "--"]