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
andADMINS
(+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 , 10 years ago
Triage Stage: | Unreviewed → Accepted |
---|---|
Type: | Bug → Cleanup/optimization |
comment:2 by , 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 , 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.
comment:4 by , 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 , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Have been (moderately) bitten by this, too.