Exemple #1
0
    def get_results(self):
        """
        download and unpack tar file from remote to local computer,
        if local computer is windows, convert files into dos-format
        :return:
        """
        if self._subject.location == 'remote':
            message(mode='INFO', text='Get results {}'.format(self._item.name()))

            mod = __import__(self._subject.computer)
            generate_folder(self._item.directory)

            if path.exists(self._item.directory):
                # clear local directory
                files = glob(self._item.directory + '*')
                for file in files:
                    remove_file(file)

                winscp_command = 'get {}results.tar {}'.format(
                    self._item.directory_computer_selected, self._item.directory)
                call_winscp([winscp_command], self._subject.user, self._subject.hostname, mod.pwd, output_flag=True)

                unpack_tar_file(self._item.directory)  # tar file on local computer

                if system() == 'Windows':
                    message(mode='INFO', text='    Convert to dos')
                    for file in listdir(self._item.directory):
                        unix2dos(file, output_flag=False)
            else:
                message(mode='ERROR', text='Directory missing')
        else:
            message(mode='INFO', text='{} is local - Nothing done'.format(self._subject.computer))
Exemple #2
0
    def update_release(self):
        """
        copy built files in special folder and rename them for release
        generate new release folder if it does not exist
        :return:
        """
        message(mode='INFO', text='Updating release {} {}'.format(system(), self._item.configuration))

        generate_folder(self._subject.directory + 'releases')
        built_file = self._subject.get_built_file(self._item)
        copy_file(built_file, self._subject.get_built_file_for_release(self._item))
Exemple #3
0
    def export_to_repository(self, gate_flag=False):
        """
        copy input files into destination folder
        X: destination is gate (for file transfer between computer)
        x: destination is repository (e.g. for file transfer between branches)
        destination folder generated if it is missing
        :return:
        """
        message(mode='INFO', text='Exporting {}'.format(self._item.name()))
        if gate_flag:
            message(mode='INFO', text='Into gate')
            directory_destination = self._subject.directory_gate
        else:
            message(mode='INFO', text='Into repository')
            directory_destination = self._item.directory_repository

        generate_folder(directory_destination)
        copy_input_files(self._item.directory, directory_destination)
Exemple #4
0
    def import_from_repository(self, gate_flag=False):
        """
        copy input files from source directory into folder for test runs
        folder is generated if it is missing
        I: source is gate (for file transfer between computer)
        i: source is repository (e.g. for file transfer between branches)
        :return:
        """
        message(mode='INFO', text='Importing {}'.format(self._item.name()))
        if gate_flag:
            message(mode='INFO', text='    From gate')     
            directory_source = self._subject.directory_gate
        else:
            message(mode='INFO', text='    From repository')
            directory_source = self._item.directory_repository

        generate_folder(self._item.directory)
        copy_input_files(directory_source, self._item.directory)
Exemple #5
0
    def store_results_as_reference(self):
        """
        copy results (these are files with endings configurationShared.outputFileEndings)
        into reference folder
        (generates folder for references if it does not exist)
        each computer, case, branch has own reference folder
        :return:
        """
        message(mode='INFO', text='Store results as reference \n    {}'.format(self._item.name()))

        directory_reference = adapt_path("{}references\\{}\\{}\\{}\\{}\\{}\\".format(
            self._subject.directory, self._item.type, self._item.case,
            self._item.flow_process, self._item.element_type, self._item.configuration))

        generate_folder(directory_reference)

        if path.exists(self._item.directory):
            for extension in outputFileEndings:
                for file_name in listdir(self._item.directory):
                    if file_name.endswith('.{}'.format(extension)):
                        copy_file(self._item.directory + file_name, directory_reference)
        else:
            message(mode='ERROR', text='Directory missing')