Category:
Computer
waf では、デフォルトでは、単体試験 (waf_unit_test) が失敗してもビルドは成功扱いになります。
以下のように wscript を記述すると、単体試験失敗時にビルドも失敗扱いにすることができます。
以下のように wscript を記述すると、単体試験失敗時にビルドも失敗扱いにすることができます。
from waflib.Tools import waf_unit_testなお、ここでは単体試験の成功/失敗を終了コードで判定していますので、必要に応じてカスタマイズしてください。
from waflib.Errors import BuildError
# ... snip ...
def build(bld):
bld.recurse("src")
bld.add_post_fun(waf_unit_test.summary)
bld.add_post_fun(ensure_unittest_passed)
def ensure_unittest_passed(bld):
for (f, code, out, err) in getattr(bld, 'utest_results', []):
if code:
raise BuildError()