QA/TDAI/RegressionRangeFinder

From MozillaWiki
Jump to navigation Jump to search

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 that nightly is good (bug isn't present) or bad (bug is present), 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, mozrunner has a sister script called runnighly that you can use to run download and run a nightly from a particular date:

python runnightly.py -d 2010-02-15