Para mejorar el mantenimiento de I2P, queremos un conjunto de unit tests automáticos para el código crítico. Aunque ya tenemos algunos unit tests, son ad-hoc y están parcialmente sin terminar. Esta recompensa es para alguien que compruebe los tests existentes y los mueva a jUnit, automatice su ejecución, los amplíe para mejorar la cobertura sobre el código, y lo publique el reporte online. Es un esfuerzo enorme, pero puede romperse en fases, listadas más abajo (la fase 2 debe hacerse primero, pero las demás fases pueden hacerse en cualquier orden). Ya que este trabajo necesita leer el código, es un buen punto de inicio para los nuevos desarrolladores echarle el ojo al código de I2P. Es un buen trabajo para estudiantes o cualquiera interesado.

¡Tenga cuidad! ¡Los trabajos y recompensas han cambiado un poco! ¡Las fases 6,7 y 8 están aun abiertas!

Fase 1: CI jenkins e IRC bot

Recompensa: 500 € el servidor ya se ejecuta y esta rección está bloqueada.

Para obtener esta recompensa, un servidor de integración continuo (Jenkins, antes se llamaba Hudson) debe configurarse y un bot IRC debe configurarse y conectarse al canal #i2p-dev en la red IRC2p para poder mostrar los resultados de las pruebas de compilación.
Este servidor debe ejecutarse por largo tiempo.


Fase 2: Comprobar las pruebas del SDK existentes

Recompensa: 150 € pagado a str4d

Para obtener esta recompensa el SDK debe ser comprobado y hacer que funcione de nuevo. Debe ser integrado dentro de los scripts de compilación de ant ("ant test") y unido con una herramienta de cobertura (por ejemplo Clover). El script ant debe ser capaz de generar resultados de pruebas de estado como una página web, que se publicará online.


Fase 3: Cobertura de tests del SDK

Recompensa: 200 € pagado al grupo de desarrollo de unittests

Para obtener esta recompensa, los unit tests automáticos del SDK (i2p/core/java/src) tienen que funcionar de nuevo.


Fase 4: Migración de las pruebas del ruter

Recompensa: 150 € pagado a str4d

Como en la fase 2, los unit tests existentes del ruter tienen que ser movidos a un sistema automático.


Fase 5: Covertura para los tests del ruter.

Recompensa: 200 € pagado al grupo de desarrollo de unittests

Para obtener esta recompensa, los unit tests automáticos del ruter (i2p/core/java/src) tienen que funcionar de nuevo.


Fase 6: Tests de la libreriá de streaming

Recompensa: 300 €

Para hacerse con esta recompensa, un nuevo grupo de tests de unidad debe satisfacer una covertura de código determinada de 90% de la librería streaming (i2p/apps/ministreaming/ y i2p/apps/streaming/).


Fase 7: Covertura de unit tests

Recompensa: 500 €

Para hacerse con esta recompensa, todos los tests de unidad anteriores deben satisfacer la marca de covertura 100% (excepto para las entradas de registro (`log`).


Fase 8: Simulación multiruter

Recompensa: 1000 € será dividido en más sub-tareas

Para obtener esta recompensa, debe comprobarse y hacer funcionar de nuevo la ya existente simulación multi-ruter en la memoria, además de poder simular muchos ruters en la memoria de una única máquina. Esta recompensa se partirá en otros trabajos menores.

El jurado de estas donaciones es el que decide, y el que dona decide si la fase se ha hecho exitosamente y el dinero puede pagarse.