2015-03-23 47 views
12

Simülatör aygıtlarına karşı XcodeServer üzerinde test çalıştırmaya çalışırken hata alıyorum. Testler bazen bir cihaz için geçer ve diğeri için başarısız olur, ancak başarısız olan cihaz her zaman aynı değildir. Bu, tek bir oturumda gerçekleşebilir. aşağıdaki gibiXcode Server CI Bot Session Session çıkışı (-1)

günlük dosyası hatadır:

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 

Herhangi bir fikir gerçekten yararlı olacaktır. sunucuda bu komutu başlatılması

+0

Bir çözüm buldunuz mu? Ben de aynı sorunu yaşıyorum ve herhangi bir bilgilendirici günlüğü bulamıyorum –

+0

Gerçekten değil. Olmaktan vazgeçti ama nedenini açıklayamıyorum. Xcode ve OS X Server'ın en son sürümüne geçtik ve aynı zamanda bir şeyin asılı olduğu için teardown'u uyguladık. Şimdiye kadar tamam oldu. – Caroline

cevap

2

simülatörü çalıştırmak için bir kullanıcı GUI bağlamı gerektirir. Sunucu/Library/LaunchDaemons'tan başlatılırsa, sistem (root) bağlamında çalışır ve bir GUI içeriğine sahip değildir. Atlassian Bamboo as well as Jenkins for CI kullanılıyorsa bu bir sorundur. Facebook devlerinin also encountered this problem with xctool var.

XcodeServer'ı bir kullanıcı bağlamından başlatmanız, yani ~/Library/LaunchAgents uygulamasında bir plist dosyası oluşturmanız ve söz konusu kullanıcıya sürekli olarak giriş yapmış olmanız gerekebilir. Apple'ın kurulum sırasında bu sorunun çözüleceğini düşünürdüm.

+0

Ayrıca, LaunchAgent'larda, aslında GUI oturumunda çalışmasına izin verdiğinizi kontrol edin. Bu launchd.plist'e LimitLoadToSessionTypeAqua 'ekledim ve çalıştırdım! – ReDetection

+0

Xcode Sunucusu kullanıcı bağlamından nasıl başlatılır? –