﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
14975	TransactionTestCases are broken by django.contrib.auth in 1.2.4	Randy Barlow	nobody	"I tried to upgrade my project to 1.2.4, and found that my TransactionTestCases were failing. I discovered that they would pass by themselves, but they would fail if I ran the django.contrib.auth tests first.

I made a very simple Django project that has an app with a single TransactionTestCase. It runs a self.assertTrue(True). If you run the testapp test by itself, it will pass, but if you run the auth tests first, it will fail in this way:

{{{
======================================================================
ERROR: test_test (testapp.tests.SimpleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/test/testcases.py"", line 257, in __call__
    self._pre_setup()
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/test/testcases.py"", line 224, in _pre_setup
    self._fixture_setup()
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/test/testcases.py"", line 236, in _fixture_setup
    call_command('flush', verbosity=0, interactive=False, database=db)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/core/management/__init__.py"", line 166, in call_command
    return klass.execute(*args, **defaults)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/core/management/base.py"", line 220, in execute
    output = self.handle(*args, **options)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/core/management/base.py"", line 351, in handle
    return self.handle_noargs(**options)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/core/management/commands/flush.py"", line 75, in handle_noargs
    emit_post_sync_signal(all_models, verbosity, interactive, db)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/core/management/sql.py"", line 182, in emit_post_sync_signal
    interactive=interactive, db=db)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/dispatch/dispatcher.py"", line 172, in send
    response = receiver(signal=self, sender=sender, **named)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/contrib/auth/management/__init__.py"", line 28, in create_permissions
    defaults={'name': name, 'content_type': ctype})
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/db/models/manager.py"", line 135, in get_or_create
    return self.get_query_set().get_or_create(**kwargs)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/db/models/query.py"", line 383, in get_or_create
    transaction.savepoint_rollback(sid, using=self.db)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/db/transaction.py"", line 242, in savepoint_rollback
    connection._savepoint_rollback(sid)
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/db/backends/__init__.py"", line 61, in _savepoint_rollback
    self.cursor().execute(self.ops.savepoint_rollback_sql(sid))
  File ""/home/rbarlow/.virtualenvs/titles-db/lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/base.py"", line 44, in execute
    return self.cursor.execute(query, args)
DatabaseError: no such savepoint
}}}

I put this into the Testing framework component, but it may be more appropriate in the Authentication component.

Django rocks, thanks for working on it!"		closed	Testing framework	1.2		fixed	blocker, regression		Accepted	0	0	0	0	0	0
