Contents

How to test a patch

This page will describe how to install a patch, and what to report after doing it. We presume you followed the instructions on how to build F-Spot.

A better and safer way, is to create a test user just for the purpose of testing patches. There is no need to specify --basedir and --photodir, and no need to fear damaging your existing data.

Further instructions on how to test with a test user needs to be specified.

Get the latest development sources

cd ~/development/f-spot
svn co http://svn.gnome.org/svn/f-spot/trunk f-spot.TestPatch

Verify TRUNK compiles nicely

It's no use to test a patch, if TRUNK is not compiling.

cd f-spot.TestPatch
./autogen.sh --prefix=${HOME}/unstable/f-spot
make
make install

If you encounter any problems, check IRC, mailing list, and bugzilla. If no information, do raise a Critical/Blocker bug in bugzilla.

Download the patch

Go to the bug in bugzilla, and find the patch you want to test (usually the latest one). Download it, and store it in a place of your choice. I presume you store it in Desktop and it is called patch.diff

Patch the code

patch -p0 < ~/Desktop/patch.diff

Compile F-Spot

We do the autogen.sh part again, since new files might have been added. Same for the 'make install' since non core part of f-spot might have been modified and demands to be installed for f-spot binary to find it.

./autogen.sh --prefix=${HOME}/unstable/f-spot
make
make install

Test F-Spot

Since patches have a tendancy to break things every now and then, we strongly recommend you to run on test data. That is use the --basedir and --photodir options. In this example I put both under /tmp, but you can specify whatever

cd ${HOME}/unstable/f-spot/bin
./f-spot --basedir /tmp  --photodir /tmp

Report result

The most important thing. Do not forget to update bugzilla with your findings. A small list of things to possible check, but please add whatever you feel like:

  • Did the patch apply cleanly against CVS? (Changelog might not apply)
  • Did the patch compile?
  • Do the patch have a Changelog entry?
  • Is the patch done from F-Spot main directory, and not ./src directory.
  • Is the header in any new files following the recommendations?
  • Did the patch work as advertised?
  • Any side effects found?
  • Try to crash it, did you succeed?
  • Check console - Anything out of normal printed there?
  • Check the patch file (diff), anything you find weird?
  • Spaces/Tab/Indentation confusion?
  • Readable code?
  • Maintanable code by another person?
  • Variable/Method names make sence?
  • Logic problems?
  • Hard coded constants, instead of using a common constant?
  • Check Larrys review for extra checks.

This page was last modified on 8 November 2007, at 19:44. This page has been accessed 11,035 times.


Powered by MediaWiki
Copyright © 2005. Powered by MediaWiki. Valid XHTML & CSS