Бакминстер: запуск плагина JUnit без головы

#eclipse #junit #headless #buckminster

#eclipse #junit #безголовый #бакминстер

Вопрос:

У меня есть простая настройка Hudons / Buckminster, в которой Хадсон проверяет четыре проекта плагинов Java из SVN, материализует (?) org.eclipse.platform с сайта загрузки Helios, запускает небольшое ant-задание в одном из проектов для JFlex и т. Д. (Buckminster не «видит» configure external ANT builder?, а затем Buckminster создает рабочую область.

Проекты плагинов Java также содержат feature.xml файлы с тем же идентификатором, что и у плагина (до сих пор мы использовали процесс сборки на основе ant).

Я могу успешно perform ...#site.p2 выполнить первые два, но третий по какой-то причине терпит неудачу (но здесь вопрос не в этом).

Теперь в одном из проектов есть тесты JUnit, которые я могу запускать из Eclipse Indigo, используя конфигурацию запуска плагина JUnit без головы. Примечание: по какой-то причине (потому что у нас есть функции, отсутствующие в отдельных проектах функций?), Проверка генерации зависимостей в конфигурации запуска нарушена, и я вручную настроил минимальный набор необходимых плагинов.

Теперь я запускаю эту конфигурацию запуска в Buckminster:

 junit -l com.pon.ent/junit.launch
  

и получаем:

ОШИБКА: обнаружены ошибки проверки плагина: {com.pon.ent_0.0.0.qualifier=[Lorg.eclipse.osgi.service.resolver.ResolverError;@c986d2, org.eclipse.ui.views_3.5.1.M20110202-0800=[Ljava.lang.Объект;@b27cca, org.eclipse.ltk.core.refactoring_3.5.100.v20100526-0800=[Ljava.lang.Объект;@1ec391, org.eclipse.ui.navigator.resources_3.4.201.M20100707-0800=[Ljava.lang.Объект;@1b9a026, org.eclipse.debug.ui_3.6.1.v20100901_r361=[Ljava.lang.Объект;@1c126da, org.eclipse.ui.ide_3.6.1.M20100825-0800=[Ljava.lang.Объект;@1dde560, org.eclipse.team.ui_3.5.101.R36x_v20100825-0800=[Ljava.lang.Объект;@fe10f1, org.eclipse.ui.ide_3.6.2.M20101201-0800=[Ljava.lang.Объект;@a68c8, org.eclipse.jdt.ui_3.6.1.r361_v20100825-0800=[Ljava.lang.Объект;@16535fa, org.eclipse.debug.ui_3.6.3.v20101201_r362=[Ljava.lang.Объект;@1baec4c, org.eclipse.ui.navigator.resources_3.4.202.M20101124-0800=[Ljava.lang.Объект;@ef965e, org.eclipse.jdt.debug.ui_3.5.0.v20100602-0830=[Ljava.lang.Объект;@17916a0, org.eclipse.jdt.debug.ui_3.5.2.v20100928a_r362=[Ljava.lang.Объект; @bc7bc0, org.eclipse.equinox.p2.repository_2.0.2.R36x_v20110111-1500=[Lorg.eclipse.osgi.service.resolver.ResolverError;@607cad , орг.eclipse.compare_3.5.100.I20100526-0800=[Ljava.lang.Объект;@997c85, org.eclipse.ui.views_3.5.0.I20100527-0800=[Ljava.lang.Объект;@be0e6e, org.eclipse.ui_3.6.1.M20100826-1330=[Ljava.lang.Объект;@1a5688d, org.eclipse.team.ui_3.5.102.R36x_v20110203-1036=[Ljava.lang.Объект;@73102f, org.eclipse.jdt.ui_3.6.2.r362_v20110203=[Ljava.lang.Объект; @2baa00, org.eclipse.equinox.p2.metadata.repository_1.1.0.v20100513=[Lorg.eclipse.osgi.service.resolver.ResolverError;@a5f472 , org.eclipse.ltk.core.refactoring_3.5.101.r362_v20101117-0800=[Лява.lang.Объект; @153a539, org.eclipse.swt_3.6.1.v3655c=[Ljava.lang.Объект;@8445f7, org.eclipse.ui_3.6.2.M20110203-1100=[Ljava.lang.Объект;@d8573, org.eclipse.ui.workbench_3.6.1.M20100826-1330=[Ljava.lang.Объект;@1b4776a, org.eclipse.compare_3.5.101.R36x_v20100929-0800=[Ljava.lang.Объект; @10bdf62, org.eclipse.swt_3.6.2.v3659c=[Ljava.lang.Объект;@76b51c, org.eclipse.ui.workbench_3.6.2.M20110210-1200=[Ljava.lang.Объект; @16c6a89} ПРЕДУПРЕЖДЕНИЕ: процесс /usr/jdk/instances/jdk1.6.0/bin/java (19 октября 2011 г., 9:02:53 вечера) завершен со статусом выхода 1.

Учитывая, что такие вещи, как org.eclipse.ui.views отображаются как совпадающие, например

org.eclipse.ui.просмотры: osgi.bundle/[3.5.1.M20110202-0800,3.5.1.M20110202-0800]: Найдено соответствие org.eclipse.ui.просмотры: osgi.bundle$3.5.1.M20110202-0800

Я немного в недоумении, что на самом деле отсутствует / идет не так. Я не использую какие-либо продукты для целевых платформ, кроме того, что я получаю от cquery, который получает org.eclipse.platform, и разрешение зависимостей от моих плагинов.

Любая интерпретация приветствуется!

Обновить:

Я немного изменил ситуацию и теперь использую Indigo, включил org.eclipse.rcp в целевую платформу Buckminster и переключил запуск JUnit с плагинов на функции, и все сократилось:

 Waiting for jobs to end
junit '-l' 'eu.hatsproject.absplugin/junit.launch' '-o' 'eu.hatsproject.absplugin/junit.xml' '--maxTimeAwaitJunitReport' '20'
WARN:  Process /usr/jdk/instances/jdk1.6.0/bin/java (Oct 21, 2011 6:04:32 PM) terminated with exit status 1.
Doing full workspace refresh
  

Ответ №1:

Извлеченные уроки:

  • не смешивайте и не сопоставляйте: запустите импорт Buckminster 3.7 с помощью Indigo, а не Helios update-site (неубедительно, возможно, я сделал что-то еще неправильно)
  • вставьте --stderr --stdout в junit вызов Buckminster!

Проблема заключалась в том, что конфигурация запуска содержала специфичные для платформы -X переключатели, поскольку я экспортировал ее из macOS и запускал на Solaris. Я понятия не имею, где заканчиваются эти сообщения, когда вы не используете вышеуказанные переключатели.