I recently ran into a similar problem while developing a native python DBus implementation. Initially I implemented only the client-side portion and pointed all my tests at the OS-provided session bus. However, once I got around to implementing the server-side portion of DBus, simply pointing all those "known-good" client-side tests at the new bus implementation was a handy way to test out the new code. To mechanism I used was to modify the client-side testing module to use top-level module variables to tune the connection setup code and then created "test_bus.py" with the following content:
----- import sys from twisted.trial import unittest import test_client # Force the test code to use the internal bus rather than the # OS-native bus test_client.USE_INTERNAL_BUS = True # "Copy" the test cases into this module m = sys.modules[ __name__ ] for k,v in test_client.__dict__.iteritems(): if isinstance(v, type) and issubclass(v, unittest.TestCase): setattr(m, type(k, (v,), dict())) ----- It's a bit of a hack, of course, but it's conceptually simple and doesn't require much extra effort. Glyph's or Tim's suggestions may be better for your project but I've been pretty happy with this mechanism so far so I thought I'd toss it out there. Cheers, Tom On Mon, Sep 26, 2011 at 5:24 PM, Glyph Lefkowitz <gl...@twistedmatrix.com> wrote: > > On Sep 26, 2011, at 7:37 AM, Laurens Van Houtven wrote: > > Are there any better ways to pass test data to trial? > > Environment variables. > This isn't a great option, but I'd say it's definitely a better one than > modules which monkeypatch stuff. > You can also have your test cases synthesize stuff out of data files or > config files in your environment. > I'm not really inclined to make this super easy, since tests should by > definition not be terribly configurable: the more knobs like this you have > to turn, the less meaningful your test suite is likely to be. > So, today, I'd write something like this: > TXIEVERY_USERNAME=foo TXIEVERY_PW=bar TXIEVERY_CERT=baz.pem trial txievery > but if someone has a better thought, please chime in - this is by no means > the last word on this. And I'm facing a similar issue soon so I'd love to > hear some diversity of opinion here. > -glyph > PS: love the module name. > > _______________________________________________ > 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