2015-03-23 27 views
12

Otrzymuję błąd podczas próby uruchomienia testów na XcodeServer na urządzeniach symulacyjnych. Testy czasami przechodzą na jedno urządzenie i kończą się niepowodzeniem dla innego, ale wadliwe urządzenie nie zawsze jest tym samym. Może się to zdarzyć podczas jednej sesji.Serwer Xcode Zakończono sesję testu botów (-1)

Błąd pliku dziennika jest następująca:

2015-03-23 10:44:11.029 Initializing test infrastructure. 
2015-03-23 10:44:11.029 Writing testing status log to /Library/Developer/XcodeServer/Integrations/Integration-7e6e54f21a2fd25cddc9df0436cb3688/Session-2015-03-23_10:44:10-tH1BD4.log. 
2015-03-23 10:44:28.676 Launch session started, setting a disallow-finish-token on the run operation. 
2015-03-23 10:44:30.352 Adding console adaptor for test process. 
2015-03-23 10:44:39.566 Creating the connection. 
2015-03-23 10:44:39.567 Listening for proxy connection request from the test bundle (all platforms) 
2015-03-23 10:44:39.567 Resuming the connection. 
2015-03-23 10:44:39.567 Test connection requires daemon assistance. 
2015-03-23 10:44:39.568 Checking test manager availability..., will wait up to 120s 
2015-03-23 10:45:05.253 testmanagerd handled session request. 
2015-03-23 10:45:05.254 Waiting for test process to check in..., will wait up to 120s 
2015-03-23 10:46:47.578 Test operation failure: Test session exited(-1) without checking in. 
2015-03-23 10:46:47.645 _finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Test session exited(-1) without checking in." UserInfo=0x7f8be43e40c0 {NSLocalizedDescription=Test session exited(-1) without checking in.} didCancel: 1 

Wszelkie pomysły byłoby bardzo pomocne.

+0

Czy znalazłeś rozwiązanie? Też mam ten sam problem i nie mogę znaleźć żadnego informacyjnego dziennika –

+0

Niezupełnie. Przestaje się dziać, ale nie potrafię wytłumaczyć dlaczego. Przeprowadziliśmy aktualizację do najnowszej wersji Xcode i OS X Server, a także upewniliśmy się, że zaimplementowaliśmy odrzucenie czegoś, co zwisa. Jak dotąd wszystko było w porządku. – Caroline

Odpowiedz

2

Symulator wymaga kontekst GUI łatwy do uruchomienia. Jeśli serwer jest uruchamiany z/Library/LaunchDaemons, to działa w kontekście systemowym (root) i nie ma kontekstu GUI. Jest to problem w przypadku korzystania z Atlassian Bamboo as well as Jenkins for CI. Twórcy Facebooka mają also encountered this problem with xctool.

Może być konieczne uruchomienie XcodeServer z kontekstu użytkownika, tj. Utworzenie plist pliku w ~/Library/LaunchAgents, i aby ten użytkownik był ciągle zalogowany. Myślę, że Apple miałby ten problem rozwiązany podczas instalacji.

+0

A także sprawdź, czy w LaunchAgents zezwoliłeś na to, aby faktycznie działał w sesji GUI. Dodałem ' LimitLoadToSessionType Aqua' do tego launchd.plist i działało! – ReDetection

+0

Jak uruchomić Xcode Server z kontekstu użytkownika? –