Um die Wartung von I2P zu vereinfachen benötigen wir einen stabilen und umfassenden Satz an automatischen Unittests für den wichtigsten Quelltext. Die wenigen derzeitigen Unittets sind nur zusätzlich zum Quelltext. Diese Bounty wird für das migrieren der Tests au jUnit, deren automatische Ausführung, Ausbau der Unittests zum testen von mehr Quelltexten und öffentlichem publizieren der Ergebnisse ausgezahlt. Es ist eine grosse Aufgabe, die jedoch in kleinere Phasen heruntergebrochen werden kann. Diese Phasen sind folgende (Phase 1 muss zuerst erledigt sein, der Rest kann in beliebiger Reihenfolge erfolgen):
Phase 1: CI Jenkins und IRC bot
Bounty: 500 € in Arbeit von MathiasDMUm diese Belohnung zu bekommen, muss ein Integrations Server (
Jenkins, alter Name war Hudson) aufgesetzt werde. Dieser muss mit
einem IRC Bot im #i2p-dev Kanal im IRC2p Netzwerk verbunden sein
und die Ergebnisse der Kompiliertests ausgeben.
Der Server muss langfristig verfügbar sein.
Phase 2: Existierende SDK Tests überprüfen
Bounty: 150 € ausgezahlt an str4dFür diese Belohnung müssen die bestehenden SDK Tests kontrolliert werden und wieder zum funktionieren gebracht werden. Sie müssen in die ANT Bauskripte integriert werden ("ant test") und in einem Codecoverage Programm (z.B. Clover) integriert werden. Das ANT Skript sollte eine Webseite aus den Testergebnissen erstellen, die Online gestellt wird.
Phase 3: SDK Test Abdeckung
Bounty: 200 € in Arbeit von str4dHierfür sollten die automatischen Unittests mindestens 90% des SDK (i2p/core/java/src) abdecken.
Phase 4: Router Test Migration
Bounty: 150 € bezahlt an str4dWie Phase 2 müssen die automatischen Unittests für den Router auf das automatische System migriert werden.
Phase 5: Router Test Abdeckung
Bounty: 200 € in Arbeit von str4dHierfür müssen die automatischen Unittests mindestens 90% des I2P Router Codes (i2p/router/java/src) abdecken.
Phase 6: Streaming Lib Tests
Bounty: 300 €Hier müssen mindestens 90% des Streaming Lib Codes (i2p/apps/ministreaming/ and i2p/apps/streaming/) mit Hilfe der automatischen Unittests überprüpft werden.
Phase 7: MultiRouter Simulation
Bounty: 1500 € in kleinen Sub-Bounties, die noch definiert werdenFür diese Belohnung muss die existierende speicherinterne Multi-Router Simulation kontrolliert werden und in einen funktionsfähigen Zustand versetzt werden. Weiters muss diese entsprechend erwitert werden, so dass viele Router im Speicher auf einem PC simuliert werden können. Diese Belohnung wird in weitere, kleinere Teile aufgeteilt werden.
Der Spender der Belohnung entscheidet über die erfolgreiche Bearbeitung der einzelnen Aufgaben und die Auszahlung der einzelnen Gelder.
Hinweis: Die Höhe des Betrags kann durch weitere Spenden steigen. Findest Du diese Teile wichtig? Spende einen Betrag für diese Unittests Bounties!
HINWEIS: Folgend ist aus historischen Gründen der Dokumentation der alte Status der alten Unittest-Belohnung notiert. Aktuell ist das obige geschriebene!
Phase 1: SDK Test Umsetzung
Bounty: $300 Ausgezahlt! An ComWizUm diese Bounty zu bekommen müssen die existierenden SDK Tests auf jUnit migriert werden und in Ant build Skripte ("ant test") integriert werden. Auch müssen sie mit einem Werkzeug, das den Quelltext überwacht (z.B. Clover) verbunden werden. Das Ant Skript muss das Ergebnis der Tests als eine Webseite generieren können, die im Netz publiziert wird.
Phase 2: Umfang der SDK Tests
Bounty: $300Um diese Bounty zu bekomment, müssen die automatischen Unittests mindestens 90% des SDK Quelltextes (i2p/core/java/src) überprüfen.
Phase 3: Router Test Umsetzung
Bounty: $300Wie in Phase 1 müssen die existierenden Unittests für den Router auf ein automatisches System umgesetzt werden..
Phase 4: Umfang der Router Tests
Bounty: $300Für diese Bounty müssen die automatischen Unittests mindestens 90% des router Quelltextes (i2p/router/java/src) umfassen.
Phase 5: Streaming Bibliothek Tests
Bounty: $300Für diese Bounty muss ein neues Set an automatischen Tests mindestens 90% des Quelltextes der Streaming Bibliothek (i2p/apps/ministreaming/ und i2p/apps/streaming/) umfassen.














