暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql-test 测试框架 简介

原创 quantumdb 2022-05-24
1681

关于mysql-test的详细描述可参考官方文档, 以及 mariaDB的官方文档 。

MySQL发行版包括一组测试案例和运行这些案例的程序。这些工具构成了MySQL测试框架 mysql-test,提供了验证MySQL服务器及其客户端程序是否按照预期运行的手段。测试用例主要由SQL语句组成,也可以使用控制定制化自己的测试用例。mysqltest执行一个测试文件,并将产生的输出与结果文件进行比较。如果文件匹配,测试通过;否则,测试失败。 

测试的整个过程由mysql-test-run.pl驱动脚本管理和监控,简称mtr。mtr脚本负责准备测试环境,创建所有要运行的测试列表,运行它们,并在最后产生报告。


在mysql的安装目录下有mysql-test文件夹。



测试用例文件和其结果文件分别存储在t和r目录中。测试文件和结果文件有相同的测试名称,但扩展名分别为 .test 和 .result。 在 t 目录下的测试用例,默认是在 main 的 测试用例集(suite)中。除了 main suite,还有 其他的 suite,位于 suite 中。



一个测试用例失败通常是如下情况之一:

1 mysqltest测试引擎检查执行测试,如果输入中SQL语句的执行失败,并且是意外的,测试用例就会失败。

2 如果预期有错误但没有发生,测试用例就会失败(例如,如果一个SQL语句成功了,而它应该失败)。

测试用例可以通过产生不正确的输出而失败。当一个测试运行时,它产生输出文件(mysql-test/var/log/测试用例名.reject 文件)。该输出与在mysql-test/r目录中发现的预期结果(.result 文件)进行比较。如果两者不同,则测试案例失败。

4 如果MySQL服务器在测试过程中意外死亡,测试案例将失败。如果发生这种情况,mysqltest测试客户端通常也会报告因失去连接而失败。

5 如果MySQL服务器在测试期间写的错误日志包括没有被 suppressed 警告或错误,测试用例将失败。 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论