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

Standarddrucker

Findet »lpstat« einen Default-Drucker, ist dies schon einmal ein Zeichen, dass die neu installierte Distribution richtig konfiguriert ist. Für weitere Tests muss das Skript tatsächlich einen Druckauftrag abschicken. Wer kein Papier investieren will, sollte »lptest-default« mit der Option »--norealprint« aufrufen, dann überspringt das Testskript den mit »SKIP« markierten Bereich ab Zeile 24. In diesem Fall zeigt die Ausgabe die eingeschränkte Testabdeckung:

$ ./lptest-default --norealprint
ok 1 - found default printer MFC7420
ok 2 # skip printing disabled
1..2

Die in Zeile 8 aufgerufene Funktion »GetOptions()« definiert hierzu den Kommandozeilen-Parameter »--realprint« , den Zeile 7 von Haus aus auf »1« setzt, also ohne Zutun des Users den Echtdruck ausführt. Das Ausrufezeichen am Ende der Option »realprint!« weist »GetOptions()« an, dass die Verneinung mit »--norealprint« auf der Kommandozeile die Variable »$realprint« im Skript auf einen falschen Wert setzt und damit den tatsächlichen Druck deaktiviert.

Ans Eingemachte

Im Normalfall eines richtigen Drucktests schaut der Aufruf von »lpq_busy()« in Zeile 29 mit der ab Zeile 49 definierten Funktion über »lpq« nach, ob die Druckerschlange einen Auftrag enthält. Die Warteschlange ist bei einem neu installierten System leer, also meldet der Test in Zeile 29 Erfolg, falls »lpq_busy()« einen falschen Wert zurückliefert.

Anschließend schreibt die Funktion »spew()« des CPAN-Moduls Path::Tiny einen Textstring in eine temporäre Datei, die »system()« mit dem Kommandozeilentool »lpr« an die Druckerschlange schickt. Der Aufruf von »lpr« sollte einen Exit-Code von »0 « liefern, was die Testsuiten-Funktion »is« verifiziert. Kehrt »lpr« zurück, steht der Auftrag bereits in der Druckerschlange und ein nachfolgender Aufruf von »lpq« zeigt ihn dort an.

Die »while« -Schleife ab Zeile 40 untersucht nun im Sekundentakt, ob der Auftrag irgendwann aus der Schlange verschwindet, was ein untrügliches Zeichen dafür ist, dass er tatsächlich auf dem Drucker gelandet und der Test damit endgültig erfolgreich abgeschlossen ist.

Nach diesen fünf Tests beendet »done_testing()« in Zeile 47 den Reigen und meldet der steuernden Testsuite mit dem Textstring »1..5« , dass auch nichts zwischendurch abgestürzt ist.

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.