调试
VillageSQL 服务器调试在 Linux 上使用 GDB,在 macOS 上使用 lldb。macOS 上的 GDB 需要代码签名,设置起来很麻烦——lldb 是标准的 macOS 调试器,开箱即用。Linux(GDB)
在 GDB 下运行 VillageSQL:macOS(lldb)
在 lldb 下运行 VillageSQL:运行测试
VillageSQL 包含单元测试和回归测试,以验证功能。单元测试
运行 VillageSQL 特定的单元测试(从您的构建目录中):回归测试
切换到 mysql-test 目录:—suite 与 —do-suite:
--suite=villagesql/insert运行一个子套件--do-suite=villagesql运行所有测试,包括子套件(insert、select、stored_procedure 等)--nounit-tests跳过 MTR 原本会随套件一起运行的单元测试。这些是上游 MySQL 的单元测试,其中包含已知的失败;请使用上面的单元测试命令单独运行 VillageSQL 的单元测试。
运行单个测试
通过名称运行特定的测试:更新测试结果
如果您更改了功能并需要更新预期的测试输出:测试可移植性
当测试输出包含来自测试运行程序的临时目录的路径时,请在每条会打印此类路径的语句之前添加以下指令,这样记录的结果就不会包含在其他机器上会出错的绝对路径:调试测试失败
VillageSQL 特定的日志消息(通过LogVSQL() 发出)在 --log-error-verbosity=3 时写入错误日志,MTR 默认设置该级别。要为单次运行设置该级别:
mysql-test/var/log/mysqld.1.err。使用 --parallel 时,每个工作进程改为写入 mysql-test/var/<N>/log/mysqld.1.err。
有关编写扩展回归测试,请参阅 C++ 测试。
安装二进制文件
要在系统范围内安装 VillageSQL(需要适当的权限):/usr/local/mysql/。您可以自定义安装前缀:

