updated
This commit is contained in:
@ -2,56 +2,77 @@
|
|||||||
{% block title %}Bounty unittests{% endblock %}
|
{% block title %}Bounty unittests{% endblock %}
|
||||||
{% block content %}<p>To improve I2P's maintainability, we want to have a solid set of
|
{% block content %}<p>To improve I2P's maintainability, we want to have a solid set of
|
||||||
automated unit tests for the critical code. While we do have some
|
automated unit tests for the critical code. While we do have some
|
||||||
unit tests at the moment, they are ad-hoc. This bounty is for
|
unit tests at the moment, they are ad-hoc and partly unfinished.
|
||||||
someone to move the tests over to jUnit, automate their execution,
|
This bounty is for someone to check the existant tests and move over
|
||||||
extend them to provide better code coverage, and publish the report
|
old ones to jUnit, automate their execution, extend them to provide
|
||||||
online. Its a massive effort, but can be broken down into phases,
|
better code coverage, and publish the report online. Its a massive
|
||||||
listed below (phase 1 must occur first, but further phases may happen
|
effort, but can be broken down into phases, listed below (phase 2
|
||||||
in any order)</p>
|
must occur first, but further phases may happen in any order).
|
||||||
<p>
|
As this needs some reading of code, it is the best start point for
|
||||||
NOTICE: this is the old state of the bounty, new state is in work!
|
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.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h2>Phase 1: <a name="sdk">SDK test migration</a></h2>
|
<h2>Phase 1: <a name="jenkins">CI jenkins and IRC bot</a></h2>
|
||||||
<b>Bounty: $300</b> <i>CLAIMED! By ComWiz</i><br />
|
<b>Bounty: <EFBFBD></b><i>in work by MathisDM</i><br />
|
||||||
|
|
||||||
<p>To collect this bounty, the existing SDK tests must be moved over
|
<p>To collect this bounty, a continuous integration server (Jenkins,
|
||||||
to jUnit, integrated into the ant build scripts ("ant test"), and
|
old name was Hudson) must be set up and a connected IRC bot needs
|
||||||
tied in with a code coverage tool (e.g.
|
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: <20></b> <br />
|
||||||
|
|
||||||
|
<p>To collect this bounty, the existing SDK tests must be checked
|
||||||
|
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.
|
||||||
<a href="http://www.cenqua.com/clover/">Clover</a>). The ant script
|
<a href="http://www.cenqua.com/clover/">Clover</a>). The ant script
|
||||||
must be capable of generating test status results as a web page,
|
must be capable of generating test status results as a web page,
|
||||||
which will be published online.</p>
|
which will be published online.</p>
|
||||||
<br>
|
<br>
|
||||||
<p>
|
|
||||||
This was done by ComWiz but is currently heavyly outdated.<br>
|
|
||||||
New Phase 1: make sure the core unit tests work.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h2>Phase 2: <a name="sdk_coverage">SDK test coverage</a></h2>
|
<h2>Phase 3: <a name="sdk_coverage">SDK test coverage</a></h2>
|
||||||
<b>Bounty: $300</b><br />
|
<b>Bounty: <EFBFBD></b><br />
|
||||||
|
|
||||||
<p>To collect this bounty, the automated unit tests must meet a
|
<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>
|
measured code coverage of 90% of the SDK (i2p/core/java/src).</p>
|
||||||
|
|
||||||
<h2>Phase 3: <a name="router">Router test migration</a></h2>
|
<h2>Phase 4: <a name="router">Router test migration</a></h2>
|
||||||
<b>Bounty: $300</b><br />
|
<b>Bounty: <EFBFBD></b><br />
|
||||||
|
|
||||||
<p>As with phase 1, the existing unit tests for the router must be
|
<p>As with phase 2, the existing unit tests for the router must be
|
||||||
moved over to the automated system.</p>
|
moved over to the automated system.</p>
|
||||||
|
|
||||||
<h2>Phase 4: <a name="router_coverage">Router test coverage</a></h2>
|
<h2>Phase 5: <a name="router_coverage">Router test coverage</a></h2>
|
||||||
<b>Bounty: $300</b><br />
|
<b>Bounty: <EFBFBD></b><br />
|
||||||
|
|
||||||
<p>To collect this bounty, the automated unit tests must meet a
|
<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>
|
measured code coverage of 90% of the router (i2p/router/java/src).</p>
|
||||||
|
|
||||||
<h2>Phase 5: <a name="streaming">Streaming lib tests</a></h2>
|
<h2>Phase 6: <a name="streaming">Streaming lib tests</a></h2>
|
||||||
<b>Bounty: $300</b><br />
|
<b>Bounty: <EFBFBD></b><br />
|
||||||
|
|
||||||
<p>To collect this bounty, a new set of unit tests must meet a
|
<p>To collect this bounty, a new set of unit tests must meet a
|
||||||
measured code coverage of 90% of the streaming lib
|
measured code coverage of 90% of the streaming lib
|
||||||
(i2p/apps/ministreaming/ and i2p/apps/streaming/).</p>
|
(i2p/apps/ministreaming/ and i2p/apps/streaming/).</p>
|
||||||
|
|
||||||
|
<h2>Phase 7: <a name="multirouter">MultiRouter simulation</a></h2>
|
||||||
|
<b>Bounty: <20></b><br />
|
||||||
|
|
||||||
|
<p>To collect this bounty, the existant in-memory multi-router
|
||||||
|
simulation must be checked, made work again and extend to simulate
|
||||||
|
lots of routers in memory on a single machine.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
<p><i>Note: bounty amounts may be increased by further donations. Do
|
<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>,
|
you think these are important? <a href="donate">Add in your donation</a>,
|
||||||
marking the amount for the unit test bounty!</i></p>
|
marking the amount for the unit test bounty!</i></p>
|
||||||
|
Reference in New Issue
Block a user