2015-03-23 9 views
12

Ich erhalte einen Fehler, wenn ich versuche, Tests auf XcodeServer gegen Simulator-Geräte auszuführen. Die Tests gehen manchmal für ein Gerät und für ein anderes fehl, aber das fehlerhafte Gerät ist nicht immer dasselbe. Dies kann in einer einzigen Sitzung geschehen.Xcode Server CI Bot Test Sitzung beendet (-1)

Die Protokolldatei Fehler ist wie folgt:

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 

Irgendwelche Ideen wäre wirklich hilfreich.

+0

Haben Sie eine Lösung gefunden? Ich habe auch das gleiche Problem und kann kein informatives Protokoll finden –

+0

Nicht wirklich. Es hört auf, aber ich kann nicht erklären warum. Wir haben ein Upgrade auf die neueste Version von Xcode und OS X Server durchgeführt, und wir haben auch sichergestellt, dass wir den Teardown implementiert haben, falls etwas hängen geblieben ist. Bis jetzt war es in Ordnung. – Caroline

Antwort

2

Der Simulator erfordert einen Kontext Benutzer GUI auszuführen. Wenn der Server von/Library/LaunchDaemons aus gestartet wird, wird er im Systemkontext (root) ausgeführt und hat keinen GUI-Kontext. Dies ist ein Problem, wenn Sie Atlassian Bamboo as well as Jenkins for CI verwenden. Facebook-Entwickler haben also encountered this problem with xctool.

Sie müssen den XcodeServer möglicherweise aus einem Benutzerkontext starten, d. H. Eine PLIST-Datei in ~/Library/LaunchAgents erstellen und sich ständig anmelden. Ich denke, Apple hätte dieses Problem während der Installation gelöst.

+0

Und überprüfen Sie auch, dass Sie in LaunchAgents erlauben, dass es tatsächlich in GUI-Sitzung ausgeführt wird. Ich fügte ' LimitLoadToSessionType Aqua' zu dieser launchd.plist hinzu und ließ es arbeiten! – ReDetection

+0

Wie starte ich Xcode Server von einem Benutzerkontext? –