def run_getstash(self, repo=None, branch=None, install_path=None, launcher_path=None, zippath=None, dist=None, dryrun=False, asuser=False):
        """
        Run getstash with the specified arguments.
        Not all arguments may be available for all installation types.
        :param repo: repo to pass to getstash.py
        :type repo: str
        :param branch: branch to pass to getstash.py
        :type branch: str
        :param install_path: path to install into
        :type install_path: str
        :param launcher_path: path to install launcher to
        :type launcher_path: str
        :param zippath: alternative path to zipfile to install from
        :type zippath: str
        :param dist: install type to force
        :type dist: str
        :param dryrun: if True, tell the installer to not actually do anything
        :type dryrun: bool
        :param asuser: if True, install for user
        :type asuser: bool
        """
        # build namespace to run installer in
        ns = {
            "__name__": "__main__",
        }
        # we add the keys only when they are specified so getstash assumes default values.
        if repo is not None:
            ns["_owner"] = repo
        if branch is not None:
            ns["_branch"] = branch
        if install_path is not None:
            ns["_target"] = install_path
        if launcher_path is not None:
            ns["_launcher_path"] = launcher_path
        if zippath is not None:
            ns["_zippath"] = zippath
        if dist is not None:
            ns["_force_dist"] = dist
        if dryrun:
            ns["_dryrun"] = True
        if asuser:
            ns["_asuser"] = True
            
        code = self.load_getstash()

        exec(code, ns, ns)

        Run getstash with the specified arguments.
        Not all arguments may be available for all installation types.
        :param repo: repo to pass to getstash.py
        :type repo: str
        :param branch: branch to pass to getstash.py
        :type branch: str
        :param install_path: path to install into
        :type install_path: str
        :param launcher_path: path to install launcher to
        :type launcher_path: str
        :param zippath: alternative path to zipfile to install from
        :type zippath: str
        :param dist: install type to force
        :type dist: str
        :param dryrun: if True, tell the installer to not actually do anything
        :type dryrun: bool
        :param asuser: if True, install for user
        :type asuser: bool
        
tests/install/test_getstash.py