#30359: Possible access to unintended variable in
"django/tests/contenttypes_tests/test_models.py" line 128
-------------------------------------+-------------------------------------
     Reporter:  petrufm              |                    Owner:  nobody
         Type:  Bug                  |                   Status:  closed
    Component:                       |                  Version:  master
  contrib.contenttypes               |
     Severity:  Normal               |               Resolution:  invalid
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Tim Graham):

 * status:  new => closed
 * component:  Uncategorized => contrib.contenttypes
 * resolution:   => invalid


Old description:

> While experimenting with a CodeSonar plugin we develop, we noticed a
> potential bug in file "django/tests/contenttypes_tests/test_models.py"
> line 128 function test_get_for_concrete_model.
>
> self.assertEqual(concrete_model_ct,
> ContentType.objects.get_for_model(DeferredProxyModel)) <<<<<<HERE
> self.assertEqual(
>             proxy_model_ct,
>             ContentType.objects.get_for_model(DeferredProxyModel,
> for_concrete_model=False)
>
> Shouldn't you use proxy_model_ct instead of concrete_model_ct in the
> first line (as it is used in the second)?
>
> Thanks,
> Petru-Florin Mihancea

New description:

 While experimenting with a CodeSonar plugin we develop, we noticed a
 potential bug in file "django/tests/contenttypes_tests/test_models.py"
 line 128 function test_get_for_concrete_model.
 {{{
 self.assertEqual(concrete_model_ct,
 ContentType.objects.get_for_model(DeferredProxyModel)) <<<<<<HERE
 self.assertEqual(
             proxy_model_ct,
             ContentType.objects.get_for_model(DeferredProxyModel,
 for_concrete_model=False)
 }}}
 Shouldn't you use proxy_model_ct instead of concrete_model_ct in the first
 line (as it is used in the second)?

 Thanks,
 Petru-Florin Mihancea

--

Comment:

 The test doesn't pass with that change.
 `ContentType.objects.get_for_model()` defaults to
 `for_concrete_model=True` so the behavior looks correct.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30359#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.b0d997f7671a99df909f1ab28a9d74bf%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to