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.


Reply via email to