Próximo: Executando guix antes dele ser instalado, Anterior: Compilando do git, Acima: Contribuindo [Conteúdo][Índice]
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"
O driver de teste Automake personalizado SRFI 64 subjacente usado para o conjunto de testes ’check’ (localizado em build-aux/test-driver.scm) também permite selecionar quais casos de teste executar em um nível mais fino, por meio de suas opções --select e --exclude. Aqui está um exemplo, para executar todos os casos de teste do arquivo de teste tests/packages.scm cujos nomes começam com “transaction-upgrade-entry”:
export SCM_LOG_DRIVER_FLAGS="--select=^transaction-upgrade-entry" make check TESTS="tests/packages.scm"
Aqueles que desejam inspecionar os resultados de testes com falha
diretamente da linha de comando podem adicionar a opção
--errors-only=yes à variável makefile SCM_LOG_DRIVER_FLAGS
e
definir a variável makefile do Automake VERBOSE
, como em:
make check SCM_LOG_DRIVER_FLAGS="--brief=no --errors-only=yes" VERBOSE=1
A opção --show-duration=yes pode ser usada para imprimir a duração dos casos de teste individuais, quando usada em combinação com --brief=no:
make check SCM_LOG_DRIVER_FLAGS="--brief=no --show-duration=yes"
Veja Parallel Test Harness em GNU Automake para mais informações sobre o 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 (veja 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
(veja Substitutos). Alguns deles exigem muito espaço de armazenamento
para armazenar imagens de VM.
Se você encontrar um erro como:
Compilando módulos do Scheme... ice-9/eval.scm:142:16: No procedimento compile-top-call: erro: all-system-tests: variável não vinculada dica: Você esqueceu `(use-modules (gnu tests))'?
pode haver inconsistências na árvore de trabalho de compilações
anteriores. Para resolver isso, tente executar make clean-go
seguido por make
.
Novamente, em caso de falhas nos testes, por favor envie bug-guix@gnu.org todos os detalhes.
Próximo: Executando guix antes dele ser instalado, Anterior: Compilando do git, Acima: Contribuindo [Conteúdo][Índice]