forked from I2P_Developers/i2p.www
133 lines
4.8 KiB
HTML
133 lines
4.8 KiB
HTML
{% extends "global/bounty.html" %}
|
|
{% block title %}{{ _('Bounty unittests') }}{% endblock %}
|
|
{% block donatename %}{{ _('unit test') }}{% endblock %}
|
|
|
|
{% block bountydetails %}
|
|
<!-- file version 2013.01.15.01 -->
|
|
<p>{% trans -%}
|
|
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
|
|
unit tests at the moment, they are ad-hoc and partly unfinished.
|
|
This bounty is for someone to check the existing tests and move over
|
|
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.
|
|
{%- endtrans %}</p>
|
|
<p>{% trans -%}
|
|
Take care! Jobs and bounties shuffled a bit!
|
|
Phase 6,7 and 8 are still open!
|
|
{%- endtrans %}</p>
|
|
|
|
|
|
<h2>{% trans phase=1 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="jenkins">{{ _('CI jenkins and IRC bot') }}</a></h2>
|
|
<b>{% trans euro=500 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> <i>{{ _('server runs and this section is blocked') }}</i><br />
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, a continuous integration server (Jenkins,
|
|
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.
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=2 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="sdk">{{ _('Check existing SDK tests') }}</a></h2>
|
|
<b>{% trans euro=150 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> {{ _('paid to str4d') }}<br />
|
|
|
|
<p>{% trans clover='https://www.atlassian.com/software/clover/overview' -%}
|
|
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="{{ clover }}">Clover</a>). The ant script
|
|
must be capable of generating test status results as a web page,
|
|
which will be published online.
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=3 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="sdk_coverage">{{ _('SDK test coverage') }}</a></h2>
|
|
<b>{% trans euro=200 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> {{ _('paid to unittests dev team') }}<br />
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, the automated unit tests of the SDK
|
|
(i2p/core/java/src) must work again.
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=4 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="router">{{ _('Router test migration') }}</a></h2>
|
|
<b>{% trans euro=150 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> {{ _('paid to str4d') }}<br />
|
|
|
|
<p>{% trans -%}
|
|
As with phase 2, the existing unit tests for the router must be
|
|
moved over to the automated system.
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=5 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="router_coverage">{{ _('Router test coverage') }}</a></h2>
|
|
<b>{% trans euro=200 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> {{ _('paid to unittests dev team') }}<br />
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, the automated unit tests of the router
|
|
(i2p/router/java/src) must work again.
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=6 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="streaming">{{ _('Streaming lib tests') }}</a></h2>
|
|
<b>{% trans euro=300 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b><br />
|
|
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, a new set of unit tests must meet a
|
|
measured code coverage of 90% of the streaming lib
|
|
(i2p/apps/ministreaming/ and i2p/apps/streaming/).
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=7 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="coverage">{{ _('Unit tests coverage') }}</a></h2>
|
|
<b>{% trans euro=500 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b><br />
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, all above unit tests must meet the 100%
|
|
coverage marker (except for log statements).
|
|
{%- endtrans %}</p>
|
|
<br />
|
|
|
|
<h2>{% trans phase=8 %}Phase {{ phase }}:{% endtrans %}
|
|
<a name="multirouter">{{ _('MultiRouter simulation') }}</a></h2>
|
|
<b>{% trans euro=1000 %}Bounty: {{ euro }} €
|
|
{%- endtrans %}</b> {{ _('will be split in more sub-tasks') }}<br />
|
|
|
|
<p>{% trans -%}
|
|
To collect this bounty, the existing in-memory multi-router
|
|
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.
|
|
{%- endtrans %}</p>
|
|
{% endblock %}
|
|
|
|
{% block bountyjudge %}
|
|
<p>{% trans -%}
|
|
Judge on all these works is the donor and donor decides if a phase is
|
|
called succesfull done and money can be paid.
|
|
{%- endtrans %}</p>
|
|
{% endblock %}
|
|
|
|
{% block bountynotesouter %}{% endblock %}
|