Valgrind 自动测试——它们在某处使用过吗?
Posted
技术标签:
【中文标题】Valgrind 自动测试——它们在某处使用过吗?【英文标题】:Valgrind automatic tests -- are they used somewhere? 【发布时间】:2009-05-26 21:59:19 【问题描述】:您认为基于 valgrind 的工具套件运行一组自动测试有意义吗?您听说过或看到过这样的设置吗?这种设置可以执行哪些自动(不受人类直觉影响)操作?
【问题讨论】:
【参考方案1】:如果您在单元测试或最终构建测试中检查内存问题/错误代码,这将是有意义的。可能有两种方法:
-
编写一个将通过其库使用 valgrind 的 API 的测试工具,几乎创建了一个自定义前端来替换 valgrind 可执行文件(看起来很头疼)
Valgrind 还可以为 memcheck 输出 XML( --xml=yes 选项)
使用 Expect http://en.wikipedia.org/wiki/Expect 自动执行命令行 valgrind 操作并检查输出
编写运行 valgrind 并 grep 输出的 shell 脚本
也许考虑将此功能添加到使用 expect 和 tcl 的 DejaGNU 之类的东西中
也许这些工具可以自动在您的跟踪器中创建错误项(尽管它可能会很快填满)。
我自己什么都没见过,但作为一个 valgrind 用户,它会很方便。如果你创造了一些很酷的东西,也许可以将它作为一个开源项目启动!
编辑 经过一番谷歌搜索后,我找到了http://www.redhat.com/f/summitfiles/presentation/June2/Developer%20Tools/Cox,Malcom_Automated%20Testing.pdf
这似乎涵盖了我上面建议的使用 DejaGNU 和 Valgrind 的自动化测试
祝你好运!
【讨论】:
以上是关于Valgrind 自动测试——它们在某处使用过吗?的主要内容,如果未能解决你的问题,请参考以下文章