Skip to main content
本指南涵盖 GDB 调试、运行服务器测试套件以及参与 VillageSQL 的开发。请先从源码构建开始,获取一个可用的构建版本,然后再使用本指南。

使用 GDB 调试

为了进行开发和故障排除,您可以在 GDB 下运行 VillageSQL: Linux:
macOS:
在 GDB 内部:
用于 MySQL 调试的常用 GDB 命令:

运行测试

VillageSQL 包含单元测试和回归测试,以验证功能。

单元测试

运行 VillageSQL 特定的单元测试(从您的构建目录中):
或者运行所有单元测试:

回归测试

切换到 mysql-test 目录:
运行完整的 MySQL 测试套件(速度较慢):
仅运行 VillageSQL 特定的测试:
运行 VillageSQL 测试,包括所有子套件:
—suite 与 —do-suite:
  • --suite=villagesql 仅运行顶层 villagesql 测试
  • --do-suite=villagesql 运行所有测试,包括子套件(insert、select、stored_procedure 等)

运行单个测试

通过名称运行特定的测试:
从子套件中运行测试:

更新测试结果

如果您更改了功能并需要更新预期的测试输出:
测试记录: 始终检查 .result 文件的更改,以确保它们反映了预期的行为,而不是错误。--record 标志会盲目地覆盖预期的输出。

测试可移植性

当测试输出包含来自测试运行程序的临时目录的路径时,请在您的 .test 文件中添加以下指令,这样记录的结果就不会包含在其他机器上会出错的绝对路径:

调试测试失败

VillageSQL 特定的日志消息(通过 LogVSQL() 发出)默认情况下会被抑制。要在测试运行时将其显示在错误日志中:
完整的错误日志位于 mysql-test/var/log/mysqld.1.err 有关编写扩展回归测试,请参阅开发指南

安装二进制文件

要将 VillageSQL 系统范围地安装(需要适当的权限):
这会将二进制文件默认安装到 /usr/local/mysql/。您可以自定义安装前缀:

贡献

如果您要为 VillageSQL 做出贡献,请参阅贡献指南,了解编码标准和开发流程。