Changes between Version 2 and Version 3 of Development/FixingNewbie


Ignore:
Timestamp:
Dec 5, 2012, 1:02:06 PM (7 years ago)
Author:
benl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Development/FixingNewbie

    v2 v3  
    44So, you'd like to contribute to DDC but don't know how? Then this page is for you!
    55
    6 I will assume that you have already figured out how to use [wiki:UsingDarcs 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 bug on [http://disciple.ouroborus.net/report/9 newbie list] of the bug tracker that you'd like to work on.
     6I will assume that you have already figured out how to use [wiki:UsingDarcs 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 [http://disciple.ouroborus.net/report/9 newbie list] that you'd like to work on.
    77
    8 The next step is to see if there is already a test case in the darcs tree. 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:
     8=== Refactorings ===
     9
     10The 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.
     11
     12=== Enhancements ===
     13The 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.
     14
     15=== The Bugzors ===
     16Then 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:
    917
    1018{{{
    11 bin/ddc test/Broken-skip/TXXX-BugName/Test.ds
     19bin/ddc test/ddc-main/Broken-skip/TXXX-BugName/Test.ds
    1220}}}
    1321
     
    1624If there isn't already a test case, you should add a '''`TXXX-BugName`''' directory and a appropriate test file.
    1725
    18 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 simple command. This shell script (which can be named say '''`run.sh`''') might look a little like this (modify to suit):
     26At 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):
    1927
    2028{{{
     
    2634}}}
    2735
    28 Depending on the particular problem you're working on you may want to add '''`-v`''' or one of the '''`-dump-*`''' command line options to the '''`ddc`''' command line.
     36Depending on the particular problem you're working on you may want to add the -dump command line option to the '''`ddc`''' command line.
    2937
    3038Once you have all this set up, its time to start adding debug print statements to help track down the problem.
    3139
    32 When you have a fix for the bug, you can use '''`darcs`''' to send a patch to the mailing list.
     40When you have a fix for the bug, you can use '''`darcs`''' to send a patch to the mailing list. If you didn't fix the bug but made a test case, then that's still helpful, so submit that anyway.
    3341
     42=== Major Projects ===
     43
     44If you want work on a more major project then that's even better. In this case it's best to introduce yourself on [https://groups.google.com/forum/?fromgroups#!forum/disciple-cafe disciple-cafe].