Le 6 août 2013 à 08:28, Glyph <gl...@twistedmatrix.com> a écrit :

> 
> On Aug 5, 2013, at 2:09 AM, Benjamin BERTRAND <bee...@gmail.com> wrote:
> 
>> That's why the inlineCallbacks solves the problem. When I yield on the 
>> self.server.dataReceived, I wait for the deferred in the publish methods to 
>> fire and everything is clean when I close the connection.
>> 
>> Is there another way to do that?
> 
> Jonathan Lange wrote about this a long time ago:
> 
> http://blackjml.livejournal.com/23029.html

Thanks for the link.
I added a deferred in my RedisPublishService class and fire it at the end of my 
publish method so that I can wait for it before to close the connection.

> 
> but better than doing that would be to avoid setting up and tearing down real 
> TCP connections during your tests.  Those are slower than an in-memory thing 
> (like you would get from twisted.test.proto_helpers, the one and only public 
> module in our 'test' package) and also, as you have discovered, more 
> unpredictable.
> 
> Is there any way to hand txredis a synthetic transport for testing?  If not, 
> file a bug on it :).

I guess it's possible to use a synthetic transport, but that wouldn't help much 
without a "fake" redis server.
That would indeed be nice to have for testing.

I actually just found a dummy txredis client that implements everything 
internally for testing: https://github.com/williamsjj/dummy-txredis
Might be worth looking at.
But I wonder if implementing a basic redis server with twisted (for testing 
purpose) wouldn't be nicer?

Benjamin

> 
> -glyph
> 
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python@twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to