Иногда Funcunit генерирует недопустимые файлы XML

Использование опции ouput для генерации xml-файла с результатами теста иногда создает испорченные xml-файлы. Команда, которую я использую для генерации результатов xml:

./js funcunit/open/phantomjs myapp/myapp_test.html -out myapp/docs/funcunit.xml

Проблемы связаны с недопустимым тегом "testcase" внутри записи "testsuite"(s) во время процесса. Все тесты выполняются, но иногда в процесс отчета добавляется только закрывающий тег "", это нарушает мою сборку при запуске с нашим CI-сервером (плагин jenkings + xunit). Проблема появляется случайно! Содержимое тестового скрипта выглядит примерно так:

steal('funcunit')
    // test modules
    .then('myapp/modules/expression/builder/builder_test.js')
    .then('myapp/modules/expression/factory/factory_test.js')
    .then('myapp/modules/expression/variable_selector/variable_selector_test.js')
    // etc ...

Все тесты пройдены, нет ошибок внутри них, нет исключений Java, нет ничего плохого, кроме поврежденных XML-файлов.

Моя среда:

  • Ubuntu 12.04 64bit (протестировано даже с 13.04 64bit)
  • PhantomJS 1.9.1 (для 64-битной платформы)
  • Дженкинс 1.505
  • XUnit 1.6.1

Любое решение?

1 ответ

Что ж, учитывая предоставленные детали, это может быть одной из следующих проблем:

  • Во входных данных есть управляющие символы, что приводит к неверному XML
  • JVM не хватило памяти
  • JVM не хватило места на диске
  • В JVM закончились процессы

Так как это происходит только периодически, это, вероятно, утечка памяти. Удачи в охоте.

Рекомендации

Другие вопросы по тегам