Context Navigation

Fixing Newbie Bugs

So, you'd like to contribute to DDC but don't know how? Then this page is for you!

I will assume that you have already figured out how to use darcs? (especially the part about setting up a bug fix branch) to get the source code and you've built it and run the test suite. I'll also assume that you have picked a ticket on ​newbie list that you'd like to work on.

Refactorings

The easiest tickets to work on involve refactoring. This is an easy way to become familiar with the code base, as the required functionality already exists.

Enhancements

The second easiest tickets are small cosmetic enhancements. These should at least be fairly well specified, and the aim is to add some functionality without breaking any existing tests.

The Bugzors

Then there are the bugs. Test cases for bugs which have not been fixed yet are put in the test/Broken-skip part of the ddc darcs tree. For say bug number XXX, there may already be a test case called TXXX-BugName. If you list the TXXX-BugName directory, you will find that it probably contains a single file named Test.ds or Main.ds. With the compiler already built, you can try compiling the test case using the command:

bin/ddc test/ddc-main/Broken-skip/TXXX-BugName/Test.ds

which should produce a similar error message to the one in the bug report.

If there isn't already a test case, you should add a TXXX-BugName directory and a appropriate test file.

At this stage its usually a good idea to add a simple shell script in the top level directory, which will build the compiler and run your test case with a single command. This shell script (which can be named say run.sh) might look a little like this (modify to suit):