如何将Purify整合到Hudson CI中?

时间:2010-03-04 09:26:22

标签: continuous-integration hudson purify rational-purify

我设置了Hudson CI系统,目前它用于构建项目和运行一些单元测试。我的下一步是将内存泄漏检测器Purify集成到构建周期中。 现在我想在purify中启动单元测试,为此我创建了一个新的批处理任务,它按照以下命令运行:

purify.exe /SaveTextData MyExecutable.exe --test TestLibrary.dll --output xml

正如我在Purify文档中读到的那样,使用/ SaveTextData选项是为了在GUI模式下运行purify。如果我在命令行中在本地工作站上运行此命令,它可以正常工作。但是如果它是由Hudson启动的,那么没有任何反应。不幸的是,没有净化的日志......

有人试图通过Hudson或任何其他CI系统开始净化吗?

提前致谢。

祝你好运

马丁

  编辑:我忘了告诉你,我有哈德森作为主人跑   奴隶在不同的电脑上。在主人上我配置了一个任务   哪个应该在奴隶净化中启动单元测试。我是   通过JNLP运行奴隶。

     

编辑18.03.2010:

好的,最后我更接近问题的根源。

我发现,在本地清除运行我的单元测试时,日志文件EngineCmdLine.log包含三个命令。

我开始使用以下命令进行净化:

purify.exe /SaveTextData TestRunnerConsoleWD.exe --test TestDemoWD.dll

手动启动净化时输出EngineCmdLine.log:

  

文件:D:\ workspace \ hudson \ workspace \ Purify_TestFW_CommonsCoreTest_Cpp_msvs9 \ TestRunnerConsoleWD.exe

     

文件:C:\ WINDOWS \ system32 \ ws2_32.dll

     

文件:D:\ workspace \ hudson \ workspace \ Purify_TestFW_CommonsCoreTest_Cpp_msvs9 \ TestDemoWD.dll

从Hudson开始时的输出:

File: D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TestRunnerConsoleWD.exe
File: C:\WINDOWS\system32\ws2_32.dll

File: D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TestDemoWD.dll

File: D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TestDemoWD.dll

purify的错误输出:

Instrumenting: 
  BtcTestDemoWD.dll 313856 bytes

Purify: While processing file > D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TESTFWWD.DLL:
Error: Cannot replace file c:\Programme\IBM\RationalPurifyPlus\PurifyPlus\cache\BTCTESTFWWD$Purify_D_workspace_hudson_workspace_Purify__TestFW__CommonsCoreTest__Cpp__msvs9.DLL.    

Is it in use?

TESTFWWD.DLL 505344 bytes


Unable to instrument D:\workspace\hudson\workspace\Purify_TestFW_CommonsCoreTest_Cpp_msvs9\TestDemoWD.dll (0x1)

问题是,为什么purify使用TestDemoWD.dll库启动两次命令?

0 个答案:

没有答案