| Table of 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 (irc://irc.gnome.org/#f-spot), mailing list (http://mail.gnome.org/mailman/listinfo/f-spot-list), and bugzilla (http://bugzilla.gnome.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=f-spot&long_desc_type=allwordssubstr&long_desc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=anywords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=). If no information, do raise a Critical/Blocker bug in bugzilla (http://bugzilla.gnome.org/enter_bug.cgi?product=f-spot).
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 (http://mail.gnome.org/archives/f-spot-list/2005-October/msg00044.html) for extra checks.
