5

我有一个脚本系统的 make 文件,有很多测试应该通过。每个测试都是对脚本应用程序的单独调用:

#----------------------------------------------------------------------------
# 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
    ...

这很好。我也有一些类似的测试应该返回失败。我知道这-会忽略返回状态,但是必须有一些简单的方法来反转返回状态,这样我才能运行

#----------------------------------------------------------------------------
# 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
    ...
4

2 回答 2

8

使用!命令。

echo This returns success
! echo This returns failure
于 2009-10-09T20:52:26.640 回答
1

假设您要确保“bin/kin test5.kin”的退出状态为5。那么只需这样写:

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

有关更详细的测试,请参阅“帮助测试”和“人工测试”。

注意:我倾向于避免使用感叹号,因为通常不可能将它们复制/粘贴到交互式 shell 中(因为它会搜索历史记录)。

于 2010-11-10T00:55:41.027 回答