-
Notifications
You must be signed in to change notification settings - Fork 5.6k
PaddlePaddle Unit test specification
YUNSHEN XIE edited this page Aug 30, 2021
·
3 revisions
- PR新增代码需要保证行覆盖率达到90%。
- 单测中需要有充分的断言检查。
- 单测case禁止使用test1/test2等无实际含义的命名方式。
- 每个单测需要有明确的负责人。
- 单测代码本身的依赖环境,如MPI等,由负责该单测的相应团队的同学来解决。
- code review需要对单测代码进行有无断言和结果校验的的检查。
(1)单测随机失败以及disable单测需要在icafe空间创建卡片跟进维护:http://newicafe.baidu.com/v5/space/PaddleUT/dashboard/i?click=true
(2)卡片由QA验证后关闭。
(3)如果disable单测,请RD同学更新流程状态为“Disable”,更新“Disable时间”、“Disable PR”字段。
(4)QA验证是否修复的方式是“修复PR”字段有对应pr,并且该单测3天内未出现失败。
(5)造成大量CI任务失败且短时间内难以修复的随机失败单测建议先disable并尽快修复。
(1)单测随机失败创建卡片后,3天内卡片状态是未修复或6天内未关闭,限制单测负责人pr合入,直至问题修复后恢复。
(2)disable单测14天内卡片状态是未修复或17天内卡片未关闭,限制单测负责人pr合入,直至问题修复后恢复。
(3)在限制pr合入后,对于修复随机失败单测问题的pr,经过QA确认后解除对该pr的限制。
(1)如果需要延长单测修复时间,应由相应团队经理在卡片中评论并给出建议延长的时间,并告知QA((xieyunshen 谢云燊 或 liuxudong04 刘续东)。
(1)原则上不允许删单测,如果有特殊原因删单测,需要告知QA创建卡片记录,并从单测列表中删除,否则视为disable单测(要求修复时间)。
(1)由于单测数量多,可以并行执行的单测,禁止独占执行,单个单测的耗时控制在15S以内。
-
独占,两卡单测(
RUN_TYPE=EXCLUSIVE
和RUN_TYPE=DIST
)需要QA approval,除非必须,否则不建议修改。 - 其他自定义设置TIMEOUT字段,必须由指定QA approve才能merge