Как интегрировать Purify в Hudson CI? - PullRequest
3 голосов
/ 04 марта 2010

У меня настроена система Hudson CI, и на данный момент она используется для построения проекта и запуска некоторых модульных тестов. Мой следующий шаг - интегрировать детектор утечки памяти Purify в цикл сборки. Теперь я хочу запустить модульные тесты также внутри cleany, и для этого я создал новую пакетную задачу, которая запускает следующую команду:

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

Как я читал в документации Purify, опция / SaveTextData используется для запуска очистки не в режиме графического интерфейса. Если я запускаю эту команду на своей локальной рабочей станции в командной строке, она работает отлично. Но в случае, если он запущен Хадсоном, ничего не происходит. К сожалению, нет журналов очистки ...

Кто-нибудь когда-нибудь пытался начать очистку с помощью Хадсона или любой другой системы CI?

Заранее спасибо.

С наилучшими пожеланиями

Martin

РЕДАКТИРОВАТЬ: Я забыл сказать вам, что у меня Хадсон работает как мастер и раб на разных компьютерах. На мастере я настроил задачу который должен начать модульные тесты в рамках очистки на подчиненном. я работа ведомого через 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)

Вопрос в том, почему clean дважды запускает команду с библиотекой TestDemoWD.dll?

...