#36313: even with `reset_sequences=True` a class does not reset them on teardown
---------------------------------+--------------------------------------
     Reporter:  anthony sottile  |                    Owner:  (none)
         Type:  Uncategorized    |                   Status:  new
    Component:  Uncategorized    |                  Version:  dev
     Severity:  Normal           |               Resolution:
     Keywords:                   |             Triage Stage:  Unreviewed
    Has patch:  0                |      Needs documentation:  0
  Needs tests:  0                |  Patch needs improvement:  0
Easy pickings:  0                |                    UI/UX:  0
---------------------------------+--------------------------------------
Description changed by anthony sottile:

Old description:

> I have a particular test class which I know breaks primary key ordering
> for a bunch of other tests in the process.  I figured I could extend
> `TransactionTestCase` and set `reset_sequences = True` on this class but
> the sequence state persists after the test
>
> seems this was improved in https://code.djangoproject.com/ticket/18271
>
> I believe this minimal patch would fix it :
>
> {{{
> diff --git a/django/test/testcases.py b/django/test/testcases.py
> index 8f9ba977a3..e2cf63b56d 100644
> --- a/django/test/testcases.py
> +++ b/django/test/testcases.py
> @@ -1239,7 +1239,7 @@ class TransactionTestCase(SimpleTestCase):
>                  verbosity=0,
>                  interactive=False,
>                  database=db_name,
> -                reset_sequences=False,
> +                reset_sequences=cls.reset_sequences,
>                  allow_cascade=self.available_apps is not None,
>                  inhibit_post_migrate=inhibit_post_migrate,
>              )
> }}}
>
> I'm specifically using django 5.1.7 but given the code this also affects
> the in-development version

New description:

 I have a particular test class which I know breaks primary key ordering
 for a bunch of other tests in the process.  I figured I could extend
 `TransactionTestCase` and set `reset_sequences = True` on this class but
 the sequence state persists after the test

 seems this was improved in https://code.djangoproject.com/ticket/18271

 I believe this minimal patch would fix it :

 {{{
 diff --git a/django/test/testcases.py b/django/test/testcases.py
 index 8f9ba977a3..e2cf63b56d 100644
 --- a/django/test/testcases.py
 +++ b/django/test/testcases.py
 @@ -1239,7 +1239,7 @@ class TransactionTestCase(SimpleTestCase):
                  verbosity=0,
                  interactive=False,
                  database=db_name,
 -                reset_sequences=False,
 +                reset_sequences=self.reset_sequences,
                  allow_cascade=self.available_apps is not None,
                  inhibit_post_migrate=inhibit_post_migrate,
              )
 }}}

 I'm specifically using django 5.1.7 but given the code this also affects
 the in-development version

--
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36313#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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/010701961c046ab0-41f0847a-bb68-4ea7-8a26-011f73a0b378-000000%40eu-central-1.amazonses.com.

Reply via email to