[Twisted-Python] Regression in Gtk2 support testing

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sat Feb 18 10:59:31 EST 2012

Hello all,

Since #4558 was merged, introducing "gi reactor" based on the new Python 
bindings for gobject, all testing of the Gtk2 reactor has been disabled, 
on all platforms.

This is a two-part problem.

The first part is the more damaging part, but fortunately also the more 
easily fixed part.  #4558 made it impossible to import 
`twisted.internet.gtk2reactor` if `sys.modules` contains a "gi" key. 
This seems to overlook the fact that even a *failed* import of the `gi` 
module adds such a key to that dictionary.  Since the test suite tries 
to test `gireactor`, there will always be such a key, so `gtk2reactor` 
can never be imported by the test suite.

The result is that gtk2reactor is no longer tested by buildbot on any 

The second part will show up once the first problem is fixed.  Once the 
check correctly ignores `sys.modules["gi"] == None`, it will still be 
impossible to test both gireactor and gtk2reactor in our current 
buildbot configuration.  One or the other will win, and the loser will 
be quietly skipped (apparently too quietly for most people to notice). 
Some new strategy is required so that we can test both of these reactors 
on all our supported platforms.

I hope someone will resolve the first issue quickly, perhaps this 
weekend, so that we don't drift too far away from a working gtk2reactor. 
If it isn't fixed soon, I suggest reverting the merge until the problem 
can be fixed in the #4558 branch.


More information about the Twisted-Python mailing list