【问题标题】:How to fail a conda package build when there are errors on run_test.py当 run_test.py 出现错误时如何使 conda 包构建失败
【发布时间】:2015-01-07 18:10:00
【问题描述】:

我正在创建一个 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.550 秒内运行 16 次测试

失败(错误=5)

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

我想停止构建

【问题讨论】:

    标签: python anaconda conda


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 这是规范的答案。 遗憾的是,与往常一样,公认的答案更加模棱两可,因此实际用处不大。 这就是为什么我们不能有好的 StackOverflow 东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-07
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      相关资源
      最近更新 更多