Как интегрировать Purify в Hudson CI?
У меня настроена система Hudson CI, и на данный момент она используется для построения проекта и запуска некоторых модульных тестов. Мой следующий шаг - интегрировать детектор утечки памяти Purify в цикл сборки. Теперь я хочу запустить модульные тесты также внутри cleany, и для этого я создал новую пакетную задачу, которая запускает следующую команду:
purify.exe /SaveTextData MyExecutable.exe --test TestLibrary.dll --output xml
Как я прочитал в документации Purify, параметр /SaveTextData используется для запуска очистки не в режиме графического интерфейса. Если я запускаю эту команду на своей локальной рабочей станции в командной строке, она работает отлично. Но в случае, если он запущен Хадсоном, ничего не происходит. К сожалению, нет журналов очистки...
Кто-нибудь когда-нибудь пытался начать очистку с помощью Гудзона или любой другой системы КИ?
Заранее спасибо.
С наилучшими пожеланиями
Мартин
РЕДАКТИРОВАТЬ: Я забыл сказать вам, что у меня есть Хадсон, работающий как мастер и раб на разных компьютерах. На мастере я настроил задачу, которая должна запускать модульные тесты в рамках очистки на подчиненном. Я управляю рабом через 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
Вывод ошибки очистки:
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)
Вопрос в том, почему команда cleany запускает дважды команду библиотеки TestDemoWD.dll?