CPAN Tester 2.0 - CPAN Tester werden ist ganz einfach
Veröffentlicht von Thomas Fahle am (Permalink)
Das CPAN Testers Project möchte möglichst viele CPAN-Module auf möglichst vielen Plattformen testen. Diese Testergebnisse bieten CPAN-Autoren und Nutzern wertvolles Feedback und helfen die Qualität der CPAN-Module zu verbessern und somit den Wert des CPAN zu erhöhen.
Dank des CPAN-Moduls CPAN::Reporter von David Golden kann jeder, der ein Modul auf seinem Rechner installiert, einen Test-Report automatisch erzeugen und zu den CPAN-Testern übermitteln.
Wegen des starken Wachstums des CPAN-Testers Projects in den letzten Jahren ist eine neue leistungsfähige skalierbare Lösung erforderlich.
Seit dem 5. Juli 2010 steht CPAN Testers 2.0 zur Verfügung.
Die wesentlichen Neuerungen:
- Test-Reports können auch über HTTP eingereicht werden.
- Test-Reports, Tester und Distributionen werden über eine Meta-Datenbank verwaltet
Die alte Schnittstelle über SMTP wird am 31.08.2010 eingestellt.
Installation
CPAN::Reporter benötigt das Modul CPAN ab Version 1.9301 und weitere Module, wie z.B. Module::Build, in möglichst aktuellen Versionen - hier bietet sich ein allgemeines Update via Bundle::CPAN an. Weiterhin werden Module für den neuen Transportmechanismus über HTTP benötigt.
cpan> install Bundle::CPAN cpan> reload CPAN cpan> install CPAN::Reporter cpan> install Test::Reporter cpan> install Test::Reporter::Transport::Metabase cpan> install Metabase::Client::Simple cpan> install Metabase::Fact
Konfiguration
Die Konfiguration erfolgt in zwei Schritten.
Im ersten Schritt werden einige einfache Fragen beantwortet und daraus eine grundlegende Konfiguration erzeugt.
cpan> o conf init test_report
Zunächst wird festgelegt, ob die Testergebnisse zu den CPAN Testern versandt werden sollen.
Email test reports if CPAN::Reporter is installed (yes/no)? [no] yes Would you like me configure CPAN::Reporter now? [yes] yes
Falls ja wird als nächstes die E-Mail Adresse des Test Reporters abgefragt. Wer über eine PAUSE-ID verfügt, trägt bitte die dort hinterlegte E-Mail-Adresse (pauseid@cpan.org) ein; ansonsten ist jede gültige Adresse okay.
email_from? [] "Vorname Nachname" <e-mail@adresse.tld>
Die Testergebnisse wurden bisher an die Mailserver von perl.org gesandt werden. Da der Versand jetzt über HTTP erfolgt, bleibt dieses Feld einfach leer.
smtp_server? []
Die Testergebnisse können vor dem Versand noch mit einem Editor bearbeitet werden. Als Tester kann man hier noch Hinweise für den Autor einfügen. Die vorgeschlagene Standardkonfiguration sendet die Reports im Erfolgsfall automatisch und fragt im Misserfolgsfall nach, ob der Report vor dem Versand editiert werden soll.
edit_report? [default:ask/no pass/na:no]
Nun muss die Konfiguration noch gespeichert werden.
cpan> o conf commit
Die Konfigurationsdatei config.ini befindet sich im Heimatverzeichnis des aktuellen Benutzers im Unterverzeichnis .cpanreporter und kann mit einem beliebigen Text-Editor bearbeitet werden.
edit_report=default:ask/no pass/na:no email_from="Thomas Fahle" <cpan@thomas-fahle.de> send_report=default:ask/yes pass/na:yes
In diese Datei wird nun als zweiter Schritt der neue Transportmechanismus von Hand eingetragen.
email_from="Thomas Fahle" <cpan@thomas-fahle.de> send_report=default:ask/yes pass/na:yes edit_report=default:ask/no pass/na:no transport = Metabase uri http://metabase.cpantesters.org/beta/ id_file /home/tf/.cpanreporter/metabase_id.json
Der Transportmechanismus erwartet eine Profildatei (id_file) mit einem Shared Secret.
Dieses Profil dient z.B. zu richtigen Zuordnung der Tests und Tester im CPAN Testers Leaderboard.
Wer bereits Tests zu den CPAN-Testern geliefert hat, erhält eine vorgefertigte Profildatei nach Anforderung per E-Mail.
Neue Tester (m/w) können die Profildatei einfach mit dem Kommandozeilentool metabase-profile erstellen:
$ metabase-profile Enter full name: Thomas Fahle Enter email address: cpan@thomas-fahle.de Enter password/secret: 1234567890 Writing profile to 'metabase_id.json'
Diese Datei wird nun im Verzeichnis ~./cpanreporter abgelegt.
Da in dieser Datei das Passwort im Klartext steht, sollte man zu mindestens die Rechte für den Zugriff auf die Datei und auf das Verzeichnis .cpanreporter einschränken, z.B. chmod 600 metabase_id.json.
Hinweis zur Privatsphäre
Testberichte enthalten Informationen über das Testsystem, wie Umgebungsvariablen, Betriebssystem, installierte Bibliotheken usw.
Wer sich Sorgen um die Privatsphäre macht, sollte die Berichte zuvor editieren. Die dazu passende Konfiguration:
edit_report=default:ask/yes pass/na:yes
Werde CPAN-Tester
Es ist wirklich einfach CPAN-Test-Reporter zu sein. Je größer das Netzwerk der Tester, um so besser. Werde CPAN-Test-Reporter.
Siehe auch
- How to join the CPAN Testers 2.0 Public Beta
- Announcing CPAN Testers 2.0
- CPAN Testers Wiki: Getting Started
- Quick HowTo for CPAN Testers 2.0
- CPAN Testers project
- The CPAN Testers Wiki
- CPAN Testers Leaderboard
- CPAN::Reporter
- Test::Reporter::Transport::Metabase
- Metabase::Client::Simple
- Metabase::Fact
- Test::Reporter