def test_should_perform_chunked_uploads(self): old_config = get_rpm_upload_command() target_file = os.path.abspath( os.path.join(get_temporary_directory(), 'upload.txt')) if os.path.exists(target_file): os.remove(target_file) cmd_file = os.path.abspath( os.path.join(get_temporary_directory(), 'upload.sh')) with open(cmd_file, 'w') as f: f.write( '#!/bin/bash\ndest=$1 ; shift ; echo "${#@} $@" >> "$dest"') os.chmod(cmd_file, 0755) cmd = '%s %s' % (cmd_file, target_file) configuration.set_property(get_rpm_upload_command, cmd) try: ConfigRpmMaker(None, None)._upload_rpms(['a' for x in range(25)]) finally: configuration.set_property(get_rpm_upload_command, old_config) self.assertTrue(os.path.exists(target_file)) with open(target_file) as f: self.assertEqual( f.read(), '10 a a a a a a a a a a\n10 a a a a a a a a a a\n5 a a a a a\n' )
def setUp(self): configuration.set_property(is_no_clean_up_enabled, KEEP_TEMPORARY_DIRECTORY) temporary_directory = get_temporary_directory() self.clean_up_temporary_directory(temporary_directory) self.temporary_directory = temporary_directory self.create_svn_repo()
def __init__(self, revision, svn_service): self.revision = revision self.svn_service = svn_service self.temp_dir = get_temporary_directory() self._assure_temp_dir_if_set() self.logger = None self._create_logger() self.work_dir = None
def __init__(self, revision, svn_service): self.revision = revision self.svn_service = svn_service self.temp_dir = get_temporary_directory() self._assure_temp_dir_if_set() self._create_logger() self.work_dir = None self.host_queue = Queue() self.failed_host_queue = Queue()
def test_should_perform_chunked_uploads(self): old_config = get_rpm_upload_command() target_file = os.path.abspath(os.path.join(get_temporary_directory(), 'upload.txt')) if os.path.exists(target_file): os.remove(target_file) cmd_file = os.path.abspath(os.path.join(get_temporary_directory(), 'upload.sh')) with open(cmd_file, 'w') as f: f.write('#!/bin/bash\ndest=$1 ; shift ; echo "${#@} $@" >> "$dest"') os.chmod(cmd_file, 0755) cmd = '%s %s' % (cmd_file, target_file) configuration.set_property(get_rpm_upload_command, cmd) try: ConfigRpmMaker(None, None)._upload_rpms(['a' for x in range(25)]) finally: configuration.set_property(get_rpm_upload_command, old_config) self.assertTrue(os.path.exists(target_file)) with open(target_file) as f: self.assertEqual(f.read(), '10 a a a a a a a a a a\n10 a a a a a a a a a a\n5 a a a a a\n')
def _create_logger(self): self.error_log_file = tempfile.mktemp(dir=get_temporary_directory(), prefix='yadt-config-rpm-maker.', suffix='.revision-%s.error.log' % self.revision) self.error_handler = FileHandler(self.error_log_file) formatter = Formatter(configuration.LOG_FILE_FORMAT, configuration.LOG_FILE_DATE_FORMAT) self.error_handler.setFormatter(formatter) self.error_handler.setLevel(ERROR) self.logger = getLogger('fileLogger') self.logger.addHandler(self.error_handler) self.logger.propagate = False
def _create_logger(self): self.error_log_file = tempfile.mktemp( dir=get_temporary_directory(), prefix="yadt-config-rpm-maker.", suffix=".revision-%s.error.log" % self.revision, ) self.error_handler = FileHandler(self.error_log_file) formatter = Formatter(configuration.LOG_FILE_FORMAT, configuration.LOG_FILE_DATE_FORMAT) self.error_handler.setFormatter(formatter) self.error_handler.setLevel(ERROR) self.logger = getLogger("fileLogger") self.logger.addHandler(self.error_handler) self.logger.propagate = False
def extractRpmFiles(self, path, hostname): extract_path = os.path.join(get_temporary_directory(), hostname + '.extract') os.mkdir(extract_path) command_with_arguments = 'rpm2cpio ' + os.path.abspath(path) + ' | cpio -idmv' process = subprocess.Popen(command_with_arguments, shell=True, cwd=extract_path, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() if process.returncode != 0: message = EXECUTION_ERROR_MESSAGE.format(command_with_arguments=command_with_arguments, error_code=process.returncode, stdout=stdout or "", stderr=stderr or "") raise IntegrationTestException(message) return extract_path
def extractRpmFiles(self, path, hostname): extract_path = os.path.join(get_temporary_directory(), hostname + '.extract') os.mkdir(extract_path) command_with_arguments = 'rpm2cpio ' + os.path.abspath(path) + ' | cpio -idmv' process = subprocess.Popen(command_with_arguments, shell=True, cwd=extract_path, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() if process.returncode != 0: message = EXECUTION_ERROR_MESSAGE.format(command_with_arguments=command_with_arguments, error_code=process.returncode, stdout=stdout or "", stderr=stderr or "") raise IntegrationTestException(message) return extract_path
def setUp(self): configuration.set_property(is_no_clean_up_enabled, KEEP_TEMPORARY_DIRECTORY) temporary_directory = get_temporary_directory() self.clean_up_temporary_directory(temporary_directory) self.temporary_directory = temporary_directory self.create_svn_repo()