Hey Brandon, hey Yann, thanks for bringing this issue up here. You are both right that we really have to work on a test suite.
Unluckily we have a long way to go before we can even start writing tests. Gajim is almost untestable it its current state. Just have a look at common/connection_handlers.py that is calling functions of GUI roster. That must not happen. To make testing possible, we should concentrate on decoupling our modules.That might be a long, dull and error-prone way. Therefore, Brandon, I like your pragmatic way of simply identifying a good point to start and to just kick-off. When we can assure that certain parts work properly we can confidently start refactoring other, more coupled modules, and in the end also write tests for them. I guess it might be hard to start on the GUI level. Yann may be you can elaborate what you thought of. What about the following: src/common/config.py src/common/crypto.py src/common/logger.py src/common/xmpp_stringprep.py src/common/nslookup.py (might be tricky but worth it!) src/common/events.py (first, we might think of refactoring it...) Does anyone of you (or of course any other subscriber) have experience with testing? I once saw a presentation about xUnit and the only think I can remember is that even when writing tests, you can do a lot of things wrong.... Kind Regards, steve On Mon, 2008-05-12 at 22:00 -0600, Brendan Taylor wrote: > Has anybody given thought to an automated test suite for Gajim? > > It would make it a lot easier to refactor parts of the code without > introducing bugs that require a lot of manual testing to find. > > Getting to a point where the suite is complete enough to be useful will > be difficult, but even the process of making Gajim testable would help > reduce some of the coupling between modules. > > I think the best way to start is find a place in the code that it would > be easy to write tests for and work out from there. > > Is there any interest in this? Any suggestions about a good place to > start writing tests against? > _______________________________________________ > Gajim-devel mailing list > Gajimemail@example.com > https://lists.gajim.org/cgi-bin/listinfo/gajim-devel
Description: This is a digitally signed message part
_______________________________________________ Gajim-devel mailing list Gajimfirstname.lastname@example.org https://lists.gajim.org/cgi-bin/listinfo/gajim-devel