Nächste: , Vorige: , Nach oben: Installation   [Inhalt][Index]


2.3 Den Testkatalog laufen lassen

Nachdem configure und make erfolgreich durchgelaufen sind, ist es ratsam, den Testkatalog auszuführen. Er kann dabei helfen, Probleme mit der Einrichtung oder Systemumgebung zu finden, oder auch Probleme in Guix selbst – und Testfehler zu melden ist eine wirklich gute Art und Weise, bei der Verbesserung von Guix mitzuhelfen. Um den Testkatalog auszuführen, geben Sie Folgendes ein:

make check

Testfälle können parallel ausgeführt werden. Sie können die Befehlszeiltenoption -j von GNU make benutzen, damit es schneller geht. Der erste Durchlauf kann auf neuen Maschinen ein paar Minuten dauern, nachfolgende Ausführungen werden schneller sein, weil der für die Tests erstellte Store schon einige Dinge zwischengespeichert haben wird.

Es ist auch möglich, eine Teilmenge der Tests laufen zu lassen, indem Sie die TESTS-Variable des Makefiles ähnlich wie in diesem Beispiel definieren:

make check TESTS="tests/store.scm tests/cpio.scm"

Standardmäßig werden Testergebnisse pro Datei angezeigt. Um die Details jedes einzelnen Testfalls zu sehen, können Sie wie in diesem Beispiel die SCM_LOG_DRIVER_FLAGS-Variable des Makefiles definieren:

make check TESTS="tests/base64.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"

Mit dem eigens geschriebenen SRFI-64-Testtreiber für Automake, über den der „check“-Testkatalog läuft (zu finden in build-aux/test-driver.scm), können auch die Testfälle genauer ausgewählt werden, die ausgeführt werden sollen. Dazu dienen dessen Befehlszeilenoptionen --select und --exclude. Hier ist ein Beispiel, um alle Testfälle aus der Testdatei tests/packages.scm auszuführen, deren Name mit „transaction-upgrade-entry“ beginnt:

export SCM_LOG_DRIVER_FLAGS="--select=^transaction-upgrade-entry"
make check TESTS="tests/packages.scm"

Möchte man die Ergebnisse fehlgeschlagener Tests direkt über die Befehlszeile einsehen, fügt man die Befehlszeilenoption --errors-only=yes in die Makefile-Variable SCM_LOG_DRIVER_FLAGS ein und setzt Automakes Makefile-Variable VERBOSE, etwa so:

make check SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1

Sie können die Befehlszeilenoption --show-duration=yes benutzen, damit ausgegeben wird, wie lange jeder einzelne Testfall gebraucht hat, in Kombination mit --brief=no:

make check SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"

Siehe Parallel Test Harness in GNU Automake für mehr Informationen über den parallelen Testrahmen von Automake.

Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an bug-guix@gnu.org und fügen Sie die Datei test-suite.log als Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version von Guix an sowie die Versionsnummern der Abhängigkeiten (siehe Voraussetzungen).

Guix wird auch mit einem Testkatalog für das ganze System ausgeliefert, der vollständige Instanzen des „Guix System“-Betriebssystems testet. Er kann nur auf Systemen benutzt werden, auf denen Guix bereits installiert ist, mit folgendem Befehl:

make check-system

Oder, auch hier, indem Sie TESTS definieren, um eine Teilmenge der auszuführenden Tests anzugeben:

make check-system TESTS="basic mcron"

Diese Systemtests sind in den (gnu tests …)-Modulen definiert. Sie funktionieren, indem Sie das getestete Betriebssystem mitsamt schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen (siehe Substitute). Manche von ihnen nehmen viel Speicherplatz in Anspruch, um die VM-Abbilder zu speichern.

Auch hier gilt: Falls Testfehler auftreten, senden Sie bitte alle Details an bug-guix@gnu.org.


Nächste: Den Daemon einrichten, Vorige: Voraussetzungen, Nach oben: Installation   [Inhalt][Index]