1 votes

Construction d'un paquet qui exécute des tests nécessitant un serveur X (debuild)

J'essaie de faire un paquet pour srsGUI un paquet pour dessiner des graphiques. Ses tests nécessitent un serveur X pour fonctionner. Tout semble se construire correctement, puis il arrive aux tests et sort :

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

Les huit tests ont échoué. J'ai X qui tourne, je peux ouvrir xterm, donc je ne pense pas qu'il y ait un problème avec ma variable DISPLAY. Je pense que la sandbox de debuild bloque/ne passe pas par l'affichage X. Devrais-je essayer de dire à debuild de passer par l'affichage X, ou devrais-je essayer de lui dire de ne pas exécuter les tests du tout ?

2voto

jpalecek Points 248

Bien sûr, vous pouvez dire à debuild de conserver le numéro d'affichage X en exécutant debuild -us -uc -eDISPLAY . Cette solution ne s'applique cependant pas à la plupart des paquets Debian, puisqu'ils ne seront pas construits à partir d'un environnement X (ce qui inclut non seulement les builds officiels de Debian, mais aussi autopkgtest , sbuild , pbuilder environnements). Dans l'ensemble, un paquet Debian devrait se construire avec succès avec seulement ses dépendances de construction installées et rien d'autre.

La solution canonique à ce problème est - Construire-dépendre de xvfb - exécutez vos tests enveloppés avec xvfb-run comme ceci (en règles ):

override_dh_auto_test:
  xvfb-run dh_auto_test

Par exemple, regardez ici le dépôt salsa de gnome-settings-daemon .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X