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

Weitere Posts