QA/TDAI/RegressionRangeFinder
Mozregression is a python command-line tool for finding a bug's regression range on Firefox nightly builds. Use the installation instructions for your platform.
As an example, if you know a bug wasn't present in the nightly for Feb 3 2009, but is present in today's nightly, you can run this command-line:
python regression.py -g 2009-02-03
This will download and run a series of nightly builds on a new, clean profile. When a new browser window pops up you can do whatever you need to do to verify the bugs presence in that build, then type 'good' or 'bad' into the prompt depending on whether the bug is present in that build. The program will keep on downloading builds depending on your answers. After you've tried enough builds (about 7 for a 100-day initial regression range), you'll see something like this:
Last good nightly: 2009-12-22 First bad nightly: 2009-12-23 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=1f0e04dc2b21&tochange=f8b8f2f214d6
this is good information to paste into a Bugzilla comment. The pushlog url will show you all the code checkins that occurred during the regression range.
Other features
Mozregression has a few command line options:
-h, --help | show the help message |
-b YYYY-MM-DD, --bad=YYYY-MM-DD | first known bad nightly build, default is today |
-g YYYY-MM-DD, --good=YYYY-MM-DD | last known good nightly build |
-e PATH1,PATH2, --extensions=PATH1,PATH2 | list of extensions to install (path) |
-p PATH, --profile=PATH | profile to use with nightlies (path) |
-a ARG1,ARG2, --args=ARG1,ARG2 | command-line arguments to pass to Firefox |
Also, mozregression has a sister script, runnightly that you can use to run download and run a nightly from a particular date:
python runnightly.py -d 2010-02-15