文件最后提交记录最后更新时间
连续故障时阻塞问题 Co-authored-by: 吕有辉<lvyouhui@huawei.com> Co-authored-by: dljzx<juzhaoxun@huawei.com> Co-authored-by: xiayingqing<xiayingqing@huawei.com> # message auto-generated for no-merge-commit merge: !65 merge ras_linking into dev 连续故障时阻塞问题 Created-by: dljzx Commit-by: xiayingqing;dljzx;吕有辉 Merged-by: Katrina-CXY Description: <!-- PR描述模板更新日期:20251225 --> Fixes [#256](https://gitcode.com/Ascend/MindIE-LLM/issues/256) # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!652 个月前
修复assignN的UT报错 Co-authored-by: shenzhao<shenzhao9@huawei.com> # message auto-generated for no-merge-commit merge: !892 merge dev-0415-6 into dev 修复assignN的UT报错 Created-by: shenzhao Commit-by: shenzhao Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. fix part of [#510](https://gitcode.com/Ascend/MindIE-LLM/issues/510) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 修改UT,assignN校验修改后完善对应UT # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 不涉及 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 不涉及 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 测试拉起正常 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!8921 个月前
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!7082 个月前
[RFC]: 安全编译选项修改,禁止用runpath等 Co-authored-by: KaiMa<KaiMa_SDU@outlook.com> # message auto-generated for no-merge-commit merge: !932 merge options into dev [RFC]: 安全编译选项修改,禁止用runpath等 Created-by: KaiMa Commit-by: KaiMa Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 请描述为什么要做这个PR内的改动。\ > 如涉及,请关联前序PR或同特性/需求下的其他PR。\ > 如果是修复之前PR引入的问题,请关联引入问题的PR。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. Fixes #[533](https://gitcode.com/Ascend/MindIE-LLM/issues/533) # 修改内容 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。 # 测试结果 > 请说明测试场景,测试方法以及测试结果。\ > 测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [ ] 代码注释完备 - [ ] 正确记录错误日志 - [ ] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [ ] 进行了空指针校验 - [ ] 若存在资源申请,使用后资源被正确的释放了 - [ ] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [ ] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [ ] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!9321 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[dev]Synchronize code Co-authored-by: forcekeng<gengli8@huawei.com> 5 个月前
[doc ]修改doc tools工具扫描出来的低错问题 Co-authored-by: xiechangxiu<xiechangxiu3@h-partners.com> # message auto-generated for no-merge-commit merge: !708 merge dev into dev [doc ]修改doc tools工具扫描出来的低错问题 Created-by: ella07 Commit-by: x60087760;ella07;xiechangxiu Merged-by: ascend-robot Description: [#360](https://gitcode.com/Ascend/MindIE-LLM/issues/360) Doc tools工具问题清零。 See merge request: Ascend/MindIE-LLM!7082 个月前
提交DT运行和编译分离 Co-authored-by: chenzeyu<2978509328@qq.com> # message auto-generated for no-merge-commit merge: !995 merge dev into dev 提交DT运行和编译分离 Created-by: qq54010497 Commit-by: chenzeyu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20251225 --> # 合入背景 > 将UT的编译的和运行分离出来,以期能够在CI/CD中能够获得灵活性提高效率。\ > 不涉及。\ > 不涉及。\ > 注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代. [#351](https://gitcode.com/Ascend/MindIE-LLM/issues/351) # 修改内容 > 将原本的utils.cmake命令中的add_custom_target去掉,换成ctest运行时候设置环境。\ > 将去掉的ctest移动到run_all_tests.sh中,并调整相应的接口,提供给ci使用。 # 资料变更 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。 # 接口变更 >不涉及。 # 测试结果 > 主要与CI进行联调,CI联调通过 # CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。 - [x] 代码注释完备 - [x] 正确记录错误日志 - [x] 进行了返回值校验 (禁止使用void屏蔽安全函数、自研函数返回值;考虑接口的异常场景;调用底层组件接口时,需要进行返回值校验) - [x] 进行了空指针校验 - [x] 若存在资源申请,使用后资源被正确的释放了 - [x] 若涉及多线程场景,考虑了并发场景,不存在死锁问题 - [x] 按照[代码仓中提供的格式模板](https://gitcode.com/Ascend/MindIE-LLM/blob/master/.clang-format),使用clang-format工具格式化代码 - [x] 符合Ascend社区的编码规范。[C++ 语言编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-coding-style-guide.md) | [C++ 语言安全编程指导](https://gitcode.com/Ascend/community/blob/master/docs/contributor/Ascend-cpp-secure-coding-guide.md) See merge request: Ascend/MindIE-LLM!9955 天前
readme.md

DLT框架(Domain Layered Test Framework)

昇腾MindIE领域分层测试框架,让开发人员能够在不具备NPU环境下,仍能完成MindIE的基本功能开发,解除对复杂的周边组件依赖,整体框架遵循如下理念:

  • 可独立测试、尽可能模拟真实系统行为:MindIE周边依赖多,一个完整的推理请求,需要依赖于AI框架、CANN以及特定硬件条件,这使得开发者要在开发机上完成独立测试变得异常困难。独立测试的目标是要准确把握领域的边界,通过Test Double技术,使得对系统行为的模拟尽可能保持与实际环境一致,保证测试业务流程处理时序和真实环境一致,系统中的异步处理消息、事件等,序列保持一致,从而让开发人员能够在开发机上尽可能的完成完整业务流程的模拟。

  • 轻量级、单线程:测试工程尽可能轻量化,应避免引入不必要的模块、第三方库依赖,从而导致可调试性、可维护性变差,必须让测试过程可控,不可出现开发者测试用例需要跨团队支持,才能完成问题调试与定位情况

  • 高效率:运行结果需要尽可能在分钟级反馈,在用例执行层面要尽可能利用CPU资源,让CPU核满负荷运转,对于定时器、消息、事件处理应作到串行化与零等待,我们按测试金字塔原理对整个测试框架进行测试分层,分为ST(5%)、IT(15%)、UT(80%)三层,UT要做到秒级反馈

ut:单元测试,针对组件/模块/微服务内文件级粒度的功能测试用例集,在本测试框架中,被测组件与领域层对象共同组成单元测试。例如block_manager模块与依赖的领域对象sequence共同组成测试,其他依赖通过TestDouble进行依赖解除。在UT测试中,C语言则针对单个头文件中的函数,C++则是类公共接口, C++则会打开-fno-access-control选项,允许对private接口进行测试

it:集成测试,基于组件/模块/微服务接口的测试,是组件/模块/微服务的集成测试,在本项目中,llmmanager、engine、executor、scheduler、block_manager、sequence集成起来进行接口组合测试

st:系统测试/端到端测试,更大粒度的全系统端到端测试,例如:从MindService接收请求,一直到Modeling侧,直到请求结果返回,基于录制回放形式,对模型底层进行处理。