Sqlness 测试
介绍
Sqlness 是 GreptimeDB 针对 SQL 和协议行为的端到端回归测试。每个 case 向运行中的 GreptimeDB 发送语句,并将输出与仓库中的结果文件比较。
Sqlness 手册
测试文件
每个 case 使用两类文件:
.sql:测试输入,仅包含 SQL.result:预期的测试输出,包含 SQL 和其结果
在 .sql 文件中编写输入,运行测试后生成或更新 .result。必须检查每一处结果差异,只有行为变化符合预期时才能接受。
组织测试案例
输入 case 位于 tests/cases。第一级目录选择运行环境,例如 standalone/ 表示使用单机 GreptimeDB。
在环境目录内,新 case 应与它覆盖的功能放在一起。Sqlness 会递归发现 case 文件。
运行测试
运行命令如下:
cargo sqlness bare
该命令会构建并启动 GreptimeDB、执行选中的 case,再比较输出。.result 发生变化只是待审查的结果,不代表新输出一定正确。
运行特定测试
cargo sqlness bare -t your_test
-t 或 --test-filter 选项接受正则表达式字符串。Sqlness 会检查格式为 env:case 的案例名称。