macaron icon indicating copy to clipboard operation
macaron copied to clipboard

refactor: remove depends_on fields from heuristics and handle skips in problog

Open art1f1c3R opened this issue 5 months ago • 0 comments

Summary

The purpose of this PR is to address #1052, and implement appropriate skip and error handling in all existing heuristics. This PR removes the depends_on field from heuristics and makes it a responsibility of the heuristic code to determine if it should be skipped or not. All skip handling is then done my the ProbLog logic.

Description of changes

The BaseHeuristicAnalyzer no longer has the depends_on field, and this has propagated to all other analyzers. The description for a SKIP result has been updated in line with issue #1052, and HeuristicAnalyzerValueErrors have replaced some SKIP results previously used when malformed data was encountered. Unit tests have been updated accordingly.

Some refactoring to the test_pypi_sourcecode_analyzer.py unit tests have also been done in this PR to address #1108, adding in temporary .ini config files to the unit tests as opposed to the existing mock objects.

Related issues

Closes #1052 and #1108.

Blockers

Currently blocked by #1147, as this is treated as a HeuristicAnalyzerValueError in this PR and causes integration tests to fail.

Checklist

  • [x] I have reviewed the contribution guide.
  • [x] My PR title and commits follow the Conventional Commits convention.
  • [x] My commits include the "Signed-off-by" line.
  • [x] I have signed my commits following the instructions provided by GitHub. Note that we run GitHub's commit verification tool to check the commit signatures. A green verified label should appear next to all of your commits on GitHub.
  • [x] I have updated the relevant documentation, if applicable.
  • [x] I have tested my changes and verified they work as expected.

art1f1c3R avatar Jul 22 '25 06:07 art1f1c3R