On Thu, Nov 26, 2009 at 10:56 PM, Jani Tiainen <[email protected]> wrote: > On Thu, 2009-11-26 at 21:56 +0800, Russell Keith-Magee wrote: >> On Thu, Nov 26, 2009 at 9:37 PM, Jani Tiainen <[email protected]> wrote: >> > On Thu, 2009-11-26 at 20:23 +0800, Russell Keith-Magee wrote: >> > >> >> * Do you still get the same failures if you convert QueryTestCase into >> >> a TransactionTestCase (i.e., change the import "from django.test >> >> import TestCase" to "from django.test import TransactionTestCase as >> >> TestCase") >> > >> > All three passed in isolated tests. >> >> Do the TransactionTestCase versions still pass when you execute the >> full multi-db suite? If so, I think we have narrowed the problem down >> to the rollback code. > > Yes they pass. > > I thought I wrote it down but I might have forgotten that one. > >> A few more debug data points: >> >> * Could you please run the full multi-db suite with verbosity=2; it >> would be helpful to see the exact order in which the tests are being >> executed > > testrun1.log > >> * Could you run just the multiple_database.QueryTestCase test case >> (again, with verbosity=2, so I can see the test order). I'm wondering >> if the problem might be a leakage of fixture loading. >> > > testrun2.log > > > Made those as attachments since theyu're so huge ones... HTH.
Yes - this does help. The confirms my suspicion - the problem is that the fixture loaded in FixtureTestCase.test_fixture_loading isn't being cleared before running the tests in QueryTestCase. The annoying thing is that I don't see this problem on any other database, so there is something specific about transaction rollback on Oracle. I can't see anything in that code that is should be Oracle-specific behavior. The magic code is in _fixture_teardown(), starting at line 487 of django/tests/testcases.py. That method *should* be resetting the database at the end of multiple_database.FixtureTestCase, but evidently it isn't. Either the transaction rollback code isn't getting invoked, or it is getting invoked but not behaving as expected. Any debugging assistance you can provide here would be most welcome. Yours Russ Magee %-) -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
