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