Buckminster: запуск плагинов JUnit тестирует без головы - PullRequest
3 голосов
/ 19 октября 2011

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

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

Я могу успешно 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.Object; @ b27cca , org.eclipse.ltk.core.refactoring_3.5.100.v20100526-0800 = [Ljava.lang.Object; @ 1ec391, org.eclipse.ui.navigator.resources_3.4.201.M20100707-0800 = [Ljava.lang.Object; @ 1b9a026, org.eclipse.debug.ui_3.6.1.v20100901_r361 = [Ljava.lang.Object; @ 1c126da, org.eclipse.ui.ide_3.6.1.M20100825-0800 = [Ljava.lang.Object; @ 1dde560, org.eclipse.team.ui_3.5.101.R36x_v20100825-0800 = [Ljava.lang.Object; @ fe10f1, org.eclipse.ui.ide_3.6.2.M20101201-0800 = [Ljava.lang.Object; @ a68c8, org.eclipse.jdt.ui_3.6.1.r361_v20100825-0800 = [Ljava.lang.Object; @ 16535fa, org.eclipse.debug.ui_3.6.3.v20101201_r362 = [Ljava.lang.Object; @ 1baec4c, org.eclipse.ui.navigator.resources_3.4.202.M20101124-0800 = [Ljava.lang.Object; @ ef965e, org.eclipse.jdt.debug.ui_3.5.0.v20100602-0830 = [Ljava.lang.Object; @ 17916a0, org.eclipse.jdt.debug.ui_3.5.2.v20100928a_r362 = [Ljava.lang.Object; @ bc7bc0, org.eclipse.equinox.p2.repository_2.0.2.R36x_v20110111-1500 = [Lorg.eclipse.osgi.service.resolver.ResolverError; @ 607cad, org.eclipse.compare_3.5.100.I20100526-0800 = [Ljava.lang.Object; @ 997c85, org.eclipse.ui.views_3.5.0.I20100527-0800 = [Ljava.lang.Object; @ be0e6e, org.eclipse.ui_3.6.1.M20100826-1330 = [Ljava.lang.Object; @ 1a5688d, org.eclipse.team.ui_3.5.102.R36x_v20110203-1036 = [Ljava.lang.Object; @ 73102f, org.eclipse.jdt.ui_3.6.2.r362_v20110203 = [Ljava.lang.Object; @ 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.r3670000_1 .lang.Object; @ 153a539, org.eclipse.swt_3.6.1.v3655c = [Ljava.lang.Object; @ 8445f7, org.eclipse.ui_3.6.2.M20110203-1100 = [Ljava.lang.Object; @ d8573, org.eclipse.ui.workbench_3.6.1.M20100826-1330 = [Ljava.lang.Object; @ 1b4776a, org.eclipse.compare_3.5.101.R36x_v20100929-0800 = [Ljava.lang.Object; @ 10bdf62, org.eclipse.swt_3.6.2.v3659c = [Ljava.lang.Object; @ 76b51c, org.eclipse.ui.workbench_3.6.2.M20110210-1200 = [Ljava.lang.Object; @ 16c6a89} ПРЕДУПРЕЖДЕНИЕ: процесс /usr/jdk/instances/jdk1.6.0/bin/java (19 октября 2011 г. 9:02:53 PM) завершен со статусом выхода 1.

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

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

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

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

Обновление

Я немного поменял вещи и теперь использую Indigo, включаю org.eclipse.rcp в целевую платформу Бакминстера и переключаю запуск 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 Ответ

1 голос
/ 21 октября 2011

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

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

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

...