2015-03-23 4 views
12

Viene visualizzato un errore durante il tentativo di eseguire test su XcodeServer da dispositivi di simulazione. I test a volte passano per un dispositivo e falliscono per un altro, ma il dispositivo in errore non è sempre lo stesso. Questo può accadere in una singola sessione.Xcode server sessione di test bot del codice X terminata (-1)

L'errore file di log è il seguente:

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 

Tutte le idee sarebbero veramente utile.

+0

Hai trovato una soluzione? Sto anche avendo lo stesso problema e non riesco a trovare alcun registro informativo –

+0

Non proprio. Ha smesso di accadere, ma non so spiegare perché. Abbiamo effettuato l'aggiornamento all'ultima versione di Xcode e OS X Server, e abbiamo anche fatto in modo di implementare il teardown in caso di problemi. Finora è stato ok. – Caroline

risposta

2

Il simulatore richiede un contesto GUI utente per l'esecuzione. Se il server viene avviato da/Library/LaunchDaemons, viene eseguito nel contesto del sistema (root) e non dispone di un contesto GUI. Questo è un problema se si utilizza Atlassian Bamboo as well as Jenkins for CI. Gli sviluppatori di Facebook hanno also encountered this problem with xctool.

Potrebbe essere necessario avviare XcodeServer da un contesto utente, ovvero creare un file plist in ~/Library/LaunchAgents e fare in modo che l'utente effettui l'accesso continuamente. Penso che Apple avrebbe risolto il problema durante l'installazione.

+0

E inoltre verificare che in LaunchAgents si permetta di eseguirlo effettivamente nella sessione della GUI. Ho aggiunto ' LimitLoadToSessionType Aqua' a quel launchd.plist e ha funzionato! – ReDetection

+0

Come avviare Xcode Server da un contesto utente? –