Загрузить изображение различий с помощью CTest и CDash - PullRequest
0 голосов
/ 06 июня 2018

Для запуска автоматических тестов в приложении C ++ я бы хотел, чтобы приложение выгружало изображение и сравнивало его с базовым изображением.Я видел несколько примеров этого на различных инструментальных панелях CDash, например, на этой (ссылка может быть недействительной долго).https://open.cdash.org/testDetails.php?test=660365465&build=5407474

Мой гугл-фу не помог мне в этом, как правильно получить эту функцию?

1 Ответ

0 голосов
/ 08 июня 2018

Самый простой способ прикрепить обычные файлы к результатам теста - перечислить эти файлы в свойствах теста ATTACHED_FILES или ATTACHED_FILES_ON_FAIL.Это не тот механизм, который используется здесь.

Согласно этой записи списка рассылки , вы можете выводить специальное содержимое, подобное показанному ниже, в стандартный вывод теста, и в результате именованные файлы будутзагружено.Образец страницы результатов CDash, на которую вы ссылались, следует шаблону, подобному примеру из списка рассылки, который я воспроизвел здесь для справки (я внес одно небольшое исправление, чтобы изменить DifferenceImage на DifferenceImage2):

<DartMeasurement name="BaselineImage" type="text/string">Standard</DartMeasurement>
<DartMeasurementFile name="TestImage" type="image/png">C:/Users/.../Testing/Temporary/BoxWidget.png</DartMeasurementFile>
<DartMeasurementFile name="DifferenceImage2" type="image/png">C:/Users/.../Testing/Temporary/BoxWidget.diff.png</DartMeasurementFile>
<DartMeasurementFile name="ValidImage" type="image/png">C:/Users/.../VTKData/Baseline/Widgets/BoxWidget.png</DartMeasurementFile>

Я проверил исходный код CTest, и он сканирует тестовый вывод в поисках <DartMeasurement> и <DartMeasurementFile> тегов здесь и здесь .Они загружаются как отдельные элементы измерения в CDash, который также ищет этих конкретных имен и представляет их специально, как в примере ссылок на CDash в вопросе.

...