def _do_install_dependency(logger, project, dependency, upgrade, force_reinstall, target_dir, log_file): batch = isinstance(dependency, collections.Iterable) pip_command_line = list() pip_command_line.extend(PIP_EXEC_STANZA) pip_command_line.append("install") pip_command_line.extend( build_pip_install_options( project.get_property("install_dependencies_index_url"), project.get_property("install_dependencies_extra_index_url"), upgrade, project.get_property("install_dependencies_insecure_installation"), force_reinstall, target_dir, project.get_property("verbose"), project.get_property("install_dependencies_trusted_host"))) pip_command_line.extend(as_pip_install_target(dependency)) logger.debug("Invoking pip: %s", pip_command_line) exit_code = execute_command(pip_command_line, log_file, env=os.environ, shell=False) if exit_code != 0: if batch: dependency_name = " batch dependencies." else: dependency_name = " dependency '%s'." % dependency.name if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install%s" % dependency_name) else: raise BuildFailedException( "Unable to install%s See %s for details.", dependency_name, log_file)
def run_single_test(logger, project, reports_dir, test, ): name, _ = os.path.splitext(os.path.basename(test)) logger.info("Running acceptance test %s", name) env = prepare_environment(project) test_time = Timer.start() command_and_arguments = (sys.executable, test) report_file_name = os.path.join(reports_dir, name) error_file_name = report_file_name + ".err" return_code = execute_command( command_and_arguments, report_file_name, env, error_file_name=error_file_name) test_time.stop() report_item = { "test": name, "test_file": test, "time": test_time.get_millis(), "success": True } if return_code != 0: logger.error("acceptance test failed: %s", test) report_item["success"] = False if project.get_property("verbose"): print_file_content(report_file_name) print_text_line() print_file_content(error_file_name) return report_item
def _do_install_dependency(logger, project, dependency, upgrade, force_reinstall, target_dir, log_file): batch = isinstance(dependency, collections.Iterable) pip_command_line = list() pip_command_line.extend(PIP_EXEC_STANZA) pip_command_line.append("install") pip_command_line.extend(build_pip_install_options(project.get_property("install_dependencies_index_url"), project.get_property("install_dependencies_extra_index_url"), upgrade, project.get_property( "install_dependencies_insecure_installation"), force_reinstall, target_dir, project.get_property("verbose"), project.get_property("install_dependencies_trusted_host") )) pip_command_line.extend(as_pip_install_target(dependency)) logger.debug("Invoking pip: %s", pip_command_line) exit_code = execute_command(pip_command_line, log_file, env=os.environ, shell=False) if exit_code != 0: if batch: dependency_name = " batch dependencies." else: dependency_name = " dependency '%s'." % dependency.name if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install%s" % dependency_name) else: raise BuildFailedException("Unable to install%s See %s for details.", dependency_name, log_file)
def install_dependency(logger, project, dependency): url = getattr(dependency, "url", None) logger.info("Installing dependency '%s'%s", dependency.name, " from %s" % url if url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) log_file = re.sub(r'<|>|=', '_', log_file) if sys.platform.startswith("win"): # we can't use quotes on windows pip_dependency = as_pip_argument(dependency) else: # on linux we need quotes because version pinning (>=) would be an IO redirect pip_dependency = "'{0}'".format(as_pip_argument(dependency)) pip_command_line = "pip install {0}{1}".format( build_pip_install_options(project, dependency.name), pip_dependency) exit_code = execute_command(pip_command_line, log_file, shell=True) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException( "Unable to install dependency '%s'. See %s for details.", getattr(dependency, "name", dependency), log_file)
def _do_install_dependency(logger, project, dependency, upgrade, eager_upgrade, force_reinstall, constraint_file, target_dir, log_file): batch = isinstance(dependency, collections.Iterable) exit_code = pip_utils.pip_install( install_targets=dependency, index_url=project.get_property("install_dependencies_index_url"), extra_index_url=project.get_property("install_dependencies_extra_index_url"), upgrade=upgrade, insecure_installs=project.get_property("install_dependencies_insecure_installation"), force_reinstall=force_reinstall, target_dir=target_dir, verbose=project.get_property("verbose"), trusted_host=project.get_property("install_dependencies_trusted_host"), constraint_file=constraint_file, eager_upgrade=eager_upgrade, logger=logger, outfile_name=log_file) if exit_code != 0: if batch: dependency_name = " batch dependencies." else: dependency_name = " dependency '%s'." % dependency.name if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install%s" % dependency_name) else: raise BuildFailedException("Unable to install%s See %s for details.", dependency_name, log_file)
def install_dependency(logger, project, dependency): logger.info("Installing dependency '%s'%s", dependency.name, " from %s" % dependency.url if dependency.url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) pip_command_line = "pip install {0}'{1}'".format(build_pip_install_options(project), as_pip_argument(dependency)) exit_code = execute_command(pip_command_line, log_file, shell=True) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException("Unable to install dependency '%s'. See %s for details.", dependency.name, log_file)
def run_single_test(logger, project, reports_dir, test, output_test_names=True): additional_integrationtest_commandline_text = project.get_property( "integrationtest_additional_commandline", "") if additional_integrationtest_commandline_text: additional_integrationtest_commandline = tuple( additional_integrationtest_commandline_text.split(" ")) else: additional_integrationtest_commandline = () name, _ = os.path.splitext(os.path.basename(test)) if output_test_names: logger.info("Running integration test %s", name) env = prepare_environment(project) test_time = Timer.start() command_and_arguments = (sys.executable, test) command_and_arguments += additional_integrationtest_commandline report_file_name = os.path.join(reports_dir, name) error_file_name = report_file_name + ".err" return_code = execute_command(command_and_arguments, report_file_name, env, error_file_name=error_file_name) test_time.stop() report_item = { "test": name, "test_file": test, "time": test_time.get_millis(), "success": True } if return_code != 0: logger.error("Integration test failed: %s", test) report_item["success"] = False if project.get_property("verbose"): print_file_content(report_file_name) print_text_line() print_file_content(error_file_name) report_item['exception'] = ''.join( read_file(error_file_name)).replace('\'', '') return report_item
def install_dependency(logger, project, dependency): logger.info("Installing dependency '%s'%s", dependency.name, " from %s" % dependency.url if dependency.url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) pip_command_line = "pip install {0}'{1}'".format( build_pip_install_options(project, dependency), as_pip_argument(dependency)) exit_code = execute_command(pip_command_line, log_file, shell=True) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException( "Unable to install dependency '%s'. See %s for details.", dependency.name, log_file)
def run_single_test(logger, project, reports_dir, test, output_test_names=True): additional_integrationtest_commandline_text = project.get_property("integrationtest_additional_commandline", "") if additional_integrationtest_commandline_text: additional_integrationtest_commandline = tuple(additional_integrationtest_commandline_text.split(" ")) else: additional_integrationtest_commandline = () name, _ = os.path.splitext(os.path.basename(test)) if output_test_names: logger.info("Running integration test %s", name) env = prepare_environment(project) test_time = Timer.start() command_and_arguments = (sys.executable, test) command_and_arguments += additional_integrationtest_commandline report_file_name = os.path.join(reports_dir, name) error_file_name = report_file_name + ".err" return_code = execute_command( command_and_arguments, report_file_name, env, error_file_name=error_file_name) test_time.stop() report_item = { "test": name, "test_file": test, "time": test_time.get_millis(), "success": True } if return_code != 0: logger.error("Integration test failed: %s", test) report_item["success"] = False if project.get_property("verbose"): print_file_content(report_file_name) print_text_line() print_file_content(error_file_name) report_item['exception'] = ''.join(read_file(error_file_name)).replace('\'', '') return report_item
def install_dependency(logger, project, dependency): url = getattr(dependency, "url", None) logger.info("Installing dependency '%s'%s", dependency.name, " from %s" % url if url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) log_file = re.sub(r'<|>|=', '_', log_file) target_dir = None try: target_dir = project.get_property( "install_dependencies_local_mapping")[dependency.name] except KeyError: pass pip_command_line = list() pip_command_line.append(PIP_EXECUTABLE) pip_command_line.append("install") pip_command_line.extend( build_pip_install_options( project.get_property("install_dependencies_index_url"), project.get_property("install_dependencies_extra_index_url"), project.get_property("install_dependencies_upgrade"), project.get_property("install_dependencies_insecure_installation"), True if url else False, target_dir, project.get_property("verbose"))) pip_command_line.extend(as_pip_install_target(dependency)) logger.debug("Invoking pip: %s", pip_command_line) exit_code = execute_command(pip_command_line, log_file, env=os.environ, shell=False) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException( "Unable to install dependency '%s'. See %s for details.", getattr(dependency, "name", dependency), log_file)
def install_dependency(logger, project, dependency): url = getattr(dependency, "url", None) logger.info("Installing dependency '%s'%s", dependency.name, " from %s" % url if url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) if sys.platform.startswith("win"): # we can't use quotes on windows pip_dependency = as_pip_argument(dependency) else: # on linux we need quotes because version pinning (>=) would be an IO redirect pip_dependency = "'{0}'".format(as_pip_argument(dependency)) pip_command_line = "pip install {0}{1}".format(build_pip_install_options(project, pip_dependency), pip_dependency) exit_code = execute_command(pip_command_line, log_file, shell=True) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException("Unable to install dependency '%s'. See %s for details.", getattr(dependency, "name", dependency), log_file)
def install_dependency(logger, project, dependency): url = getattr(dependency, "url", None) logger.info("Installing dependency '%s'%s", dependency.name, " from {0!s}".format(url) if url else "") log_file = project.expand_path("$dir_install_logs", dependency.name) log_file = re.sub(r'<|>|=', '_', log_file) target_dir = None try: target_dir = project.get_property("install_dependencies_local_mapping")[dependency.name] except KeyError: pass pip_command_line = list() pip_command_line.extend(PIP_EXEC_STANZA) pip_command_line.append("install") pip_command_line.extend(build_pip_install_options(project.get_property("install_dependencies_index_url"), project.get_property("install_dependencies_extra_index_url"), project.get_property("install_dependencies_upgrade"), project.get_property( "install_dependencies_insecure_installation"), True if url else False, target_dir, project.get_property("verbose"), project.get_property("install_dependencies_trusted_host") )) pip_command_line.extend(as_pip_install_target(dependency)) logger.debug("Invoking pip: %s", pip_command_line) exit_code = execute_command(pip_command_line, log_file, env=os.environ, shell=False) if exit_code != 0: if project.get_property("verbose"): print_file_content(log_file) raise BuildFailedException("Unable to install dependency '%s'.", dependency.name) else: raise BuildFailedException("Unable to install dependency '%s'. See %s for details.", getattr(dependency, "name", dependency), log_file)