unit-testing - Valgrind 自动测试——它们在某处使用过吗?

标签 unit-testing profiling code-analysis valgrind

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

最佳答案

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

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

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

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

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

这似乎涵盖了我上面建议的使用 DejaGNU 和 Valgrind 的自动化测试

祝你好运!

关于unit-testing - Valgrind 自动测试——它们在某处使用过吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912976/

相关文章:

javascript - 模拟函数没有被 Jest 调用

javascript - Jasmine 测试多个 spy

javascript - 有没有一种方法不仅可以分析调用的频率,还可以分析调用的触发方式?

code-analysis - 有没有人为FxCop/StyleCop创建任何很酷的规则?

node.js - 使用 Mocha 和 Chai 断言测试 NodeJS 代码时,我怎么能期望从回调中抛出异常?

java - 对不遵循 SOLID 原则的类进行部分模拟(尤其是依赖注入(inject))

c++ - 有没有办法在 C++ 函数中获取函数名?

java - 关于 jrat 分析的问题

Javascript代码分析器开源代码或插件

c# - VS2017 MSBuildWorkspace fails opening with converted ASP.Net Core Web application 解决方案