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.
