3

你认为基于 valgrind 的工具套件运行一组自动测试有意义吗?您听说过或看到过这样的设置吗?这种设置可以执行哪些自动(不受人类直觉影响)操作?

4

1 回答 1

7

如果您在单元测试或最终构建测试中检查内存问题/错误代码,这将是有意义的。可能有两种方法:

  1. 编写一个测试工具,将通过其库使用valgrind 的 API,几乎创建了一个自定义前端来替换 valgrind 可执行文件(看起来很头疼)
  2. Valgrind 还可以为 memcheck 输出 XML( --xml=yes 选项)
  3. 使用Expect http://en.wikipedia.org/wiki/Expect自动执行命令行 valgrind 操作并检查输出
  4. 编写运行 valgrind 并 grep 输出的 shell 脚本
  5. 也许考虑将此功能添加到使用 expect 和 tcl的DejaGNU 之类的东西中

也许这些工具可以自动在您的跟踪器中创建错误项目(尽管它可能会很快填满)。

我自己什么都没看到,但作为一个 valgrind 用户,它会很方便。如果你创造了一些很酷的东西,也许可以将它作为一个开源项目启动!

经过一番谷歌搜索后编辑我发现http://www.redhat.com/f/summitfiles/presentation/June2/Developer%20Tools/Cox,Malcom_Automated%20Testing.pdf

正如我上面建议的那样,这似乎涵盖了使用 DejaGNU 和 Valgrind 进行的自动化测试

祝你好运!

于 2009-05-26T22:19:31.487 回答