Files
I2P_Website/www.i2p2/pages/bounty_unittests.html

99 lines
3.4 KiB
HTML
Raw Normal View History

2008-01-31 20:38:37 +00:00
{% extends "_layout.html" %}
{% block title %}Bounty unittests{% endblock %}
{% block content %}
<!-- file version 2012.04.16.01 -->
<p>To improve I2P's maintainability, we want to have a solid set of
2005-04-20 22:03:26 +00:00
automated unit tests for the critical code. While we do have some
2012-02-12 11:11:29 +00:00
unit tests at the moment, they are ad-hoc and partly unfinished.
2012-02-12 16:40:27 +00:00
This bounty is for someone to check the existing tests and move over
2012-02-12 11:11:29 +00:00
old ones to jUnit, automate their execution, extend them to provide
better code coverage, and publish the report online. Its a massive
effort, but can be broken down into phases, listed below (phase 2
must occur first, but further phases may happen in any order).
As this needs some reading of code, it is the best start point for
new devs to get a good overview of I2P code and coding. A good job
for college students, interns or anyone who is just interested.
2012-01-22 18:12:54 +00:00
</p>
2005-04-20 22:03:26 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 1: <a name="jenkins">CI jenkins and IRC bot</a></h2>
<b>Bounty: 500 &euro;</b><i> in work by MathiasDM</i><br />
2005-04-20 22:03:26 +00:00
<p>
To collect this bounty, a continuous integration server (Jenkins,
2012-02-12 11:11:29 +00:00
old name was Hudson) must be set up and a connected IRC bot needs
to set up in the channel #i2p-dev on IRC2p network to print out
results of build tests.<br>
The server needs to be run long term.
</p>
<br>
<h2>Phase 2: <a name="sdk">Check existing SDK tests </a></h2>
<b>Bounty: 150 &euro;</b> paid to str4d <br />
2012-02-12 11:11:29 +00:00
<p>
To collect this bounty, the existing SDK tests must be checked
2012-02-12 11:11:29 +00:00
and made to work again. The need to be integrated into the ant
build scripts ("ant test"), and tied in with a code coverage tool (e.g.
2005-04-20 22:03:26 +00:00
<a href="http://www.cenqua.com/clover/">Clover</a>). The ant script
must be capable of generating test status results as a web page,
which will be published online.
</p>
2012-01-22 18:12:54 +00:00
<br>
2005-04-20 22:03:26 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 3: <a name="sdk_coverage">SDK test coverage</a></h2>
<b>Bounty: 200 &euro;</b> in work by str4d<br />
2005-04-20 22:03:26 +00:00
<p>
To collect this bounty, the automated unit tests must meet a
measured code coverage of 90% of the SDK (i2p/core/java/src).
</p>
<br>
2005-04-20 22:03:26 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 4: <a name="router">Router test migration</a></h2>
<b>Bounty: 150 &euro;</b> paid to str4d<br />
2005-04-20 22:03:26 +00:00
<p>
As with phase 2, the existing unit tests for the router must be
moved over to the automated system.
</p>
<br>
2005-04-20 22:03:26 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 5: <a name="router_coverage">Router test coverage</a></h2>
<b>Bounty: 200 &euro;</b> in work by str4d<br />
2005-04-20 22:03:26 +00:00
<p>
To collect this bounty, the automated unit tests must meet a
measured code coverage of 90% of the router (i2p/router/java/src).
</p>
<br>
2005-04-20 22:03:26 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 6: <a name="streaming">Streaming lib tests</a></h2>
<b>Bounty: 300 &euro;</b><br />
2005-04-20 22:03:26 +00:00
<p>
To collect this bounty, a new set of unit tests must meet a
2005-04-20 22:03:26 +00:00
measured code coverage of 90% of the streaming lib
(i2p/apps/ministreaming/ and i2p/apps/streaming/).
</p>
<br>
2005-04-20 22:43:42 +00:00
2012-02-12 11:11:29 +00:00
<h2>Phase 7: <a name="multirouter">MultiRouter simulation</a></h2>
<b>Bounty: 1500 &euro;</b> will be split in more sub-tasks<br />
2012-02-12 11:11:29 +00:00
<p>
To collect this bounty, the existing in-memory multi-router
2012-02-12 11:11:29 +00:00
simulation must be checked, made work again and extend to simulate
lots of routers in memory on a single machine. This bounty will
be split in more fine grained subworks.
2012-02-12 11:11:29 +00:00
</p>
<br>
2012-02-12 11:11:29 +00:00
<p>
Judge on all these works is the donor and donor decides if a phase is
called succesfull done and money can be paid.
</p>
2005-04-20 22:43:42 +00:00
<p><i>Note: bounty amounts may be increased by further donations. Do
you think these are important? <a href="donate">Add in your donation</a>,
marking the amount for the unit test bounty!</i></p>
2008-01-31 20:38:37 +00:00
{% endblock %}