Пример #1
0
    def install(self):
        dest = os.path.dirname(os.path.dirname(os.path.expanduser(self.tool_path)))
        dest = os.path.abspath(dest)
        self.log.info("Will try to install Gatling into %s", dest)

        # download gatling
        downloader = FancyURLopener()
        gatling_zip_file = tempfile.NamedTemporaryFile(suffix=".zip", delete=True)

        self.download_link = self.download_link.format(version=self.version)
        self.log.info("Downloading %s", self.download_link)
        # TODO: check archive checksum/hash before unzip and run

        try:
            downloader.retrieve(self.download_link, gatling_zip_file.name, download_progress_hook)
        except BaseException as exc:
            self.log.error("Error while downloading %s", self.download_link)
            raise exc

        self.log.info("Unzipping %s", gatling_zip_file.name)
        unzip(gatling_zip_file.name, dest, 'gatling-charts-highcharts-bundle-' + self.version)
        gatling_zip_file.close()
        os.chmod(os.path.expanduser(self.tool_path), 0o755)
        self.log.info("Installed Gatling successfully")

        if not self.check_if_installed():
            raise RuntimeError("Unable to run %s after installation!" % self.tool_name)
Пример #2
0
 def install(self):
     dest = get_full_path(self.tool_path, step_up=2)
     self.log.info("Will install %s into %s", self.tool_name, dest)
     grinder_dist = self._download(use_link=bool(self.download_link))
     self.log.info("Unzipping %s", grinder_dist)
     unzip(grinder_dist, dest, 'grinder-' + self.version)
     os.remove(grinder_dist)
     self.log.info("Installed grinder successfully")
     if not self.check_if_installed():
         raise ToolError("Unable to run %s after installation!" % self.tool_name)
Пример #3
0
 def install(self):
     dest = os.path.dirname(os.path.dirname(os.path.expanduser(self.tool_path)))
     dest = os.path.abspath(dest)
     grinder_dist = super(Grinder, self).install_with_mirrors(dest, ".zip")
     self.log.info("Unzipping %s", grinder_dist.name)
     unzip(grinder_dist.name, dest, 'grinder-' + self.version)
     grinder_dist.close()
     os.remove(grinder_dist.name)
     self.log.info("Installed grinder successfully")
     if not self.check_if_installed():
         raise RuntimeError("Unable to run %s after installation!" % self.tool_name)
Пример #4
0
 def install(self):
     dest = get_full_path(self.tool_path, step_up=2)
     self.log.info("Will install %s into %s", self.tool_name, dest)
     gatling_dist = self._download(use_link=True)
     self.log.info("Unzipping %s", gatling_dist)
     unzip(gatling_dist, dest, 'gatling-charts-highcharts-bundle-' + self.version)
     os.remove(gatling_dist)
     os.chmod(get_full_path(self.tool_path), 0o755)
     self.log.info("Installed Gatling successfully")
     if not self.check_if_installed():
         raise ToolError("Unable to run %s after installation!" % self.tool_name)
Пример #5
0
 def install(self):
     dest = os.path.dirname(os.path.dirname(os.path.expanduser(self.tool_path)))
     dest = os.path.abspath(dest)
     gatling_dist = super(Gatling, self).install_with_mirrors(dest, ".zip")
     self.log.info("Unzipping %s", gatling_dist.name)
     unzip(gatling_dist.name, dest, 'gatling-charts-highcharts-bundle-' + self.version)
     gatling_dist.close()
     os.remove(gatling_dist.name)
     os.chmod(os.path.expanduser(self.tool_path), 0o755)
     self.log.info("Installed Gatling successfully")
     if not self.check_if_installed():
         raise RuntimeError("Unable to run %s after installation!" % self.tool_name)
Пример #6
0
    def install(self):
        dest = self.get_driver_dir()
        if not os.path.exists(dest):
            os.makedirs(dest)

        self.log.info("Will install %s into %s", self.tool_name, dest)
        dist = self._download(use_link=True)
        try:
            self.log.info("Unzipping %s to %s", dist, dest)
            unzip(dist, dest)
        finally:
            os.remove(dist)

        if not is_windows():
            os.chmod(self.tool_path, 0o755)

        if not self.check_if_installed():
            raise ToolError("Unable to find %s after installation!" % self.tool_name)
Пример #7
0
    def install(self):
        dest = self.get_driver_dir()
        if not os.path.exists(dest):
            os.makedirs(dest)

        self.log.info("Will install %s into %s", self.tool_name, dest)
        dist = self._download(use_link=True)
        try:
            self.log.info("Unzipping %s to %s", dist, dest)
            unzip(dist, dest)
        finally:
            os.remove(dist)

        if not is_windows():
            os.chmod(self.tool_path, 0o755)

        if not self.check_if_installed():
            raise ToolError("Unable to find %s after installation!" % self.tool_name)
Пример #8
0
    def __install_grinder(self, grinder_path):
        """
        Installs Grinder.
        Grinder version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """

        dest = os.path.dirname(
            os.path.dirname(os.path.expanduser(grinder_path)))
        if not dest:
            dest = os.path.expanduser("~/grinder-taurus")
        dest = os.path.abspath(dest)
        grinder_full_path = os.path.join(dest, "lib", "grinder.jar")
        try:
            self.__grinder(grinder_full_path)
            return grinder_full_path
        except CalledProcessError:
            self.log.info("Will try to install grinder into %s", dest)

        downloader = FancyURLopener()
        grinder_zip_path = self.engine.create_artifact("grinder-dist", ".zip")
        version = self.settings.get("version", GrinderExecutor.VERSION)
        download_link = self.settings.get("download-link",
                                          GrinderExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)

        try:
            downloader.retrieve(download_link, grinder_zip_path,
                                download_progress_hook)
        except BaseException as e:
            self.log.error("Error while downloading %s", download_link)
            raise e

        self.log.info("Unzipping %s", grinder_zip_path)
        unzip(grinder_zip_path, dest, 'grinder-' + version)
        os.remove(grinder_zip_path)
        self.log.info("Installed grinder successfully")
        return grinder_full_path
