def test_text_output(self):
        output = OutputTool('text')
        data = self.get_data()
        OutputLogger.set_build_data('old', data['old'])
        OutputLogger.set_build_data('new', data['new'])
        OutputLogger.set_checker_output('Following files were moved', '\n'.join(data['moved']))

        logfile = os.path.join(self.TESTS_DIR, REBASE_HELPER_RESULTS_LOG)
        output.print_information(logfile)

        with open(logfile) as f:
            assert f.read().strip() == self.get_expected_output()

        os.unlink(logfile)
Example #2
0
    def pkgdiff_packages(self):
        """
        Function calls pkgdiff class for comparing packages
        :return:
        """
        pkgdiff_results = {}
        if not self.conf.pkgcomparetool:
            for checker in Checker.get_supported_tools():
                text = self._execute_checkers(checker)
                pkgdiff_results[checker] = text

        else:
            text = self._execute_checkers(self.conf.pkgcomparetool)
            pkgdiff_results[self.conf.pkgcomparetool] = text
        OutputLogger.set_checker_output('\nResults from checker(s):', pkgdiff_results)
Example #3
0
 def pkgdiff_packages(self):
     """
     Function calls pkgdiff class for comparing packages
     :return:
     """
     try:
         pkgchecker = Checker(self.conf.pkgcomparetool)
     except NotImplementedError:
         raise RebaseHelperError('You have to specify one of these check tools %s', Checker.get_supported_tools())
     else:
         logger.info('Comparing packages using %s...', self.conf.pkgcomparetool)
         results_dict = pkgchecker.run_check(self.results_dir)
         for key, val in six.iteritems(results_dict):
             if val:
                 OutputLogger.set_checker_output('Following files were ' + key, '\n'.join(val))
Example #4
0
    def pkgdiff_packages(self):
        """
        Function calls pkgdiff class for comparing packages
        :return:
        """
        pkgdiff_results = {}
        if not self.conf.pkgcomparetool:
            for checker in Checker.get_supported_tools():
                results = self._execute_checkers(checker)
                pkgdiff_results[checker] = results

        else:
            text = self._execute_checkers(self.conf.pkgcomparetool)
            pkgdiff_results[self.conf.pkgcomparetool] = text
        for diff_name, result in six.iteritems(pkgdiff_results):
            OutputLogger.set_checker_output(diff_name, result)
Example #5
0
    def test_text_output(self):
        output = OutputTool('text')
        data = self.get_data()
        OutputLogger.set_build_data('old', data['old'])
        OutputLogger.set_build_data('new', data['new'])
        OutputLogger.set_patch_output('Patches:', data['patches'])
        test_output = {'pkgdiff': ['Following files were moved\n%s' % '\n'.join(data['moved'])]}
        OutputLogger.set_checker_output('Results from checker(s)', test_output)

        logfile = os.path.join(self.TESTS_DIR, REBASE_HELPER_RESULTS_LOG)
        output.print_information(logfile)

        with open(logfile) as f:
            lines = [y.strip() for y in f.readlines()]
            assert lines == self.get_expected_output().split('\n')

        os.unlink(logfile)
Example #6
0
 def pkgdiff_packages(self, dir_name):
     """
     Function calls pkgdiff class for comparing packages
     :param dir_name: specify a result dir
     :return: 
     """
     pkgdiff_results = {}
     checker = Checker(os.path.dirname(__file__))
     if not self.conf.pkgcomparetool:
         for check in checker.get_supported_tools():
             try:
                 results = checker.run_check(dir_name, checker_name=check)
                 pkgdiff_results[check] = results
             except CheckerNotFoundError:
                 logger.info("Rebase-helper did not find checker '%s'." % check)
     else:
         pkgdiff_results[self.conf.pkgcomparetool] = checker.run_check(dir_name, checker_name=self.conf.pkgcomparetool)
     if pkgdiff_results:
         for diff_name, result in six.iteritems(pkgdiff_results):
             OutputLogger.set_checker_output(diff_name, result)
Example #7
0
    def run_package_checkers(self, results_dir):
        """
        Runs checkers on packages and stores results in a given directory.

        :param results_dir: Path to directory in which to store the results.
        :type results_dir: str
        :return: None
        """
        results = dict()

        if self.conf.pkgcomparetool:
            results[self.conf.pkgcomparetool] = checkers_runner.run_checker(results_dir, self.conf.pkgcomparetool)
        else:
            # no specific checker was given, just run all of them
            for checker_name in checkers_runner.get_supported_tools():
                try:
                    results[checker_name] = checkers_runner.run_checker(results_dir, checker_name)
                except CheckerNotFoundError:
                    logger.error("Rebase-helper did not find checker '%s'." % checker_name)

        for diff_name, result in six.iteritems(results):
            OutputLogger.set_checker_output(diff_name, result)