Pergunta

Eu tenho um arquivo para um sistema com script, com muitos testes que devem passar. Cada teste é uma chamada separada para o aplicativo de script:

#----------------------------------------------------------------------------
# run test scripts in the module::test
#----------------------------------------------------------------------------
scripted_tests: bin/kin modules/test/actor_equality.kin modules/test/actor_fibre.kin ...
    bin/kin modules/test/actor_equality.kin
    bin/kin modules/test/actor_fibre.kin
    ...

O que é bom. Eu também tenho alguns testes semelhantes que devem retornar a falha. eu sei que - irá ignorar o status de retorno, mas deve haver algo simples para inverter o status de retorno para que eu possa executar

#----------------------------------------------------------------------------
# run test scripts in the module::test::errors
#----------------------------------------------------------------------------
inverse_tests: bin/kin modules/test/error/bad_function.kin ...
    not bin/kin modules/test/error/bad_function.kin
    ...
Foi útil?

Solução

Use o ! comando.

echo This returns success
! echo This returns failure

Outras dicas

Suponha que você queira ter certeza de que o status de saída de "Bin/Kin Test5.kin" é 5. Então escreva isso:

run-test5:
  bin/kin test5.bin; test $$? = 5

Para testes mais elaborados, consulte 'Teste de ajuda' e 'teste de homem'.

NOTA: Costumo evitar marcas de exclamação, porque é normalmente impossível copiá -las/colá -las em um shell interativo (uma vez que pesquisa a história).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top