仓颉测试框架TPC-Test-Framework进阶配置case_config.cfg三种方式自动下载第三方动态库【免费下载链接】TPC-Test-Framework仓颉用例执行脚本项目地址: https://gitcode.com/Cangjie-TPC/TPC-Test-FrameworkTPC-Test-Framework是面向纯仓颉项目的测试框架可一键执行 LLT 和 HLT 测试用例。本文介绍如何用case_config.cfg配置文件的三种方式——git、url、cjpm——自动下载第三方动态库免去手动拉库、配路径的繁琐操作。为什么需要自动下载第三方库跑仓颉测试用例时如果你的用例依赖了第三方动态库.so/.a/.cjo等通常要手动做三件事找到库的下载地址拉取到本地把库目录加进编译链接路径-L、-l把.cjo包导入路径加进--import-path。TPC-Test-Framework 把这三步全部自动化了只要在测试目录放一份case_config.cfg脚本执行测试前就会自动下载、编译、链接第三方库运行时会打印实际使用的 cjc 编译命令方便排查。快速上手放置配置文件先克隆仓库git clone https://gitcode.com/Cangjie-TPC/TPC-Test-Framework把ci_test目录复制到你的测试项目中需与src同级然后在test/LLT/或test/HLT/目录下新建case_config.cfg。配置文件对所在目录下所有用例生效目录里没有配置文件就不会做任何外部库处理。[external_libs] mylib git:https://gitcode.com/Cangjie-TPC/somelib.git,master下载后的库统一存放在test/libs/目录自动加入-L/-l链接选项扫到的.cjo文件会自动加入--import-path。三种下载方式详解1. git 方式直接克隆仓库取库适合库以源码仓库形式发布、且仓库里已经带现成库文件的场景。[external_libs] mylib git:https://gitcode.com/Cangjie-TPC/somelib.git,master格式为key git:仓库地址,分支名分支可省略默认master。脚本会执行git clone -b 分支 --depth1浅克隆仓库然后扫描其中的.so/.a/.dylib/.dll/.lib文件添加到链接路径.cjo文件添加到--import-path。实现见 ci.py。2. url 方式直接下载现成文件适合你手上只有一个.so或.zip包下载链接的场景最轻量。[external_libs] mylib2 url:https://example.com/libmylib.so脚本会把文件下载到test/libs/mylib2/目录如果是.zip包会自动解压并删除压缩包再扫描文件加入链接路径。实现见 ci.py。3. cjpm 方式克隆后用 cjpm 现场编译最强大的方式库仓库里只有源码时自动进入指定子目录执行cjpm update cjpm build把源码现场编译成可用的.cjo和.so。[external_libs] image cjpm:https://gitcode.com/Cangjie-TPC/ci_lib.git,lib_QRCode4cj,src/image/image格式为key cjpm:仓库地址,分支名,子目录路径子目录须指向包含cjpm.toml或module.json的项目根目录。如果子目录不存在比如仓库结构变了脚本会自动搜索仓库中含cjpm.toml的目录作为编译目录。cjpm 方式还有三个贴心设计详见 ci.py✅重复编译保障即使仓库已存在也会重新cjpm build确保.cjo与当前 cjc 版本兼容避免validation of ast file failed报错旧产物清理编译成功后自动清理target/之外的旧预编译产物避免版本冲突和重复链接⚙️运行时路径自动把target/下含.so的目录加入LD_LIBRARY_PATHmacOS 为DYLD_LIBRARY_PATH保证运行时能正确加载动态库。三种方式怎么选方式适用场景脚本实际动作git:仓库里已有现成库文件浅克隆 扫描库文件url:只有一个文件/压缩包链接直接下载.zip自动解压cjpm:仓库里只有源码克隆 cjpm build现场编译一句话建议有现成文件用url仓库带产物用git只有源码才上cjpm。顺带一提其他实用配置段case_config.cfg不仅能配库还支持屏蔽用例和前后置脚本完整示例见 ci_test/README.md[skip] cases test_case1, test_case2 # 逗号分隔执行时跳过 [global_setup] script ./global_setup.sh # 所有用例前跑一次 [pre_setup] test_case1 ./setup.sh # 单用例前置脚本常见问题速答Q改完配置没生效确认文件放在test/LLT/或test/HLT/目录下每个测试目录需要自己的配置并检查ci_test.cfg中[test-home]的目录是否正确参考 ci_test.cfg。Q库下载失败了日志中会打印git clone 失败/下载失败警告多为网络或地址问题cjpm 方式编译失败会提示cjpm build 失败并回退使用仓库已有产物。Q下载逻辑在源码哪里核心函数setup_external_libs位于 ci_test/ci.py配合 ciTest.py 的llt/hlt命令即可在测试流程中自动执行。配好case_config.cfg之后一条ciTest.py llt或ciTest.py hlt就能搞定从拉库到跑用例的全部工作——这就是 TPC-Test-Framework 帮你把环境搭建变成零操作的进阶配置。【免费下载链接】TPC-Test-Framework仓颉用例执行脚本项目地址: https://gitcode.com/Cangjie-TPC/TPC-Test-Framework创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
Kornia 四元数(Quaternion)模块全解析:三维旋转的表示、运算与转换实战指南 Kornia 四元数(Quaternion)模块全解析:三维旋转的表示、运算与转换实战指南 【免费下载链接】kornia 🐍 Geometric Computer Vision Library for Spatial AI 项目地址: https://gitcode.com/gh_mirrors/ko/kornia
导读
本… · 2026/9/24 13:47:17
ONNX 模型仓库 Faster R-CNN R-50-FPN 实战指南:预处理、推理、后处理与 INT8 量化 ONNX 模型仓库 Faster R-CNN R-50-FPN 实战指南:预处理、推理、后处理与 INT8 量化 【免费下载链接】models A collection of pre-trained, state-of-the-art models in the ONNX format 项目地址: https://gitcode.com/gh_mirrors/model/models
Faster R-C… · 2026/9/24 13:47:17
Keil System Viewer外设寄存器缺失排查:从SVD文件到DBGMCU调试冻结 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:47:11
深入解析 OpenKruise:Kubernetes 增强工作负载与原地升级实战指南 深入解析 OpenKruise:Kubernetes 增强工作负载与原地升级实战指南 【免费下载链接】kubernetes-handbook Kubernetes 架构与生态:从云原生到 AI 原生基础设施的构建指南 项目地址: https://gitcode.com/gh_mirrors/ku/kubernetes-handbook
OpenKr… · 2026/9/24 14:24:38
StoryDiffusion:长序列故事图像生成工具,让多帧漫画中的角色保持一致 StoryDiffusion:长序列故事图像生成工具,让多帧漫画中的角色保持一致 【免费下载链接】StoryDiffusion Accepted as [NeurIPS 2024] Spotlight Presentation Paper 项目地址: https://gitcode.com/GitHub_Trending/st/StoryDiffusion
StoryDiffus… · 2026/9/24 14:24:32
IronClaw 能力调用膜(CapabilityHost):特权效果的单一授权入口架构解析 人工智能AI 应用交互助手AI Agent 【免费下载链接】ironclaw IronClaw is an Agent OS focused on privacy, security and extensibility 项目地址: https://gitcode.com/gh_mirrors/iro/ironclaw 点击查看 免费下载 导读
本文以 crates/kernel/ironclaw_capabili… · 2026/9/24 14:24:32
ESP32 SPI驱动W5500以太网实战:从原理到代码 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:24:26
SL651-2014实战解码:HEX报文快速定位与CRC/BCD精准解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:24:26
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44