Я пытаюсь сделать пакет для 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, или я должен сказать, чтобы он вообще не запускал тесты?
Конечно, вы можете указать программе 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.