Создание пакета, который запускает тесты, требующие X-сервера (debuild)

Я пытаюсь сделать пакет для srsGUI пакет для рисования графиков. Его тесты требуют X-сервер для запуска. Кажется, что все работает нормально, затем он попадает в тесты и выплевывает:

$ debuild -us -uc
...
1/8 Test #3: realplot_test_c ..................***Failed    0.01 sec
Software Radio Systems, Ltd: cannot connect to X server 
...

Все восемь тестов не пройдены. У меня работает X, я могу открыть xterm, поэтому я не думаю, что есть проблема с моей переменной DISPLAY. Я предполагаю, что песочница debuild блокирует / не проходит через X-дисплей. Должен ли я сказать, что debuild должен пройти через дисплей X, или я должен сказать, чтобы он вообще не запускал тесты?

0
задан 6 August 2019 в 20:04

1 ответ

Конечно, вы можете указать программе debuild сохранить номер дисплея X, запустив debuild -us -uc -eDISPLAY. Однако это решение не применимо к большинству пакетов Debian, поскольку они не будут собираться из среды X (которая включает не только официальные сборки Debian, но и autopkgtest, sbuild, среды pbuilder). В целом, пакет Debian должен быть успешно собран только с установленными зависимостями сборки и ни с чем другим.

Каноническое решение этой - Сборка зависит от xvfb - запустите свои тесты, завернутые в xvfb-run следующим образом (в правилах):

override_dh_auto_test:
  xvfb-run dh_auto_test

Например, посмотрите здесь репозиторий сальсы gnome-settings-daemon.

2
ответ дан 1 May 2020 в 19:04

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

Похожие вопросы: