I participated in yesterday’s building of unit tests for pykickstart, and it was a great learning experience. Like many contributors, I’m not a coder. But I have done very simple scripts in Python and it turned out I didn’t need much more, other than a helping hand from James Laska, camaraderie from Adam Williamson, and polishing by Chris Lumens. Hm, three people to support the work of one? Maybe I wasn’t that helpful.
But the guys were nice about it, and by the end of the day I’d contributed two unit tests, one for the keyboard command and one for the reboot command. Admittedly, these are just about the easiest commands for which one can write unit tests, but I figure I still saved someone about 5 minutes of coding and 15 minutes of various other piddling around. Now if only I could write 143 more of those modules, assuming I’d need much less help by that point, that would be an entire workday saved for some poor soul.
OK, shoddy math and ROI projection there. But the point is, I felt like I was contributing to the QA team a little bit, ensuring that as Anaconda changes we can avoid breaking things here or there by accident. QA really can be fun, whether it’s bug triage or writing little unit tests like these, so I hope more and more people will continue to take advantage of the learning process.
I’m going to make a concerted effort to work on a simple instructional page on the wiki for people who want to try their hand at these unit tests. (Then I’ll cajole someone more skilled like James into reviewing it.) Some of it is actually just rote work, and the rest you can glean by reading just a little bit of Python. At this point, I’d again encourage people to install one or more of the diveintopython packages in Fedora — and buy the dead-tree book if you’re not opposed, it’s great and the author, Mark Pilgrim, deserves more than whatever royalties he gets, I assure you. It’s a lot easier than you think to learn Python, and way easier than you think to help with these unit tests.
Thanks to the pykickstart maintainers and the QA guys for letting me horn in on an hour or two of their work.