Suivant: , Précédent: , Monter: Installation   [Table des matières][Index]


2.3 Lancer la suite de tests

Après avoir lancé configure et make correctement, c’est une bonne idée de lancer la suite de tests. Elle peut aider à trouver des erreurs avec la configuration ou l’environnement, ou des bogues dans Guix lui-même — et vraiment, rapporter des échecs de tests est une bonne manière d’aider à améliorer le logiciel. Pour lancer la suite de tests, tapez :

make check

Les cas de tests peuvent être lancés en parallèle : vous pouvez utiliser l’option -j de GNU make pour accélérer les choses. Le premier lancement peut prendre plusieurs minutes sur une machine récente ; les lancements suivants seront plus rapides car le dépôt créé pour les tests aura déjà plusieurs choses en cache.

Il est aussi possible de lancer un sous-ensemble des tests en définissant la variable makefile TESTS comme dans cet exemple :

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

Par défaut, les résultats des tests sont affichés au niveau du fichier. Pour voir les détails de chaque cas de test individuel, il est possible de définir la variable makefile SCM_LOG_DRIVER_FLAGS comme dans cet exemple :

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

Le pilote de tests Automake personnalisé avec SRFI 64 utilisé pour la suite de tests « check » (située dans build-aux/test-driver.scm) permet aussi de choisir les cas de test à lancer à plus fine granularité, via ses options --select et --exclude. Voici un exemple, pour lancer tous les cas de tests du fichier de tests tests/packages.scm dont les noms commencent par « transaction-upgrade-entry » :

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

Pour celles et ceux qui veulent inspecter les résultats des tests échoués directement depuis la ligne de commande, il est possible d’ajouter l’option --errors-only=yes à la variable SCM_LOG_DRIVER_FLAGS du Makefile et d’initialiser la variable Automake du Makefile VERBOSE, de cette manière :

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

L’option --show-duration=yes peut être utilisée pour afficher la durée des cas de test individuels, en combinaison avec --brief=no :

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

Voir Parallel Test Harness dans GNU Automake pour plus d’information sur le banc de tests parallèle d’Automake.

Après un échec, envoyez un courriel à bug-guix@gnu.org et attachez le fichier test-suite.log. Précisez la version de Guix utilisée ainsi que les numéros de version de ses dépendances (voir Prérequis) dans votre message.

Guix possède aussi une suite de tests de systèmes complets qui test des instances complètes du système Guix. Elle ne peut être lancée qui sur un système où Guix est déjà installé, avec :

make check-system

ou, de nouveau, en définissant TESTS pour choisir un sous-ensemble des tests à lancer :

make check-system TESTS="basic mcron"

Ces tests systèmes sont définis dans les modules (gnu tests …). Ils fonctionnent en lançant les systèmes d’exploitation sous test avec une instrumentation légère dans une machine virtuelle (VM). Ils peuvent être intenses en terme de calculs ou plutôt rapides en fonction de la disponibilité des substituts de leurs dépendances (voir Substituts). Certains requièrent beaucoup d’espace disque pour contenir les images des VM.

De nouveau, en cas d’échec, envoyez tous les détails à bug-guix@gnu.org.


Suivant: Paramétrer le démon, Précédent: Prérequis, Monter: Installation   [Table des matières][Index]