2013-01-14 12 views
10

Al lavoro testiamo completamente i componenti della GUI. Il problema nasce dal fatto che, mentre la suite di test è in esecuzione, i vari componenti compaiono, rubando l'attenzione o rendendo impossibile continuare a lavorare. La prima cosa che ho pensato è stata Xnest, ma mi chiedevo se c'è una soluzione più elegante a questo problema.Fake X server per i test?

risposta

9

Penso che quello che devi fare qui è eseguire i tuoi test su un Display diverso da quello su cui stai lavorando.

Quando abbiamo spostato i nostri agenti TeamCity in EC2, abbiamo dovuto trovare una soluzione per eseguire i test delle unità UI su un server Linux senza testa. Ho trovato un modo per farlo in questo blog post, che descrive come usare Xvfb.

per il mio caso, tutto quello che dovevo fare era:

  • yum install xorg-x11-server-Xvfb
  • Xvfb :100 -ac per eseguire il server. Ho aggiunto questo al mio file rc.local sui miei agenti EC2 per avviarlo all'avvio della macchina.
  • poi ho aggiunto alla mia env.DISPLAY :100 TeamCity configurazione di generazione
+0

ho provato la soluzione, ma purtroppo il mio crash test con segmentation fault. Sto usando un sacco di cose, in particolare Qt e OpenGL. Sei a conoscenza di qualcosa che potrebbe funzionare su un server X standard, ma fallisci con Xvfb? –

+1

@StefanoBorini Purtroppo no. La mia comprensione è che dovrebbe funzionare come un server X "reale", ma naturalmente potrebbero esserci problemi con l'implementazione, come con qualsiasi altra cosa. Un rapido google ha trovato questo bug: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230 Si noti che la soluzione era quella di avviare Xvfb con -extension GLX – sharakan

+0

Lo proverò domani . Grazie. Sei stato estremamente utile. –

Problemi correlati