Continuous integration 如何将Purify集成到Hudson CI中?

Continuous integration 如何将Purify集成到Hudson CI中?,continuous-integration,hudson,purify,rational-purify,Continuous Integration,Hudson,Purify,Rational Purify,我已经建立了一个Hudson CI系统,目前它用于构建一个项目和运行一些单元测试。我的下一步是将内存泄漏检测器Purify集成到构建周期中。 现在我想在purify内部启动单元测试,为此我创建了一个新的批处理任务,该任务运行以下命令: purify.exe /SaveTextData MyExecutable.exe --test TestLibrary.dll --output xml purify.exe /SaveTextData TestRunnerConsoleWD.exe --te

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

purify.exe /SaveTextData MyExecutable.exe --test TestLibrary.dll --output xml
purify.exe /SaveTextData TestRunnerConsoleWD.exe --test TestDemoWD.dll
正如我在Purify文档中所读到的,/SaveTextData选项是用来运行Purify而不是在GUI模式下运行的。如果我在本地工作站上的命令行中运行此命令,它将非常有效。但如果它是由哈德逊发起的,什么也不会发生。不幸的是,没有purify的日志

有人尝试过通过Hudson或任何其他CI系统启动purify吗

提前谢谢

致意

马丁

编辑:我忘了告诉你,我已经让哈德逊成为大师级人物 不同计算机上的从机。在主机上,我配置了一个任务 应该在从机上的purify中启动单元测试。我是 通过JNLP运行从机

2010年3月18日编辑:

好的,最后我离问题的根源有点近了

我发现,在purify中运行我的单元测试时,日志文件EngineCmdLine.log包含三个命令

我使用以下命令启动purify:

purify.exe /SaveTextData MyExecutable.exe --test TestLibrary.dll --output xml
purify.exe /SaveTextData TestRunnerConsoleWD.exe --test TestDemoWD.dll
手动启动purify时EngineCmdLine.log的输出:

文件:D:\workspace\hudson\workspace\Purify\u TestFW\u commoncoretest\u Cpp\u msvs9\TestRunnerConsoleWD.exe

文件:C:\WINDOWS\system32\ws2\u 32.dll

文件:D:\workspace\hudson\workspace\Purify\u TestFW\u commoncoretest\u Cpp\u 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库中启动两次命令

您是否将Hudson作为windows服务运行?某些程序无法在服务帐户设置下运行。Hudson master正在从命令行运行。从机(我已经在我的问题中添加了此信息)运行在不同的计算机上,并通过JNLP启动。我猜当我从帐户A通过JNLP启动从机时,从机启动的应用程序将在帐户A下运行,对吗?使用帐户A登录从机并手动运行purify。你应该通过这种方式了解更多。嗯,我已经做过了。手动运行purify时,一切正常。它正在开始测试,并在最后创建一些报告。我不明白。现在,我已将从属服务器作为windows服务启动。windows服务也在使用我的帐户A,但没有任何功能。我不知道问题是什么。。。