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.
Take care! Jobs and bounties shuffled a bit! Phase 6,7 and 8 are still open!
Fase 1: CI jenkins and IRC botPrêmio: 500 € o servidor está em execução e esta seção encontra-se bloqueada
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.
The server needs to be run long term.
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. Clover). The ant script must be capable of generating test status results as a web page, which will be published online.
Fase 3: SDK test coveragePrêmio: 200 € pago a equipe de desenvolvedores de testes de unidade
To collect this bounty, the automated unit tests of the SDK (i2p/core/java/src) must work again.
Fase 4: Router test migrationPrêmio: 150 € pago a str4d
As with phase 2, the existing unit tests for the router must be moved over to the automated system.
Fase 5: Router test coveragePrêmio: 200 € pago a equipe de desenvolvedores de testes de unidade
To collect this bounty, the automated unit tests of the router (i2p/router/java/src) must work again.
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/).
Fase 7: Cobertura de testes de unidadePrêmio: 500 €
To collect this bounty, all above unit tests must meet the 100% coverage marker (except for log statements).
Fase 8: Simulação de multi-roteadorPrêmio: 1000 € será divida em mais subtarefas
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.
Judge on all these works is the donor and donor decides if a phase is called succesfull done and money can be paid.
As quantias oferecidas como prêmios podem ser aumentadas por doações adicionais. Você acha que isso é importante? Adicione em sua doação uma sinalização de que a quantia doada deve ser adicionada ao prêmio teste de unidade!