You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cbmc/codedetect/tests/config/ci_config.yaml

98 lines
1.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# CodeDetect CI配置
# 测试配置
test:
# 测试类型
types:
- unit
- integration
- regression
# 性能测试配置
performance:
enabled: false # 默认禁用在nightly运行中启用
timeout: 300 # 5分钟超时
memory_threshold: 1024 # 1GB内存阈值
# 质量门控
quality:
# 测试覆盖率要求
coverage:
minimum: 80 # 最小覆盖率
line_coverage: 75 # 行覆盖率
branch_coverage: 70 # 分支覆盖率
# 性能要求
performance:
max_execution_time: 60 # 最大执行时间(秒)
max_memory_usage: 512 # 最大内存使用MB
# 代码质量
code_quality:
max_complexity: 10 # 最大圈复杂度
max_duplication: 5 # 最大重复率(%
# 安全扫描
security:
# 安全检查级别
level: "strict"
# 禁止的函数/模式
forbidden_patterns:
- "strcpy("
- "sprintf("
- "gets("
- "malloc("
# 内存安全检查
memory_safety:
check_null_dereference: true
check_buffer_overflow: true
check_memory_leak: true
# 报告生成
reporting:
# 测试报告格式
formats:
- "junit"
- "html"
- "json"
# 报告输出目录
output_dir: "test_results"
# 详细程度
verbosity: "normal"
# 环境配置
environment:
# Python版本要求
python_versions:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
# 系统依赖
system_dependencies:
- "cbmc"
- "gcc"
- "make"
# 环境变量
env_vars:
CBMC_PATH: "/usr/bin/cbmc"
FREERTOS_PATH: "/opt/freertos"
# CI/CD配置
ci:
# 并行作业
parallel_jobs: 4
# 缓存配置
cache:
enabled: true
paths:
- ".pytest_cache"
- "__pycache__"
- "node_modules"
# 构建矩阵
matrix:
os:
- "ubuntu-latest"
- "macos-latest"
python_version:
- "3.9"
- "3.10"