Next: Ejecución de Guix antes de estar instalado, Previous: Construcción desde Git, Up: Contribuir [Contents][Index]
Después de una ejecución exitosa de configure
y make
, es
una buena idea ejecutar la batería de pruebas. Puede ayudar a encontrar
problemas con la configuración o el entorno, o errores en el mismo Guix—e
informar de fallos en las pruebas es realmente una buena forma de ayudar a
mejorar el software. Para ejecutar la batería de pruebas, teclee:
make check
Los casos de prueba pueden ejecutarse en paralelo: puede usar la opción
-j
de GNU make para acelerar las cosas. La primera ejecución
puede tomar algunos minutos en una máquina reciente; las siguientes
ejecuciones serán más rápidas puesto que el almacén creado para las pruebas
ya tendrá varias cosas en la caché.
También es posible ejecutar un subconjunto de las pruebas definiendo la
variable de makefile TESTS
como en el ejemplo:
make check TESTS="tests/store.scm tests/cpio.scm"
Por defecto, los resultados de las pruebas se muestran a nivel de
archivo. Para ver los detalles de cada caso de prueba individual, es posible
definir la variable de makefile SCM_LOG_DRIVER_FLAGS
como en el
ejemplo:
make check TESTS="tests/base64.scm" SCM_LOG_DRIVER_FLAGS="--brief=no"
The underlying SRFI 64 custom Automake test driver used for the ’check’ test suite (located at build-aux/test-driver.scm) also allows selecting which test cases to run at a finer level, via its --select and --exclude options. Here’s an example, to run all the test cases from the tests/packages.scm test file whose names start with “transaction-upgrade-entry”:
export SCM_LOG_DRIVER_FLAGS="--select=^transaction-upgrade-entry" make check TESTS="tests/packages.scm"
Those wishing to inspect the results of failed tests directly from the
command line can add the --errors-only=yes option to the
SCM_LOG_DRIVER_FLAGS
makefile variable and set the VERBOSE
Automake makefile variable, as in:
make check SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1
The --show-duration=yes option can be used to print the duration of the individual test cases, when used in combination with --brief=no:
make check SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"
See Parallel Test Harness in GNU Automake for more information about the Automake Parallel Test Harness.
En caso de fallo, le rogamos que envíe un correo a bug-guix@gnu.org y adjunte el archivo test-suite.log. Por favor, especifique la versión de Guix usada así como los números de versión de las dependencias (see Requisitos) en su mensaje.
Guix también viene como una batería de pruebas del sistema completo que prueban instancias completas del sistema Guix. Se puede ejecutar únicamente en sistemas donde Guix ya está instalado, usando:
make check-system
o, de nuevo, definiendo TESTS
para seleccionar un subconjunto de las
pruebas a ejecutar:
make check-system TESTS="basic mcron"
Estas pruebas de sistema están definidas en los módulos (gnu tests
…)
. Funcionan ejecutando el sistema operativo con una instrumentación
ligera en una máquina virtual (VM). Pueden ser computacionalmente intensivas
o bastante baratas, dependiendo de si hay sustituciones disponibles para sus
dependencias (see Sustituciones). Algunas requieren mucho espacio de
almacenamiento para alojar las imágenes de la máquina virtual.
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 nuevo, en caso de fallos en las pruebas, le rogamos que envíe a bug-guix@gnu.org todos los detalles.
Next: Ejecución de Guix antes de estar instalado, Previous: Construcción desde Git, Up: Contribuir [Contents][Index]