Changeset - b5a127876dda
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-02-18 20:20:27
bkuhn@ebb.org
A few more items about this task.
1 file changed with 5 insertions and 0 deletions:
0 comments (0 inline, 0 general)
GSoC2014Ideas.mdwn
Show inline comments
...
 
@@ -42,27 +42,32 @@ skills and background best when submitting your application.
 

	
 
   Currently Ledger-CLI uses floating point arithmetic, which is definitely a
 
   mistake for an accounting system.  This causes
 
   [off-by-one bugs](http://bugs.ledger-cli.org/show_bug.cgi?id=992) on some
 
   types of transactions.  This should be fixed.
 

	
 
   A successful student on this task will:
 
      * Write various test cases for Ledger-CLI that will clearly show the
 
        floating point issue.
 
      * Rework the codebase to use fixed-point arithmetic so those bugs are
 
        closed.
 
      * Shepherd the patch upstream.
 
      * Close any bug tickets in the bug tracker that relate to this issue.
 
      * Time permitting: verify that other Ledger implementations don't
 
        face the same problem.
 

	
 
   Note that because this would be a major "bombing run" sort of change,
 
   there may be some resistance to upstreaming this patch, so this task may
 
   be harder than it looks on the surface from a community advocacy angle.  
 
      
 
3. Build a better test suite for [Ledger-CLI](http://www.ledger-cli.org/).
 

	
 
   Since this project relies so heavily on Ledger-CLI, we'd really like there
 
   to be a full test coverage for Ledger-CLI.  To do that, a student will
 
   need to be already somewhat familiar C++ and willing to learn about how to
 
   set up test suites for C++ programs, and likes writing tests.  The student
 
   could easily spend the whole summer just writing tests and not finish.
 

	
 
    Ledger-CLI does have a basic test suite, but it might turn out that using
 
    a more "full featured" test harness is useful.  The student will
 
    investigate and discuss this possibility with the mentor.  It would also
 
    be nice if lcov or other test-coverage tool could generate reports
0 comments (0 inline, 0 general)