7 Commits

Author SHA1 Message Date
xfy911
fb457e35ec test(server): 新增服务器核心 null 安全与生命周期测试
- test_create_null_config: NULL config 返回 NULL
- test_create_null_root_dir: 无 root_dir 提前返回 NULL
- test_stop_null / test_destroy_null: NULL 指针不 crash
- test_create_and_destroy: 正常创建+停止+销毁生命周期(高位端口避免冲突)
- Makefile: 添加 test_server 编译规则,链接全部依赖 + libcoco
2026-06-04 00:26:29 +08:00
xfy911
19c97ae6a9 test(config): 补充边界与异常路径测试
- test_load_invalid_field_type: 字段类型非法(port 为字符串),验证不 crash
- test_load_log_level_invalid: 非法 log_level 值保持默认 INFO
- test_load_nested_ignored: 嵌套对象——极简解析器返回 false 但不 crash
- test_load_array_ignored: 数组——同上,不 crash 即可
- test_merge_cmdline_null_root_dir: cmdline root_dir 为 NULL 时不覆盖 base
2026-06-04 00:24:29 +08:00
xfy911
c78086f2e5 test(log): 补充日志输出过滤与调用稳定性测试
- test_log_calls_no_crash: 直接调用 log_error/warn/info/debug 确认不崩溃
- test_log_level_filter: 用 pipe 重定向 stderr,验证 ERROR 级别下 INFO 被过滤、ERROR 正常输出
- 修复缺失 string.h 头文件警告
2026-06-04 00:23:10 +08:00
xfy911
e5bfc75d98 chore: 删除误提交的编译产物
- tests/unit/test_{config,http,log,static} 是编译生成的二进制文件
- 不应纳入版本控制,已通过 .gitignore 规避
2026-06-04 00:18:36 +08:00
xfy911
df8707ea69 test(multipart): 新增 multipart 解析单元测试
- test_multipart.c (Unity 框架):
  - test_extract_boundary: 提取带引号和不带引号的 boundary
  - test_parse_simple: 单文件上传解析
  - test_parse_multi: 多字段混合(文件 + 普通字段)
  - test_parse_empty: 空 body / 无效 boundary 的错误处理
- 覆盖正常/异常路径,验证内存正确释放
2026-06-04 00:18:25 +08:00
xfy911
3c521823b1 feat(tests): 添加 config 和 log 模块单元测试 + http.c 缓冲区溢出防护
- 新增 test_log.c: 8 个测试覆盖日志级别 getter/setter、前缀设置、持久化
- 新增 test_config.c: 11 个测试覆盖 JSON 配置加载、注释支持、错误处理、merge 覆盖逻辑
- http.c: 修复 response header 格式化中的 snprintf 边界条件,防止缓冲区溢出
- Makefile: 添加 test_log、test_config 编译规则,更新 .PHONY 列表
2026-06-04 00:02:18 +08:00
xfy911
d5b8782a1b feat: 添加 Unity 单元测试框架
- 引入 Unity 测试框架 (ThrowTheSwitch)
- 创建 test_http.c (35 个测试): 请求解析、响应格式化、MIME 类型、内存管理
- 创建 test_static.c (31 个测试): 压缩判断、时间处理、ETag、路径安全、HTML 转义、gzip、socket 层
- 更新 Makefile: make unit-test 一键编译运行
- 66 个测试全部通过,集成测试保持 30 项通过
2026-06-03 23:53:22 +08:00