Opened 10 years ago

Closed 10 years ago

#23469 closed Cleanup/optimization (fixed)

django_1_6_0 compatibility check yields false posititves

Reported by: Bruno Renié Owned by: nobody
Component: Core (System checks) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

This piece of code attempts to decide whether to show a warning for the updated test runner in Django 1.6.

However the checks performed have very little to do with the tests layout. Let's say I have a project that:

  • Uses contrib.sites (+2 points)
  • Uses the cached template loader by default (+2 points)
  • Sets MANAGERS and ADMINS (+3 points)

Then Django will happily raise a 1_6.W001 warning whether my project has an issue with tests or not.

It seems to me that this check is too weak, being based on orthogonal project properties and on settings that are rather likely to be overridden.

Unfortunately I don't have any idea for a robust alternative, so my only suggestion would be to remove this check…

Change History (5)

comment:1 by Claude Paroz, 10 years ago

Triage Stage: UnreviewedAccepted
Type: BugCleanup/optimization

Have been (moderately) bitten by this, too.

comment:2 by Tim Graham, 10 years ago

Duplicate of #21197, but I'd say we should be able to remove compatibility checks after they've been in one or two versions of Django. We'd only need to keep them around if we expect people will be skipping version of Django when upgrading. I don't think we should really support/recommend that, but I'm afraid it will happen frequently now that we've added LTS. Thoughts on that?

comment:3 by Collin Anderson, 10 years ago

or could we have a check --lts flag or --all or something that runs more than just the last version, but only run the last version or two by default? and then only keep checks around since the last LTS.

Last edited 10 years ago by Collin Anderson (previous) (diff)

comment:4 by Carl Meyer, 10 years ago

We haven't made any changes to our deprecation process to account for LTS, so I don't think we can really support skipping from LTS to LTS; you'd miss entire deprecations without ever seeing any warnings. So I think when the next LTS comes out, we just need to be very clear in its release notes that upgrading direct from LTS to LTS is not supported, you need to go major version by major version.

I don't think there's any urgency about removing old upgrade checks in general, if they don't have false positives, but I'm definitely in favor of removing this particular problematic check from master (and maybe even 1.7.X) at this point.

comment:5 by Tim Graham <timograham@…>, 10 years ago

Resolution: fixed
Status: newclosed

In 7ae03204ac207bee78d668952744da853a3a732b:

Fixed #23469 -- Removed test runner compatibility check which often yielded false positives.

Note: See TracTickets for help on using tickets.
Back to Top