2015-03-03 47 views
5

Próbuję uruchomić niektóre testy Travis CI, które wymagają serwera, który jest, err ... Nie bezgłowy. Jak możesz stwierdzić, wiem tak mało o tym obszarze, że nawet nie znam właściwej terminologii.Travis CI - testy LWJGL w środowisku bezgłowym?

W testach używa się LibGDX i LWJGL. Pracują dobrze na moim komputerze (system Windows 8 i Ubuntu), ale nie jest zaskoczeniem w Travis CI:

Could not initialize class org.lwjgl.Sys 
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135) 
    at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:446) 
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:118) 

mogę nic zrobić z Travisem CI, aby myśleć, że ma prawidłowe wyświetlanie? Nawet jeśli nie jest to możliwe w Travis CI, czy istnieje ogólne podejście, które mógłbym wziąć z inną maszyną wirtualną, na której mam większą kontrolę?

+0

Czy próbowałeś monitora imitację jak 'xvfb' zalecany w docs Travis CI : http://docs.travis-ci.com/user/gui-and-headless-browsers/#Using-xvfb-to-Run-Tests-That-Require-GUI-(eg-a-Web-browser)? – Rara

+0

Dzięki za wskaźnik. To nie jest naprawione moje problemy (LWJGL wydaje się nie zauważać zmiany), ale to z pewnością dało mi prowadzenie do zbadania. –

Odpowiedz

4

Można to zrobić za pomocą xvfb. W pliku travis.yml dodaj:

before_script: 
    - export DISPLAY=:99.0 
    - sh -e /etc/init.d/xvfb start 

Będziesz musiał zainstalować xvfb, jeśli jeszcze go nie masz. Może być również konieczne zainstalowanie innych bibliotek/pakietów wymaganych w testach na maszynie wirtualnej (np. W przypadku testów aplikacji internetowych potrzebna jest przeglądarka).

+0

@Deejay Chciałem się jeszcze raz z Tobą skontaktować ... Czy miałeś okazję wypróbować tego? Jaki był błąd? – GlobalVariable

+0

mam ten sam problem i spróbować tego answer.I wciąż błędzie Wyjątek w wątku „lwjgl Aplikacja” java.lang.ExceptionInInitializerError \t na com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync (LwjglGraphics.java:446) Spowodowane przez: org.lwjgl.LWJGLException: Brak rozszerzenia trybu wyświetlania – htynkn

1

Uruchomienie wirtualnego bufora ramki (xvfb) w Travis CI to za mało. Jeśli potrzebujesz OpenGL> 1.4, musisz również zainstalować libgl1-mesa-swx11, libgl1-mesa-swx11-dev.

W moim travis.yml I ustawień OpenGL i rozpocząć Xvfb z:

- sudo apt-get install -qq --force-yes mesa-utils libgl1-mesa-swx11 libgl1-mesa-swx11-dev xvfb 
- /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -screen 0 1400x900x24 -ac +extension GLX +render 

cały plik jest pod adresem: https://github.com/mwohlf/pluto/blob/master/.travis.yml