Fish Trophy

chipx86 got a fish trophy!

Fish Trophy

Fix regressions in unit tests due to logging and missing test_scmtools.

Review Request #12421 — Created June 28, 2022 and submitted — Latest diff uploaded


Review Board


We've had a bit of churn recently with regard to the unit test
infrastructure for SCMTools and in-progress changes. Very temporarily,
unit tests could get away with not using the test_scmtools fixture,
but only as an artifact of state leakage. Recent landed changes
therefore passed at the time without this fixture, but is needed with it
now, since we still need a Tool object in the database and we only do
this if test_scmtools is added.

This change adds this missing fixture to all tests that make use of

It also fixes two other test failures.

One was due to a copy/paste of a bad logging.disable() line in a new
test, a copy of the problem fixed in commit 9f51ffeb3. This was causing
test_registry to fail if run after the bad call.

The other was due to a unit test using assertQueries() that wasn't
updated for a change in Review accessibility checks. This has
uncovered a duplicate Q(public=True) that may be a problem,
particularly when trying to use Q(public=False). This needs to be
thoroughly investigated before we ship 5.0, in case there are security

And finally, it disables warnings in test runs due to the empty content
in test_scmtools by preventing Django from trying to load data from
this fixture in setUpClass().

All unit tests pass.