Add integration tests for PMD, and fix issues with error reporting.

Review Request #11557 — Created March 26, 2021 and submitted — Latest diff uploaded

Information

ReviewBot
release-3.0.x

Reviewers

This updates the PMD test suite to add both real-world simulation and
integration tests. The tests have been expanded to test for files
without errors, invalid ruleset configurations, and errors processing
source files (syntax errors).

This uncovered a handful of issues, mostly in the processing failure or
invalid ruleset cases, which have all been fixed. This code is more
bullet-proof, and generates more helpful error messages in the review
request.

We're now using the JSON output, rather than the CSV output, which is
more useful and safer to parse. There shouldn't be any compatibility
issues with this.

We're also explicitly turning off report caching, since we don't want to
preserve that information anywhere.

All unit tests pass on Python 2.7 and 3.x.

Commits

Files