Next: , Previous: , Up: Instalação   [Contents][Index]


2.3 Executando a suíte de testes

Depois que um configure e make bem-sucedido forem executados, é uma boa ideia executar o conjunto de testes. Ele pode ajudar a detectar problemas com a configuração ou o ambiente, ou com bugs no próprio Guix – e realmente, relatar falhas de teste é uma boa maneira de ajudar a melhorar o software. Para executar o conjunto de testes, digite:

make check

Os casos de teste podem ser executados em paralelo: você pode usar a opção -j do GNU make para acelerar as coisas. A primeira execução pode levar alguns minutos em uma máquina recente; as execuções subsequentes serão mais rápidas porque o armazém criado para fins de teste já terá vários itens no cache.

Também é possível executar um subconjunto dos testes definindo a variável makefile TESTS como neste exemplo:

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

Por padrão, os resultados dos testes são exibidos em um nível de arquivo. Para ver os detalhes de cada caso de teste individual, é possível definir a variável makefile SCM_LOG_DRIVER_FLAGS como neste exemplo:

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.

Em caso de falha, envie um e-mail para bug-guix@gnu.org e anexe o arquivo test-suite.log. Por favor, especifique a versão do Guix que está sendo usada, bem como os números de versão das dependências (see Requisitos) em sua mensagem.

O Guix também vem com um conjunto de testes de sistema completo que testa instâncias completas do Guix System. Ele só pode ser executado em sistemas nos quais o Guix já está instalado, usando:

make check-system

ou, novamente, definindo TESTS para selecionar um subconjunto de testes a serem executados:

make check-system TESTS="basic mcron"

Esses testes de sistema são definidos nos módulos (gnu tests …). Eles trabalham executando os sistemas operacionais em teste com instrumentação leve em uma máquina virtual (VM). Eles podem ser computacionalmente intensivos ou bastante baratos, dependendo se os substitutos estão disponíveis para suas dependências (see Substitutos). Alguns deles exigem muito espaço de armazenamento para armazenar imagens de VM.

Novamente, em caso de falhas nos testes, por favor envie bug-guix@gnu.org todos os detalhes.


Next: Configurando o daemon, Previous: Requisitos, Up: Instalação   [Contents][Index]