LINUX.ORG.RU

Как запустить все QA-тесты portage без установки пакета?

 


0

1

Приветствую, ЛОР.

Поясните, пожалуйста, по QA-тестам в Gentoo. Интересуют только тесты самого портажа, не те, которые поставляются с исходниками приложения. Как я понимаю, различные QA-тесты работают на различных этапах сборки ебилда. В частности, есть те, которые отрабатывают уже после сборки из исходников (после src_compile()).

Если у меня есть собранный бинарник пакета (emerge -B), лежащий в portage/packages, то как, не устанавливая его в систему, запустить для него QA тесты, которые после src_compile()?

В более общей формулировке: как, имея ебилд, получить выхлоп всех QA-тестов (фейлов) без установки его в систему?

Если вы — мейнтейнер, научите как вы вылавливаете QA ошибки в пакетах.



Последнее исправление: cchr (всего исправлений: 2)

В частности, есть те, которые отрабатывают уже после сборки из исходников (после src_compile()).

Вот а отсюда и далее давай не про сферический ebuild в вакууме а с конкретными примерами.

Спасибо.

init_6 ★★★★★
()

…потому что для сферического ebuild-а в вакууме справедливо использование функции src_test и идет оно сразу после src_compile но до src_install а вызывается абсолютно точно так же как и любая другая функция в ebuild-е.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Хорошо.

Берем ебилд: https://139715.bugs.gentoo.org/attachment.cgi?id=374758

Это проприетарные дрова для самсунговских МФУ. Хочется иметь возможность для них прогнать все доступные портажу QA-тесты. Как это сделать без установки?

cchr
() автор топика
Ответ на: комментарий от cchr

Это проприетарные дрова для самсунговских МФУ. Хочется иметь возможность для них прогнать все доступные портажу QA-тесты.

В самом ebuild-е по твоей ссылке, если ты не заметил, нет никаких тестов вовсе. Дальше в USE флагах насколько я вижу никаких test тоже нет… Соответственно portage это будет проверять только на коллизии, на то чтобы lib для соответствующей архитектуры был бы в нужном месте и прочее самое основное…

Как это сделать без установки?

Вопрос поставлен некорректно но в любом случае ответ на него где-то там.

init_6 ★★★★★
()
Ответ на: комментарий от cchr

То есть QA-тесты собранных бинарников запускаются в src_test()?

Для идеального сферического ebuild-а в вакууме все тесты, если они действительно необходимы, обязаны быть в функции src_test.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Тестов нет, но портаж сам генерирует иногда ошибки с заголовком QA Notice о неправильных хедерах, косяками со стрипом и пр. Это тесты встроенные в сам портаж, не в приложение, которое собирается. Примеры: https://bugs.gentoo.org/buglist.cgi?no_redirect=1&quicksearch=QA Notice

Спасибо за ссылку на гугл, я там был с почти дословно таким же и другими запросами. Не нашел по делу. Страничка про QA в Gentoo wiki тоже не дает ответа.

cchr
() автор топика
Ответ на: комментарий от init_6

Меня интересуют не тесты, которые поставляются с приложением, а тесты самого портажа.

cchr
() автор топика
Ответ на: комментарий от cchr

Какие конкретно тесты тебя интересуют в приведенном примере если там тупо распаковывается собранный самсунгом бинарник и распихивается по нужным местам?

Вот тебе конкретно пример тестов со строки 240 --> src_test() А то о чем ты пишешь - про QA Notices их проверяет и генерирует ошибки сам portage… автоматически и вообще для всего что он устанавливает… т.е. эти «тесты» глобальные емнип и если я вообще хоть что-то в этом понимаю.

init_6 ★★★★★
()
Последнее исправление: init_6 (всего исправлений: 1)
Ответ на: комментарий от cchr

Меня интересуют не тесты, которые поставляются с приложением, а тесты самого портажа.

А меня интересует конкретно как именно ты собрался запускать предустановочные проверки вшитые в сам portage без установки пакета в систему?

init_6 ★★★★★
()
Ответ на: комментарий от init_6

В приведенном примере тестов (которые вызываются из src_test()) нет. Я как-то не подумал, что мы сначала говорили о разных тестах: ты о тестах, которые запускаются из src_test, а я о тестах, встроенных в портаж.

Спасибо за пример, но это не то.

Ссылка на доки в тему, это именно те тесты, о которых я и говорил с самого начала. Мне надо понять как их запустить без установки приложения.

cchr
() автор топика
Ответ на: комментарий от init_6

А почему бы и нет? Если я собираю пакет без установки (emerge -B), то все бинарники уже готовы, можно и прогнать на них QA. Хочется понять как это сделать.

cchr
() автор топика
Ответ на: комментарий от cchr

В общем случае никак

Можно конечно поизгаляться с ebuild и вручную подкинуть нужные уже установленные файлы в ${WORKDIR}../image, и потом touch-ем сказать что усё уже установлено. Но это изврат.

Pinkbyte ★★★★★
()
Ответ на: комментарий от cchr

Если я собираю пакет без установки (emerge -B), то все бинарники уже готовы, можно и прогнать на них QA.

Нет. Потому что неизвестно под какой профиль ты будешь этот пакет ставить, а некоторые тесты запускаются только в профилях разработчиков, например.

Pinkbyte ★★★★★
()
Ответ на: комментарий от cchr

Ставлю пакет в штатном режиме, с прохождением всех src_* стадий. По долгу службы надо ловить не только те QA warning о которых предупреждает portage. Есть еще QA repoman-а, да и выхлоп в процессе компиляции контролировать надо...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.