跳到主要内容
版本:1.0

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 的案例名称。