Example #1
0
    def __get_files_in_report(self):
        run_filter = RunFilter()
        run_filter.names = ['db_cleanup_test']
        run_filter.exactMatch = True

        codechecker.check_and_store(self.codechecker_cfg, 'db_cleanup_test',
                                    self.test_dir)

        runs = self._cc_client.getRunData(run_filter, None, 0, None)
        run_id = runs[0].runId

        reports \
            = self._cc_client.getRunResults([run_id], 10, 0, [], None, None,
                                            False)

        details = self._cc_client.getReportDetails(reports[0].reportId)

        files = set()
        files.update(map(lambda bp: bp.fileId, details.pathEvents))
        files.update(map(lambda bp: bp.fileId, details.executionPath))

        file_ids = set()
        for file_id in files:
            file_data = self._cc_client.getSourceFileData(file_id, False, None)
            if file_data.fileId is not None:
                file_ids.add(file_data.fileId)

        return file_ids
Example #2
0
    def __get_runs(self, run_name_filter=None):
        """ Helper function to get all run names which belong to this test"""
        run_filter = RunFilter()
        if run_name_filter is not None:
            run_filter.names = [run_name_filter]

        runs = self._cc_client.getRunData(run_filter)
        return [run for run in runs if run.name in self._run_names]
Example #3
0
    def __get_runs(self, run_name_filter=None):
        """ Helper function to get all run names which belong to this test"""
        run_filter = RunFilter()
        if run_name_filter is not None:
            run_filter.names = [run_name_filter]

        runs = self._cc_client.getRunData(run_filter)
        return [run for run in runs if run.name in self._run_names]
    def __get_run_results(self, run_name):
        """
        Returns list of reports for the given run name.
        """
        run_filter = RunFilter()
        run_filter.names = [run_name]
        run_filter.exactMatch = True

        runs = self._cc_client.getRunData(run_filter)
        run_id = runs[0].runId

        return self._cc_client.getRunResults([run_id], None, 0, [], None, None)
    def __get_run_results(self, run_name):
        """
        Returns list of reports for the given run name.
        """
        run_filter = RunFilter()
        run_filter.names = [run_name]
        run_filter.exactMatch = True

        runs = self._cc_client.getRunData(run_filter)
        run_id = runs[0].runId

        return self._cc_client.getRunResults([run_id], None, 0, [], None, None)
    def tearDown(self):
        """
        Remove the run which was stored by this test case.
        """
        run_filter = RunFilter(names=[self._run_name], exactMatch=True)
        runs = self._report.getRunData(run_filter, None, 0, None)
        run_id = runs[0].runId

        # Remove the run.
        self._report.removeRun(run_id, None)
Example #7
0
    def __check_serverity_of_reports(self):
        """
        This will check whether reports in the database has the same severity
        levels as in the severity map config file.
        """
        run_filter = RunFilter()
        run_filter.names = ['db_cleanup_test']
        run_filter.exactMatch = True

        runs = self._cc_client.getRunData(run_filter, None, 0, None)
        run_id = runs[0].runId

        reports \
            = self._cc_client.getRunResults([run_id], 10, 0, [], None, None,
                                            False)

        with open(self.workspace_severity_cfg, 'r') as severity_cgf_file:
            severity_map = json.load(severity_cgf_file)
            for report in reports:
                severity_id = severity_map.get(report.checkerId, 'UNSPECIFIED')
                self.assertEqual(Severity._VALUES_TO_NAMES[report.severity],
                                 severity_id)
    def test_remove_run_results(self):
        """
        Test for removing run results and run.
        """
        # Run the anaysis again with different setup.
        test_project_path = self._testproject_data['project_path']
        ret = project.clean(test_project_path)
        if ret:
            sys.exit(ret)

        codechecker.check(self._codechecker_cfg,
                          'remove_run_results',
                          test_project_path)

        run_filter = RunFilter(names=['remove_run_results'], exactMatch=True)
        runs = self._cc_client.getRunData(run_filter)
        self.assertEqual(len(runs), 1)

        run_id = runs[0].runId

        orig_results_count = \
            self._cc_client.getRunResultCount([run_id], None, None)
        self.assertNotEqual(orig_results_count, 0)

        checker_filter = ReportFilter(checkerName=["core.CallAndMessage"])
        res_count = self._cc_client.getRunResultCount([run_id],
                                                      checker_filter,
                                                      None)
        self.assertNotEqual(res_count, 0)

        self._cc_client.removeRunReports([run_id],
                                         checker_filter,
                                         None)

        res_count = self._cc_client.getRunResultCount([run_id],
                                                      checker_filter,
                                                      None)
        self.assertEqual(res_count, 0)

        # Remove the run.
        self._cc_client.removeRun(run_id)

        # Check that we removed all results from the run.
        res = self._cc_client.getRunResultCount([run_id], None, None)
        self.assertEqual(res, 0)