I have been asked a few times over the last couple months how to help out at Mozilla, specifically with python. I know there are dozens of teams within Mozilla that have various python related projects. I am on the automation and tools team at Mozilla (known as the A*Team) and we do a lot of python related work. It seems that we are asked to add new and crazy stuff to harnesses or write new and interesting tools (usually a blend of python and javascript).
1) Mozbase. Our efforts in our spare time is to refactor our test harnesses within Mozilla to share common code where possible, we call it mozbase. I recommend doing a git clone of mozbase and getting it installed on your system: git clone git@github.com:mozilla/mozbase.git
2) Talos. Next is to pick up a test harness. We have been focusing on talos. Mostly because you don’t have to pull the entire mozilla-central tree, do hour long builds, and really because the talos code base is in need of some serious updating. To get talos, you need to clone it: hg clone http://hg.mozilla.org/build/talos
3) Configure Talos. Talos is run in 2 steps right now. A configuration step and a execution step. The configuration step requires a path to firefox.exe as well as an active test (I use ts to keep it simple) is pretty easy: “python PerfConfigurator.py –develop -a ts -e <path>/firefox.exe –output mytest.yml”.
4) Run Talos. this step is easy. Make sure you don’t have another instance of firefox.exe running on the computer and then run: “python run_tests.py -d -n mytest.yml”.
5) Take a look at some of these bugs that we have which are related to mozbase and/or talos: http://bit.ly/tZHs3G
While this isn’t exhaustive or a perfect guide for how to work on the perfect bug in an hour or less, these 5 steps should get you setup to work on basic Mozilla code and start fixing bugs! Pop into #ateam on irc.mozilla.org and ask some questions.
Now back to the other PI(e) that I always talk about!