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)
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)
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)
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)
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)
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)
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
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")
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)
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
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")