Пример #9
0
    def __install_gatling(self, gatling_path):
        """
        Installs Gatling.
        Gatling version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """
        dest = os.path.dirname(
            os.path.dirname(os.path.expanduser(gatling_path)))  # ../..
        dest = os.path.abspath(dest)

        try:
            self.__gatling(gatling_path)
            return gatling_path
        except OSError:
            self.log.info("Will try to install Gatling into %s", dest)

        # download gatling
        downloader = FancyURLopener()
        gatling_zip_path = self.engine.create_artifact("gatling-dist", ".zip")
        version = self.settings.get("version", GatlingExecutor.VERSION)
        download_link = self.settings.get("download-link",
                                          GatlingExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)
        # TODO: check archive checksum/hash before unzip and run

        try:
            downloader.retrieve(download_link, gatling_zip_path,
                                download_progress_hook)
        except BaseException as e:
            self.log.error("Error while downloading %s", download_link)
            raise e

        self.log.info("Unzipping %s", gatling_zip_path)
        unzip(gatling_zip_path, dest,
              'gatling-charts-highcharts-bundle-' + version)
        os.remove(gatling_zip_path)
        os.chmod(os.path.expanduser(gatling_path), 0o755)
        self.log.info("Installed Gatling successfully")
Пример #10
0
    def install(self):
        dest = os.path.dirname(os.path.dirname(os.path.expanduser(self.tool_path)))
        dest = os.path.abspath(dest)

        downloader = FancyURLopener()
        grinder_zip_file = tempfile.NamedTemporaryFile(suffix=".zip", delete=True)
        self.download_link = self.download_link.format(version=self.version)
        self.log.info("Downloading %s", self.download_link)

        try:
            downloader.retrieve(self.download_link, grinder_zip_file.name, download_progress_hook)
        except BaseException as exc:
            self.log.error("Error while downloading %s", self.download_link)
            raise exc

        self.log.info("Unzipping %s", grinder_zip_file.name)
        unzip(grinder_zip_file.name, dest, 'grinder-' + self.version)
        grinder_zip_file.close()

        self.log.info("Installed grinder successfully")
        if not self.check_if_installed():
            raise RuntimeError("Unable to run %s after installation!" % self.tool_name)
Пример #11
0
    def __install_grinder(self, grinder_path):
        """
        Installs Grinder.
        Grinder version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """

        dest = os.path.dirname(os.path.dirname(os.path.expanduser(grinder_path)))
        if not dest:
            dest = os.path.expanduser("~/grinder-taurus")
        dest = os.path.abspath(dest)
        grinder_full_path = os.path.join(dest, "lib", "grinder.jar")
        try:
            self.__grinder(grinder_full_path)
            return grinder_full_path
        except CalledProcessError:
            self.log.info("Will try to install grinder into %s", dest)

        downloader = FancyURLopener()
        grinder_zip_path = self.engine.create_artifact("grinder-dist", ".zip")
        version = self.settings.get("version", GrinderExecutor.VERSION)
        download_link = self.settings.get("download-link", GrinderExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)

        try:
            downloader.retrieve(download_link, grinder_zip_path, download_progress_hook)
        except BaseException as e:
            self.log.error("Error while downloading %s", download_link)
            raise e

        self.log.info("Unzipping %s", grinder_zip_path)
        unzip(grinder_zip_path, dest, 'grinder-' + version)
        os.remove(grinder_zip_path)
        self.log.info("Installed grinder successfully")
        return grinder_full_path
Пример #12
0
    def __install_gatling(self, gatling_path):
        """
        Installs Gatling.
        Gatling version and download link may be set in config:
        "download-link":"http://domain/resource-{version}.zip"
        "version":"1.2.3"
        """
        dest = os.path.dirname(os.path.dirname(os.path.expanduser(gatling_path)))  # ../..
        dest = os.path.abspath(dest)

        try:
            self.__gatling(gatling_path)
            return gatling_path
        except OSError:
            self.log.info("Will try to install Gatling into %s", dest)

        # download gatling
        downloader = FancyURLopener()
        gatling_zip_path = self.engine.create_artifact("gatling-dist", ".zip")
        version = self.settings.get("version", GatlingExecutor.VERSION)
        download_link = self.settings.get("download-link", GatlingExecutor.DOWNLOAD_LINK)
        download_link = download_link.format(version=version)
        self.log.info("Downloading %s", download_link)
        # TODO: check archive checksum/hash before unzip and run

        try:
            downloader.retrieve(download_link, gatling_zip_path, download_progress_hook)
        except BaseException as exc:
            self.log.error("Error while downloading %s", download_link)
            raise exc

        self.log.info("Unzipping %s", gatling_zip_path)
        unzip(gatling_zip_path, dest, "gatling-charts-highcharts-bundle-" + version)
        os.remove(gatling_zip_path)
        os.chmod(os.path.expanduser(gatling_path), 0o755)
        self.log.info("Installed Gatling successfully")