unit/func 테스트의 테스트 결과를 표시하기 위해 ctx.msg_start()
및 ctx.msg_end()
as used in check_cfg을 사용하려고합니다. 그러나 아래의 코드를 통해 항상 추가 "-----"인쇄물을 얻고 실제 텍스트는 두 번 인쇄됩니다 (두 번째 패스는 원본에서 녹색으로 표시됨).waf - strings가 두 번 프린트 됨
---------------------------------------- 테스트 실행 테스트 : PASSEDPASSED
class voodoo(Task.Task):
run(self):
self.generator.bld.start_msg("Running test")
proc = Utils.subprocess.Popen(self.gt_exec,\
cwd=cwd,\
env=fu,\
stderr=Utils.subprocess.PIPE,\
stdout=Utils.subprocess.PIPE)
(out, err) = proc.communicate()
if proc.returncode==0:
self.generator.bld.end_msg ("PASSED\n", 'GREEN');
else:
self.generator.bld.end_msg ("FAIL", 'YELLOW');
소스는 output is somewhat expected하지만 왜/어떻게 check_cfg
에서 작동 않음을 보여줍니다? 빌드 컨텍스트의 .to_log()
메서드를 어떻게 재정의 할 수 있습니까?