Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Computer
waf では、デフォルトでは、単体試験 (waf_unit_test) が失敗してもビルドは成功扱いになります。
以下のように 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()
なお、ここでは単体試験の成功/失敗を終了コードで判定していますので、必要に応じてカスタマイズしてください。

Comments

Leave Yours...
Name:
E-mail / URL (optional):
Comment:
Are You Robot?: