Karen Tracey wrote: > Thing is, a side-effect of dealing with a test that raises an > IntegrityError, using PostgreSQL, is you need a working rollback in > order to recover. So, even though you may not be interested in actually > testing rollback itself, you need it to work for this test to run > properly. You need the call to actually get processed by the database, > so that it will allow subsequent commands. And to get a working > rollback, you need to use TransactionTestCase, not TestCase.
Thanks Karen, that makes sense, and clears things up a lot, even though I'm a bit surprised that the same code won't work for both SQLite and PostgresSQL when there is nothing fundamentally different happening to the data or logic in each case. After doing some digging, I see a lot of prior discussion and tickets about postgres and connections after errors: http://code.djangoproject.com/ticket/852 http://code.djangoproject.com/changeset/8314 http://code.djangoproject.com/ticket/8739 http://code.djangoproject.com/ticket/10813 http://code.djangoproject.com/changeset/10657 I expect a lot of the difficulty might arise from the fact that postgres behaves differently from the other backends with regard to how active one must be in transaction management. Perhaps postgres is doing it the right way and the other backends let you get away with being sloppy. It seems that Django could do something like automatically issue a savepoint before each save operation and roll back to the savepoint if the save operation fails; though this may be overhead and automagicness that others would object to. At any rate, I can now get my tests to pass. Thanks for the help, Charlie --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---