首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDash自定义动态分析

CDash自定义动态分析
EN

Stack Overflow用户
提问于 2011-04-15 10:45:02
回答 2查看 792关注 0票数 2

我正在尝试将自定义动态分析工具集成到CDash中。如KWStyle、CppCheck、视觉检漏器等。

我发现我需要生成一个DynamicAnalysis.xml文件,并从CTest脚本将它提交给CDash。

我想我知道如何将外部工具作为ctest脚本的一部分运行。

或者使用这些变量来改变ctest_memcheck()的工作方式

CTEST_MEMORYCHECK_COMMAND

CTEST_MEMORYCHECK_SUPPRESSIONS_FILE

CTEST_MEMORYCHECK_COMMAND_OPTIONS

或者通过从execute_process()命令运行该工具。

但我有点不确定该用哪一种。

我认为我面临的主要问题是,如何从自定义工具的输出中提取错误并将这些信息包含到DynamicAnalysis.xml中以提交?

我看到的极端解决方案是,我需要创建一个生成有效DynamicAnalysis.xml文件的程序。

但问题是,我不知道XML文件中DefectList元素的语法。我没有从google那里找到答案,甚至该文件的XML也没有帮助。

编辑:

看看这个:

http://www.cdash.org/CDash/viewDynamicAnalysis.php?buildid=987149

吸引我注意的是那些标签,尤其是那些空的。我不知道这些是如何从DynamicAnalysis.xml文件中得到的。也许它能追踪到任何曾经出现过的标签?我可以以某种方式创建我自己的自定义标签吗?

CDash是否根据工具类型自动创建标签?这是否阻止自定义缺陷类型?

我只是在猜测,所以问题是,我是否可以为我的自定义工具创建自定义标签,只需生成一个DynamicAnalysis.xml文件。

我突然意识到来自CppCheck (静态代码分析)的不同错误的数量是巨大的,例如与val研相比。我不太确定我是否应该使用动态分析。也许定制的构建类型(连续/实验/夜间)会更好地工作。如下所示:

http://www.cdash.org/CDash/buildSummary.php?buildid=930174

我不知道如何做到这一点,我想这需要对CDash代码进行干预吗?

哪一个会更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 06:58:17

据我所知,对于运行在cmake脚本中的测试的工具来说,动态分析就是问题所在。

对于在整个程序上运行的工具,需要定制Build.xml。

我发现可以通过使用files参数从ctest_submit命令提交这些文件。

我还发现,您可以将自定义的“构建名称”添加到连续、夜间和其他方面。

并且您可以将来自某些机器的构建设置为在这些机器下自动传输。

DynamicAnalysis下的自定义标签确实来自CDash的某个地方,我已经不记得在哪里了。

票数 0
EN

Stack Overflow用户

发布于 2011-04-15 19:39:19

如果您正在使用valgrind,您可以简单地将CTEST_MEMORYCHECK_COMMAND设置为val砂糖的完整路径,当您调用ctest_memcheck时,ctest将从valgrind输出中为您生成ctest_memcheck文件。

理解DynamicAnalysis.xml文件中可能出现的值的最好方法是分析CTest的源代码。

文件CMake/Source/CTest/cmCTestMemCheckHandler.cxx在一个名为"cmCTestMemCheckResultLongStrings“的变量中包含缺陷类型列表。在该文件中搜索对该变量的引用,以了解可能的值是什么以及它们如何用于生成"“xml元素。

编辑(获得更多信息):

通过检查CDash的源代码,您也可以很容易地看到XML元素的期望。具体来说,文件"CDash/xml_handlers/dynamic_analysis_handler.php".

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5675554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档