Open Source im professionellen Einsatz
Linux-Magazin 05/2016
479

Teil des Ganzen

Besteht der Systemtest aus einem oder mehreren solcher Testskripte, ist es üblich, diese mit einem Testrunner wie »prove« zu starten, der der Perl-Distribution beiliegt. Dieses Tool schluckt die Ausgabe einzelner Tests und gibt im Erfolgsfall nur eine Zusammenfassung des Ergebnisses aus. Im Fehlerfall kommen hingegen weitere Details hoch, die helfen, die Ursache einzukreisen. Abbildung 4 zeigt die Ausgabe im Erfolgsfall, und es bietet sich an, nicht nur ein, sondern gleich mehrere Skripte, eventuell mit Hilfe eines Glob-Zeichens wie in

Abbildung 4: Der Testrunner prove fasst die Ausgabe einer oder mehrerer Testskripte zusammen.
$ prove "/var/tests/*"

ablaufen zu lassen. Wichtig ist, dass alles automatisch läuft und die Einzelschritte keine manuellen Eingriffe erfordern.

Gut verpackt

Wie zieht sich nun Münchhausen an den Haaren aus dem Sumpf, wie kommt die Testsuite anfangs auf das System mit der zu testenden Installation? Es bietet sich an, das Testskript in ein Paket im Format der verwendeten Distribution zu verschnüren, es im Repository abzulegen und bei Bedarf mittels des Paketmanagers von dort zu installieren.

Am einfachsten geht das mit dem Paketschnürer »fpm« [4], der Debians ».deb« - und Red Hats ».rpm« - sowie das ».pkg« -Format von OS X beherrscht. Abbildung 5 zeigt das Schnüren eines Debian-Pakets »allmytests« . Da das Skript das CPAN-Modul Path::Tiny benötigt, das glücklicherweise bereits als »libpath-tiny-perl« im Debian-Repository existiert, bindet es »fpm« einfach mit der Option »-d« ein. Installiert der User per »sudo apt-get install« das »allmytests« -Paket vom Repository, holt der Paketmanager das abhängige Paket kurzerhand von dort und löst die Abhängigkeit elegant auf.

Abbildung 5: Der Paket-Tausendsassa fpm baut aus der Testsuite ein Debian-Paket.

Ist der Perl-Core nicht Teil der Distribution, kommt er auf die gleiche Weise mit einer weiteren Option »-d« aufs System. Fehlt ein CPAN-Modul in der Distribution, hilft das in einer zurückliegenden Ausgabe bereits vorgestellte Carton-Modul [5], es mit der Testsuite zu bündeln. Mit einer stetig wachsenden Testsuite lässt sich auch bei flexiblen Änderungen Stabilität garantieren und Regression vermeiden.

Online PLUS

Im Screencast demonstriert Michael Schilli das Beispiel: http://www.linux-magazin.de/Ausgaben/2016/05/plus

Infos

  1. Listings zu diesem Artikel: ftp://www.linux-magazin.de/pub/listings/magazin/2016/05/Perl
  2. LDTP (Linux Desktop Test Project): https://ldtp.freedesktop.org/wiki/
  3. Michael Schilli, "Ordnungshalber": Linux-Magazin 12/15, S. 94, http://www.linux-magazin.de/Ausgaben/2015/12/Perl-Snapshot
  4. "Effing Package Management: fpm": https://github.com/jordansissel/fpm/wiki
  5. Michael Schilli, "Aus dem Nähkästchen": Linux-Magazin 01/16, S. 94, http://www.linux-magazin.de/Ausgaben/2016/01/Perl-Snapshot

Der Autor

Michael Schilli arbeitet als Software Engineer in der San Francisco Bay Area in Kalifornien. In seiner seit 1997 laufenden Kolumne forscht er jeden Monat nach praktischen Anwendungen der Skriptsprache Perl. Unter mailto:mschilli@perlmeister.com beantwortet er gerne Fragen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Desktops testen: LDTP 1.0.0 erschienen

    Drei Jahre nach der initialen Version wagt sich das Linux Desktop Testing Project (LDTP) an Version 1.0 heran.

  • GUI-Testing: LDTP 3.5 führt Perl-Client ein

    LDTP, ein Tool für automatisierte GUI-Tests unter Linux, ist in Version 3.5 mit neuen Features verfügbar.

  • LDTP 3: GUI-Automatisierung auch mit Java und Ruby

     

    Das Linux Desktop Testing Project (LDTP) hat seine Software für die GUI-Automatisierung in Version 3 mit neuen Features veröffentlicht.

  • Perl-Snapshot

    Das überlichtgeschwinde Provisionierungstool Ansible eignet sich nicht nur für Konfigurations- und Releasemanagement mittelgroßer Serverfarmen, sondern auch für den Hausgebrauch, zum Restaurieren von Anpassungen auf dem Linux-Desktop daheim.

  • Perl-Snapshot

    Etiketten bringen Ordnung in den Kabelverhau am Heim-Router und helfen beim Zuordnen von in Kisten gelagertem Plunder. Mit einigen Handgriffen druckt Michael Schillis Labelwriter sogar unter Linux.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.