如果run_test.py上有错误,如何使conda包构建失败

时间:2015-01-07 18:10:01

标签: python anaconda conda

我正在创建一个conda配方,并添加了run_test.py。这些是单元测试类。 不幸的是,当出现错误时,仍然会创建包。

我的问题是,如何通知conda测试失败,并且不应继续使用包构建。

run_test.py包含:

  

suit = unittest.TestLoader()。discover(“../ tests / unitTest”)#,pattern =“test [AP] [la] * [sr] .py”)   unittest.TextTestRunner(verbosity = 2).run(suit)

我确实在meta.yaml中添加了文件

  

试验:    文件:       - ../ tests / unittest /

这是输出:

  

在2.550s中进行16次测试

     

失败(错误= 5)

     

===== PACKAGE-NAME-None-np18py27_0 OK ====

我想停止构建

2 个答案:

答案 0 :(得分:2)

脚本需要退出非零值。如果测试失败,请在脚本中调用sys.exit(1)

答案 1 :(得分:2)

run_test.py中,您可以通过执行以下操作来调用unittest.main()

if __name__ == "__main__":
    unittest.main()

如果测试不成功,conda构建过程将自动失败。此链接有助于演示:invoking unittest main method