Suivant: Lancer Guix avant qu’il ne soit installé, Précédent: Construire depuis Git, Monter: Contribuer [Table des matières][Index]
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.
If you encounter an error like:
Compiling Scheme modules... ice-9/eval.scm:142:16: In procedure compile-top-call: error: all-system-tests: unbound variable hint: Did you forget `(use-modules (gnu tests))'?
there may be inconsistencies in the work tree from previous builds. To
resolve this, try running make clean-go
followed by
make
.
De nouveau, en cas d’échec, envoyez tous les détails à bug-guix@gnu.org.
Suivant: Lancer Guix avant qu’il ne soit installé, Précédent: Construire depuis Git, Monter: Contribuer [Table des matières][Index]